perl6-projects.org/ | nopaste: sial.org/pbot/perl6 | evalbot: 'perl6: say 3;' | irclog: irc.pugscode.org/ | ~290 days 'til Xmas Set by mncharity on 6 March 2009. |
|||
szabgab | thanks | 00:00 | |
but wait, here TOP is a special word, isn't it ? | 00:02 | ||
wayland76 | Shouldn't be any more | ||
rakudo: grammar example { rule fred { ^ \d+ $ } }; say example.parse("12") | 00:03 | ||
p6eval | rakudo 95ce39: OUTPUT«The grammar has no TOP rule to invoke.current instr.: 'die' pc 16039 (src/builtins/control.pir:204)» | ||
wayland76 | ok, in rakudo it is, in the Spec, no longer | ||
szabgab | rakudo: grammar example { rule fred { ^ \d+ $ } }; say example.fred.parse("12") | ||
p6eval | rakudo 95ce39: OUTPUT«Null PMC access in get_integer()current instr.: 'parrot;PGE;Match;new' pc 75 (compilers/pge/PGE/Match.pir:75)» | ||
00:07
DemoFreak left
00:15
orafu joined
00:22
armagad joined
00:28
japhb joined
00:31
bacek_ left
00:44
PerlJam left,
PerlJam joined
00:49
eternaleye joined
00:51
wknight8111 left
|
|||
pmichaud | afaik, TOP is still "special" in a grammar. If it's been taken out of the spec, then that's by accident. | 00:54 | |
We still need some way to indicate the "default" rule for a grammar; I think TOP is it. | |||
The part that the spec was supposed to clarify was that matching against a grammar would be done with .parse instead of with ~~ | 00:55 | ||
TimToady | because a grammar is a class, and ~~ class does isa | ||
I suppose there's something to be said for just calling the first rule in the grammar | 00:58 | ||
unclear how that works with derived grammars though | 00:59 | ||
wayland76 | Well, the word TOP doesn't appear in the specs any more | 01:03 | |
TimToady | well, .parse can do whatever it likes, and can be overridden; in fact, in STD, it calls comp_unit rather than TOP, as it happens | 01:04 | |
frooh | Hey all | 01:08 | |
how can I make (with git?) and submit a patch | |||
pmichaud | I'm not entirely sure yet what the process is for creating a patch. | 01:20 | |
frooh | pmichaud: it's really simple; like, three commits, 6 lines of code | 01:21 | |
I can send you a pull request? | |||
or is that kindav a mess? | |||
pmichaud | it's a mess if the request involves a lot of separate commits. | ||
frooh | hrm | ||
pmichaud | where "a lot" == "more than one" | ||
frooh | right | ||
and this *is* three | |||
pmichaud | what we're really wanting to have happen is for people to do --squash to convert multiple commits into a single commit to facilitate review. | 01:22 | |
but I'm not exactly sure how to do that. | |||
frooh | pmichaud: ok | ||
pmichaud | reading now. | ||
frooh | I'll figure out how to squash it into one commit | ||
you can do more important things :-) | |||
01:25
viklund left,
viklund joined
01:26
diakopter left,
diakopter joined,
nihiliad joined
01:28
frooh_ joined
|
|||
frooh_ | so fyi | 01:29 | |
doing git rebase -i (supposed to make it easy to squash) can't be easily done if you push your changes to any repo | 01:30 | ||
am I still here, or did I lose connection to freenode again? | 01:33 | ||
wayland76 | I think I am, therefore I may be :) | ||
frooh_ | apparently so | ||
TimToady | you sound here to me | ||
frooh_ | excellent | ||
TimToady | or there, as the case may be | 01:34 | |
I'm just quite because I don't "git" it yet | |||
frooh_ | close enough to me | ||
yeah | |||
me neither apparently | |||
TimToady | *quiet | ||
frooh_ | and I am the git admin at work :-) | ||
great | |||
wayland76 | Did you see the link that masak sent out about git? | ||
The one that explains about index? | |||
frooh_ | don't think so | 01:35 | |
one sec | |||
wayland76 | (although, if you're the git admin, you probably know about index) | ||
frooh_ | I rarely read the list during the week | ||
wayland76: not really | |||
my team still uses svn | |||
so I can't get the nitty gritty stuff very often | |||
wayland76 | Google "git from the bottom up" | ||
frooh_ | I think I've read that | 01:36 | |
wayland76 | That's the one masak said helped him understand git | ||
ok. The one that helped me the most was tomayko.com/writings/the-thing-about-git | |||
frooh_ | I should read this, but I think git format-patch will get me going too | ||
wayland76 | But that was only after reading "git from the bottom up" | ||
good :) | 01:37 | ||
frooh_ | well, I understand the concepts of git | ||
and I know what I did wrong | |||
etc | |||
I just wish I had known not to do it first | |||
er | 01:38 | ||
rather | |||
wayland76 | oh :) | ||
frooh_ | I wish I knew how to fix it | ||
very funny | |||
wayland76 | "The thing about git" talks about that, but not in the way you want, I think | ||
(what's funny?) | |||
frooh_ | yeah, I noticed | ||
well | |||
that article says this: | 01:39 | ||
Git means never having to say, “you should have” | |||
and I said | |||
20:37 < frooh_> I just wish I had known not to do it first | |||
so you know | |||
clearly I am wrong | |||
wayland76 | ok :) | ||
I see the funniness now :) | |||
I wonder what they'd say to that on #git? | |||
01:40
Khisanth joined
|
|||
frooh_ | good question wayland76 | 01:43 | |
I'll find out | |||
got it | 01:54 | ||
so what exactly do I do with the patch? | |||
wayland76 | I presume you've read wiki.github.com/rakudo/rakudo/steps...te-a-patch | 01:59 | |
frooh_ | I did | ||
wayland76 | ...and that it's rakudo you're patching | ||
frooh_ | it actually only says how to make a branch | ||
ah, phone | 02:00 | ||
wayland76 | No, it tells you how to send the diff | ||
Unlike svn, et. al., you don't e-mail these things | |||
02:00
agentzh joined
|
|||
wayland76 | oh, wait, you're right | 02:01 | |
frooh_ | yeah, it's kinda weird | ||
ok, I have to take this call | |||
wayland76 | but I know the answer | ||
frooh_ | I plan on adding it to the wiki when I am done | ||
wayland76 | When I submitted a patch for masak the other day for november, he said 'commit, push and then do a "pull request" through the web interface.' | ||
So you commit back to your own fork in the repo (commit+push) | 02:02 | ||
and then you go to the web interface and do a "pull request" | |||
HTH | |||
02:07
junzi joined
02:11
hercynium joined
|
|||
diakopter | here goes nuthin | 02:17 | |
frooh_ | back | 02:18 | |
well shucks | |||
since I modified history it won't let me push | |||
02:18
alc joined
|
|||
wayland76 | ouch. | 02:19 | |
frooh_ | I'll figure it ot | ||
wayland76 | Good :) | ||
pugs_svn | r25778 | diakopter++ | [ironperl] - initial checkin | 02:20 | |
r25778 | diakopter++ | new/amateur experimental backend for STD/viv | |||
r25778 | diakopter++ | written in C# on the tycho VM on the Mono VM | |||
r25778 | diakopter++ | see v6/ironperl for details. It currently | |||
r25778 | diakopter++ | doesn't build :D; watch this space for updates | |||
frooh_ | huttah! | 02:21 | |
who should I send the pill request to? | 02:25 | ||
everyone? | |||
nm | |||
rakudo probably | |||
wayland76 | pmichaud I'd imagine | 02:26 | |
frooh_ | he's not on the list | ||
so I suppose he is rakudo | |||
wayland76 | ok | ||
probably | 02:27 | ||
pugs_svn | r25779 | diakopter++ | [ironperl] modified v6/README; added AL2 license to IronPerl src | 02:28 | |
frooh_ | btw | 02:33 | |
HAPPY PURIM EVERYONE! | |||
not that that's exciting for many people | 02:34 | ||
but still :-) | |||
wayland76 | ...and boo to Haman :) | ||
Maybe for Purim we should make a poly-Esther Parrot build | 02:35 | ||
frooh_ | exactly | ||
wayland76 | (if you'll excuse the double pun :) ) | ||
frooh_ | I dug it | ||
TimToady | I wonder if we could work out an imperial decree that all Perl people are allowed to kill their enemies on a certain day... | ||
frooh_ | doubtful | ||
wayland76 | only one drawback... | ||
frooh_ | we'd have to be attempted to be killed first | ||
wayland76 | ...Perl people don't have enemies | ||
frooh_ | probably by Java AND php people | ||
TimToady | trooh | ||
diakopter | TimToady: wouldn't that be mass suicide? | 02:36 | |
frooh_ | and I think there are more of them | ||
wayland76 | oh yeah, forgot them | ||
SamB | what about #python? | ||
frooh_ | I didn't know they hated perl | ||
SamB | though nowadays those people might be the enemies of #twisted even ... | ||
wayland76 | Isn't the python motto "There's only one way to do it"? | ||
SamB | #python is in the toilet | ||
frooh_ | that's a good point | 02:37 | |
SamB | wayland76: it's not true | ||
frooh_ | TOOTDI | ||
02:37
kjwcode joined
|
|||
frooh_ | haha | 02:37 | |
wayland76 | Seems I was misinformed | ||
SamB | but they don't usually create two ways to do exactly the same thing | ||
frooh_ | I thought they were like that too | ||
SamB | wayland76: I didn't say it wasn't a motto | ||
just that there IS more than one way to do it | |||
diakopter | "there's not always a better way to do it" | 02:38 | |
frooh_ | There should be only one way to do it | ||
tsboowtdi | |||
... | |||
weird | |||
Taz Booty? | |||
SamB | diakopter: too bad it's undecidable whether or not there is one! | ||
wayland76 | tish-booty? | ||
Hmm :) | |||
frooh_ | is tish a general term down ther? or is it just a name like here? | ||
wait | 02:39 | ||
is tish a name? | |||
I am thinking trish | |||
SamB | it could be a shell for calculators ? | ||
frooh_ | nice! | ||
wait | |||
tish-booty? | |||
hmmm | |||
wayland76 | tish is the noise you get when someone goes "boom-tish" | ||
SamB | tish, I mean | ||
wayland76 | (as in, drum-roll) | ||
diakopter | SamB: :) | ||
frooh_ | SamB: I got it, I just think it doesn't go with booty | 02:40 | |
SamB | oh, sure ;-) | ||
frooh_ | is that like, when you impress a girl with your calculator? | ||
wayland76 | which booty, though :) | ||
frooh_ | because I am pretty sure that never happens | ||
I've tried | |||
diakopter | SamB: I don't know, I thought it was undecidable whether or not it was undecidable. | ||
wayland76 | Actually, I read an article about a guy who impressed a girl with Excel :) | ||
SamB | frooh_: that's only because it can't play Ocarina of Time yet | ||
frooh_ | mmm | 02:41 | |
indeed | |||
02:41
orafu left
|
|||
wayland76 | I'd kind of assumed that tish-booty would be a "friendly slap", or something like that | 02:42 | |
frooh_ | I like that | ||
that works | |||
frooh_ goes to announce the news to #python | |||
wayland76 | (ie. "tish", a drum-like noise, "booty", slang for "body") | ||
:) | |||
frooh_ | (hah, not really) | ||
SamB | what news ? | 02:43 | |
wayland76 | I was just about to go there and see what their response would be :) | ||
SamB | anyway, don't go in there | ||
frooh_ | that their slogan is now Tish Booty | ||
diakopter | I thought "tish" was nick for "Morticia [Adaams]" | ||
frooh_ | I won't | ||
SamB | I like Python okay, and I *still* don't want to go in there | ||
frooh_ | they'll make my indent all my code their way | ||
and that scares me | |||
plus: snakes | |||
SamB | the whole place just seems to reek of idiocy these days :-( | 02:44 | |
s1n | wayland76: what was the reasoning for shortening real to re and imaginary to im? | ||
TimToady | and #perl is the pinnacle of enlightenment? | ||
s1n | i mean, what the hell does $number.im mean? | ||
TimToady | it's standard | 02:45 | |
SamB | TimToady: I mean, compared to the #python I used to know | ||
wayland76 | s1n: See IRC backlog | ||
s1n | what day? | ||
wayland76 | Basically, it's the way maths people do it | ||
s1n: today | |||
I think | |||
I'll find it for you | |||
SamB | the community just fell to pieces at some point, I guess | ||
TimToady | I was about to suggest changing to .re and .im when they beat me to it :) | ||
kjwcode | Is it .real and .imag in Perl 6? | 02:46 | |
TimToady | it's .re and .im like it is in a lot of other languages :) | ||
wayland76 | I remember when comp.lang.perl.misc started going downhill too | ||
SamB | all the cool kids just up and moved to other channels | ||
s1n | TimToady: perl6 isn't like a lot of other languages usually though :) | ||
TimToady | it is when they got the huffman coding right | ||
SamB is glad #haskell is still doing okay | 02:47 | ||
wayland76 | s1n: yesterday's log, apparently | ||
TimToady | like changing -> to . for instance | ||
wayland76 | The problem is, once it's popular enough that stupid people can use it, they do. I mean, I'm the stupid people here, which is an unusual but pleasant experience for me :) | 02:48 | |
SamB | hmm, where I am we use Re[] and Im[] ... I think | ||
(of course, that's my DSP class, not a programming language ...) | |||
wayland76 | s1n: Discussion at 21:43 yesterday | ||
search for "Complex" | |||
frooh_ | #perl on perl.org or whatever is pretty bad | 02:50 | |
they never talk about perl | |||
and their topic says no questions | |||
it's awesome? | |||
we should do that | |||
just talk about python | |||
and no one can ask questions about anything related to perl6 | |||
TimToady | python in intrinsically questionable | ||
wayland76 | No questions? What's the point? | ||
TimToady | why do you ask? | 02:51 | |
frooh_ | wayland76: I dunno...so we can be like perl on perl.org? | ||
haha, clever | |||
TimToady | you lose, we were playing the question game | ||
you question authority, I just authorize questions | 02:53 | ||
frooh_ | yeah, I got it | ||
TimToady | speaking of R&G, I was the one who flipped heads ten times in a row when we were studying probablility in high school... | 02:54 | |
s1n | eh, i don't really buy the reasoning (i prefer clarity over huffmanization), but then again what do i know | ||
TimToady: you should've bought a lotto ticket, at least you'd win your money back :) | 02:55 | ||
frooh_ | I agree with s1n in this case...huffman should be for often used things. I think im is awesome, but I doubt I'll use it once in real code | ||
TimToady | if you do use it, you use it a lot | ||
frooh_ | well, I am sure you know better than I do | ||
s1n | i'd be willing to bet that more often than not people will mistake .re for a regex or something | ||
TimToady | if you don't, it's just a method on Complex | ||
if you've got Complex declarations all over your code, I don't think so. | 02:56 | ||
pugs_svn | r25780 | diakopter++ | [ironperl] updated TODO | ||
r25780 | diakopter++ | - forking the source of the NPEG project, a PEG | |||
r25780 | diakopter++ | (Parsing Expression Grammar) builder that | |||
r25780 | diakopter++ | implements packrat parsing and allows defining | |||
r25780 | diakopter++ | a grammar incrementally, perhaps with callbacks. | |||
r25780 | diakopter++ | Might be useful for an RE-ish engine; we'll see. | |||
TimToady | especially when it says things like $x.re == 0 | ||
frooh_ | in other news, I just updated wiki.github.com/rakudo/rakudo/steps...te-a-patch to actually include how to send the patch and how to make it a single commit | ||
pugs_svn | r25780 | diakopter++ | NPEG is MIT-ish licensed. | ||
frooh_ | the name needs to be changed, but I can't figure out how | 02:57 | |
wayland76 | name of what? | ||
frooh_ | Steps To Create a Patch | ||
wayland76 | Ok | ||
frooh_ | it's not really ever a patch | ||
s1n | frooh_: oh thank god! someone finally put instructions to create a single commit! | ||
wayland76 | I know, but it's what people will be looking for :) | 02:58 | |
frooh_ | s1n: welcome :-) | ||
wayland76 | oh, yeah, frooh_++ :) | ||
frooh_ | wayland76: that's true. and I'm cool with that. I'm just saying | ||
s1n | rebase -i, man i had wasted a week trying to maintain my fork | ||
frooh_ | s1n: if you've already done a push to your own repo it's kindav a big hassle, but can still be taken care of | ||
s1n | frooh_: so basically, anytime i want to update my fork to the master upstream, do i need to do the rebase? | 02:59 | |
frooh_ | I should make a note of that | ||
uh | |||
well, that's kindav a hard question | |||
because it will pollute the single commit a lot | |||
s1n | frooh_: it's kinda something i want to do frequently | ||
frooh_ | sooh | 03:00 | |
er | |||
03:00
Limbic_Region left
|
|||
frooh_ | sorry | 03:00 | |
s1n | i want to say up to date without having commit access | ||
frooh_ | I'd say, update the fork | ||
s1n | frooh_: how? | ||
frooh_ | just don't merge into the brnach for whatever the feature | ||
03:00
junzi left,
aindilis left,
oskie joined
|
|||
s1n | hmm, not sure i followed, specific directions would be nice :) | 03:00 | |
frooh_ | s1n: git pull origin (or whatever you named the rakudo origin) | ||
s1n: maybe I should add another page... | |||
I'll do that | |||
03:01
aindilis joined
|
|||
frooh_ | I'll call it: "Frew's Recommended Workflow" | 03:01 | |
and if it's good you can promote it to The | |||
:-) | |||
s1n | frooh_: yes, for those of us who want to do development but don't have commit access, it's nice to still be able to pick up upstream changes so i can get bugfixes and other highly useful things :) | ||
frooh_ | s1n: of course | 03:02 | |
s1n | great because i basically had my commits ignored doing it the old way | ||
frooh_: can you put it on the rakudo page? | 03:03 | ||
frooh_ | uh, I was gonna put it in the github rakudo wiki | ||
I don't have a rakudo.org login yet | 03:04 | ||
can someone else just copy paste or link or something? | |||
03:04
teban joined
|
|||
wayland76 | Did you rename it? | 03:04 | |
What's the new link? | 03:05 | ||
frooh_ | wayland76: no, but I am making a new article now | ||
for a workflow | |||
well, it's not done | |||
I started like, 2 minutes ago | |||
wayland76 | Ok, I can add the link for that when it's useful (not done, but useful :) ) | ||
frooh_ | haha, k | ||
s1n | frooh_: i can repost on the rakudo site if you want | ||
frooh_ | either is fine | ||
I'll let you know when it's done | |||
pugs_svn | r25781 | diakopter++ | [ironperl] adding C# command-line options library (styled/modeled from Getopt::Long) | 03:06 | |
s1n desperate to know a good workflow so commits will be noticed | |||
wayland76 | But I'd advise you to sign up for a rakudo account, and ask alester for write access | ||
frooh_ | wayland76: sure, lemme finish this firs | ||
wayland76 | because we want rakudo.org to be the central clearing place | ||
frooh_ | s1n: I haven't been noticed, but I've only done one thing | ||
wayland76 | frooh_: sure, I mean over the next day or two | ||
03:06
SamB left
|
|||
frooh_ | no problem | 03:07 | |
03:07
SamB joined
|
|||
s1n | frooh_: i haven't been noticed and i've kinda been trying for almost a year :( | 03:08 | |
frooh_ | s1n: that's discouraging | ||
for more than just you | 03:09 | ||
s1n | well, i'm determined... i mean i'm on year three of my master's and still have another year, so i definitely have patience | 03:10 | |
frooh_ | hahaha, well, if you have the endurance for it I am sure you can pull it off | ||
s1n | i hope my determination to help doesn't run dry though | ||
frooh_ | I think that things are going to get easier for committing | ||
s1n | we'll see, i've been hearing that for a year :) | 03:11 | |
frooh_ | a bunch of random people got added in the past couple days | ||
see the commit log in rakudo | |||
so I think it's going to happen more often | |||
s1n | those random people probably already had parrot access | ||
frooh_ | nope | ||
s1n | i read the RSS commit feed :) | ||
frooh_ | pmichaud did the commits | ||
then you should have seen it | |||
03:11
teban left
|
|||
frooh_ | lemme find it | 03:11 | |
s1n didn't see it... | |||
frooh_ | I could be wrong... | ||
it happens | 03:12 | ||
wayland76 | I'm interested in seeing too :) | ||
frooh_ | ah shucks | ||
that was just doc | |||
s1n | ah | 03:13 | |
frooh_ | sorry | ||
s1n | yeah, pugs repo access is handed out like candy | ||
but rakudo is basically just people who already had parrot | |||
frooh_ | I know | ||
well, pmichaud said that it would be a lot easier to add stuff if they were squashed into one commit, as then he could easily review them | 03:14 | ||
s1n | i don't think i'd be any good at designing the language, just implementing it | ||
great, then that's how i'm doing to do things :) | |||
frooh_ | I don't know if I will be good at either | ||
but it can't hurt to try! | |||
03:15
Jackk joined
|
|||
wayland76 | Well, I'm no good at designing the language, but I do it anyway :) | 03:16 | |
Jackk | what language is perl6 coded in | 03:17 | |
wayland76 | Perl6 is a spec, not a language | ||
kjwcode | Jackk: Depends on the implementation. | ||
wayland76 | people are writing 4 different implementations in 4 languages | ||
rakudo rides on parrot, and is a combo of PIR and perl6 | 03:18 | ||
I think SMOP might be in C? Anyone? | |||
pugs is in Haskell | |||
kjwcode | C or C++, IIRC. | ||
wayland76 | I forget what elf is in -- perl 6 again? | 03:19 | |
frooh_ | yeah | ||
kjwcode | SMOP is in C, according to the wiki. | ||
wayland76 | And ironperl is in F# or something | ||
but ironperl is very new | |||
diakopter | elf is in Perl 6 on an alphabet of bootstrappers, ruby in the mix somewheres | ||
wayland76 | ok. | ||
diakopter | ironperl is C#, though F# libraries welcome too... it's barely in its infancy. | ||
wayland76 | does that answer your question, Jackk? | 03:20 | |
And did you have a specific reason for wanting to know? | |||
Jackk | Just curious | ||
and yes | |||
I'm just surprised it's coded in more than one language | 03:21 | ||
wayland76 | oh, and there's an official parser/lexer implemented in Perl6 | ||
rakudo, and maybe the others, will adopt the official parser/lexer as soon as they can | |||
Well, in many ways, there's more chance of success that way | 03:22 | ||
s1n | rakudo is a mix of many pieces, PIR, perl6, NQP, and some C | ||
wayland76 | s1n will be right -- ignore what I said about rakudo :) | ||
s1n | wayland76: will? i am currently, go look :) | ||
wayland76 | s1n: figure of speech :) | 03:23 | |
s1n | wayland76: heh okay | ||
pugs_svn | r25782 | diakopter++ | [ironperl] updated TODO, again | ||
s1n | what's the saying, it takes a village to raise an idiot? no that's not it... it takes a hodge-podge of languages to create a new language? something like that | 03:24 | |
wayland76 | I like the first one better :) | ||
But after Perl6 is done, it'll be more like "One language to rule them all..." :) | 03:25 | ||
kjwcode | wayland76: No language has pulled that off yet, and I don't expect it soon. :) | ||
s1n | not a good idea, something was said like that for java and look how that worked out | 03:26 | |
kjwcode | (And it's not for lack of trying, either. Java, I'm looking at you!) | ||
pugs_svn | r25783 | diakopter++ | [ironperl] added a bunch of object extensions | ||
SamB | kjwcode: I thought it was more like "one JVM to run all languages" | ||
frooh_ | which is closer to true than any other attempts at it | ||
kjwcode | SamB: Practically, it's "write once, debug everywhere". | ||
s1n | SamB: that was the .Net vm | ||
SamB | s1n: well, yes, .NET was made that way intentionally -- but Java is sorta that way too ... | 03:27 | |
wayland76 | s1n: Yeah, i was more thinking of for writing languages, though. Perl6 combines the appropriate features of lex, yacc, and of course backend. | ||
frooh_ | perl first took a bunch of unix stuff | ||
now it's taking even more! | 03:28 | ||
(but more prettily :-) | |||
kjwcode | When it comes to writing language implementations, O'Caml is pretty sweet as well. | ||
SamB | ocaml would be sweeter if it weren't so damn ugly :-( | ||
frooh_ | but perl6 isn't for lang implementations. Extensions of perl will be languages | ||
SamB: agreed | |||
03:28
nihiliad left
|
|||
kjwcode | Definitely, SamB. I'm no good at O'Caml -- I just play with it occasionally. | 03:29 | |
SamB isn't sure he likes the mutation either | |||
s1n | perl5 does one thing and does it well: process text and automate tasks | ||
hopefully perl6 will do much more :) | |||
SamB | I think most of the caml code I've seen was in Coq | ||
kjwcode | s1n: Perl 5 does a heck of a lot more than that. For example, the BioPerl people would probably like a word with you. ;) | 03:30 | |
s1n | SamB: caml coq? | ||
kjwcode | s1n: It's about as appealing. ;) | ||
SamB | that is, part of the Coq theorem prover | ||
s1n | kjwcode: i know about bioperl (i wrote the new mummer module), it's still mostly text processing :) | ||
SamB | s1n: I think it meens, er, Rooster or something ... | ||
frooh_ thinks that the most important part of computers is text | 03:31 | ||
kjwcode | s1n: Very true, but many problems can be reduced to text processing. | ||
03:31
Tene_ joined
|
|||
Jackk | kjwcode: problem: the moon is going to crash into the earth | 03:31 | |
apply the necessary text processing to solve | |||
frooh_ | Jackk: doubtful that any coding period will help :-) | 03:32 | |
s1n | kjwcode: true, there are algorithms in bioperl, but it does plenty of website automation and a lot of format processing | ||
SamB | s1n: coq.inria.fr/V8.2/doc/html/faq.html#htoc4 | ||
kjwcode | Jackk: My sister-in-law is a journalist. I'm sure she could handle it. ;) | ||
wayland76 | well, but it could be for lang impls. | ||
03:32
wayland76 left
03:33
wayland76 joined
|
|||
s1n | Jackk: i'd just do feed processing of the news event to determine when the proper time to &kissAssGoodbye; | 03:33 | |
crickets... | 03:35 | ||
frooh_ | haha | ||
it's that what, every 20 minutes in a conversation that has the weird pause | 03:36 | ||
just happened to be after s1n said that :-) | |||
wayland76 | Well, I got a disconnect/reconnect | ||
s1n | simultaneously everyone decided to pick their nose and keep quite to make me the one feel like an idiot | ||
frooh_ | wayland76: see you soon? | ||
s1n: exactly | 03:37 | ||
wayland76 | no, I had one. | ||
frooh_ | had one what? | ||
ooh | |||
wayland76 | had a disconnect | ||
frooh_ | got it | ||
nevermind | |||
wayland76 | or maybe it was a network split | ||
:) | |||
frooh_ | yeah | ||
wayland76 backlogs ... :) | |||
frooh_ | it was just me and s1n in here | ||
it was weird | |||
everyone else got split onto some other network | 03:38 | ||
frooh_ displays his ignorance of how IRC works | |||
s1n | frooh_: normally there's a bunch of disconnects | ||
frooh_ | I disabled my join/part messages | ||
s1n | wayland was the only one to get dropped | 03:39 | |
frooh_ | there were so many (especially in this channel) that it was impossible to page up and read everything | ||
frooh_ wonders if there may be a way to make a theme that would summarize that data in the timestamp or something | 03:40 | ||
kjwcode | frooh_: ircdiff? | ||
frooh_ | uhh, what/ | 03:41 | |
frooh_ googles | |||
kjwcode | Just a concept, not code. :) | ||
frooh_ | oh | ||
well | |||
I was thinking that when someone speaks next it could put like, J10/P15 | |||
or maybe just 10|15 | |||
for 10 joins, 15 parts | 03:42 | ||
03:42
finanalyst left
|
|||
kjwcode | I was thinking of "+user1 +user2 -user3", and that made me think of a diff. | 03:42 | |
frooh_ | so that if I said, "Hello?" and it said 0|50 I know something's happened | ||
03:42
Tene left
|
|||
frooh_ | that could be good too, but you'd have to have it at an interval or after messages or something | 03:42 | |
kjwcode | An interval would be a good start. I need to get XChat up and going again -- I've never gotten used to OS X IRC clients. | 03:43 | |
s1n | pidgin colors the channel name according to the last (most important) action | ||
i.e. red when someone has talked since i looked, blue when my name was used, grey for part/joins, etc... | 03:44 | ||
frooh_ | s1n: I prefer irssi | ||
and pidgin for 1 on 1 chats | |||
SamB | s1n: sounds just like x-chat | ||
wayland76 | I'm using Konversation | ||
s1n | frooh_: i loathe the idea of having multiple programs for talking | ||
wayland76 | But I'm client-agnostic :) | ||
frooh_ | s1n: I used to, but I just really like having irssi in a screen session on the console | 03:45 | |
it works surprisingly well for me | |||
but everything else is in pidgin | |||
wayland76 | Konversation happened to be already installed on my system, and not crash | ||
frooh_ | gmail, aim, yim | ||
wayland76 | I think I liked Xchat better, though :) | ||
frooh_ | I liked konv a lot | ||
it had pretty animations | |||
but I use pidgin at work | |||
so I might as well use it here | |||
s1n: was it you who is an emacs user, or was that skids? | 03:46 | ||
kjwcode | I'm waiting on a Fedora 10 install, so I'm about an hour from XChat. | ||
s1n | frooh_: i'm insulted you'd think of me as an emacs user | 03:47 | |
my public image needs work :( | |||
frooh_ | s1n: your names both have s and i (kindav) in them! | ||
I'd never assume anyone was an emacs user | |||
because they are so rare | 03:48 | ||
well | |||
I put vi in the workflow guide for skids then | |||
but he's afk or something | |||
so oh well | |||
s1n needs no vi workflow help | |||
i spend 9 hours a day at work using it | 03:49 | ||
frooh_ | haha, do you use vim or just vi? | ||
s1n | vim | ||
the one and true editor :) | |||
frooh_ | any plugins I should know about? | ||
s1n | vim.org :) | 03:50 | |
frooh_ does perl, js, and html work | |||
s1n | perlide is useful | ||
frooh_ | perlide? | ||
never heard of that one | |||
I tried out perl-support | |||
s1n | yeah, it's like a perl IDE | ||
frooh_ | but it hates windows | ||
s1n | i can't remember the name of the ctag browser i use | ||
frooh_ | dang, perl-support = perlide apparently | ||
wayland76 | thoughts on eclipse? | 03:51 | |
frooh_ | great for java | ||
I couldn't use it for much else | 03:52 | ||
I tried it for c/c++ | |||
wayland76 | (with the Perl plugins of course :) ) | ||
s1n | taglist, that's the one, it's pretty alright, omnicppcomplete is okay | ||
kjwcode | I like Eclipse with the Perl plugins. I'm in between IDEs right now, though. | ||
wayland76 | I think a parrot-ide would be cool -- works with any parrot-based language | ||
frooh_ | my roomie is using an eclipse deriv. at work for perl and it's not very good | ||
with EPIC | |||
wayland76: agreed | |||
wayland76 | I'm still using nano :) | ||
frooh_ | s1n: omni could use a little help | 03:53 | |
s1n | wayland76: can you explain to me what the heck eclipse is? | ||
frooh_ | s1n: eclipse is the modern emacs :-) | ||
wayland76 | www.eclipse.org/ | ||
s1n | frooh_: i don't usually use omni, it needs work like you said | ||
kjwcode | s1n: It's an IDE framework, more than an IDE. | ||
s1n | wayland76: i tried reading their site a dozen times and it doesn't say anything | ||
frooh_ | it's too vague | ||
wayland76 | It's an IDE written in Java (IIRC) that lets you use any language you want | 03:54 | |
s1n | it's just meaningless management rambling about development | ||
kjwcode | But look at all the pretty pictures! | ||
wayland76 | ok :) | ||
Basically, it's an IDE. | |||
frooh_ | It's a java ide that wants to be an ide for other things | ||
s1n | wow, they have a convention! | ||
i'd rather just stick to vim :) | |||
frooh_ | yeah, you would | ||
wayland76 | The guy who said "Modern Emacs" should've said "Emacs, but with Java instead of Lisp, and a GUI" :) | ||
s1n | don't break what isn't broken, eclipse :) | ||
kjwcode | Yeah, there are a number of companies that make a fair amount of money making Eclipse-based IDEs. | ||
frooh_ | do you use surround? | ||
I use that every day | |||
s1n | i don't do much xml | 03:55 | |
wayland76 | I'd like something that better integrates an editor and a shell | ||
s1n | i do mostly c/c++ at work | ||
wayland76 | And has better doco than emacs :) | ||
frooh_ | s1n: it's still good for adding parens and quotes and stuff | ||
kjwcode | wayland76: Komodo is pretty good for editor + shell. | ||
frooh_ | my roomie was using komodo, and it was alright | ||
no one seems to love it though | 03:56 | ||
s1n | i want a plugin that will auto-complete based on nearby ctags | ||
kjwcode | I don't know of a ctags plugin for Komodo. There might be one listed on the plugin site, though. | ||
frooh_ | one day I want to figure out omnicomplete and make some good defaults for perl | ||
alright | 03:57 | ||
wiki.github.com/rakudo/rakudo/frews...d-workflow | |||
feel free to look through that and fix it up | |||
s1n | i want a plugin that will properly autogenerate doxygen comments for classes/functions for me to fill in | ||
frooh_ | I probaly forgot something | ||
kjwcode | s1n: If I could get the level of support for Doxygen in an editor that NetBeans has for Javadoc, I'd be a happy cat. | 03:58 | |
s1n | frooh_: is it just outright not recommended to keep both remotes in sync (origin to upstream)? | ||
frooh_ | no, you can | ||
and do | |||
s1n | kjwcode: i fully agree | ||
frooh_ | I just think you should do it with a feature branch | ||
s1n | huh? | ||
03:59
hercynium left
|
|||
frooh_ | well, you have your fork | 03:59 | |
which is like your own rep | |||
o | |||
and then you have a branch per feature | |||
you merge the upstream stuff into your_repo/master | |||
so your master branch | |||
which you make new branches off of | |||
s1n | how do i keep my master and feature branch in sync? | 04:00 | |
is that what the rebase -i does? | |||
frooh_ | well, theoretically the feature branch is so small that you don't have to | ||
well, yes, but I think you shouldonly make that freature branch a single commit sized bite so pmichaud can review it easily | 04:01 | ||
so do rebase -i rakudo_origin | |||
s1n | okay well, here's an example: i get time at the end of the week to work on it, but i may not have finished something in the feature branch | ||
that's a long time to go without updating | |||
frooh_ | that's true | ||
but I'd just check to see if they are working on the same thing | |||
s1n | i just want to make sure i have appropriate fixes for other things, but just want to squash my changes down to a single commit for pmichaud | ||
frooh_ | right | 04:02 | |
well, are you woring on pir stuff? | |||
s1n | so do i do a rebase -i upstream? | ||
frooh_ | working* | ||
s1n: yes | |||
s1n | i have, how does that matter? | ||
frooh_ | well, for the setting stuff its easy to have things that aren't affected by other stuff | ||
but I presume the pir is a lot more tangly | |||
(because I have no idea about any of that :-) | 04:03 | ||
s1n | frooh_: well, PIR isn't hard, i have trouble with managing the repo | ||
frooh_ | I am not sure how that will change things | 04:04 | |
I am just afraid to make anything hard at all for pmichaud | |||
s1n | akk i don't want to be the lab rat on this | 04:05 | |
frooh_ | as that will make it harder to accept and review commits | ||
well | |||
I just did it | |||
but he didn't answer yet | |||
s1n | frooh_: i completely agree, the more difficult it is to review, the more likely they _dont_ review | ||
wayland76 | I suspect pmichaud is is Europe, which presumably means he's asleep now | 04:06 | |
s1n | and some of the things i want to work on aren't just replacing the setting code | ||
frooh_ | s1n: right | ||
s1n | nordic perl in oslo? | ||
frooh_ | I'd just reccommend trying to keep features as atomic as possible | ||
but that's maybe not reasonable | 04:07 | ||
s1n | easier said than done when working on things other people are working on | ||
and what about doing multiple features? | |||
frooh_ | should be separate branches | ||
that's common git knowledge | |||
s1n | every little thing? | ||
frooh_ | well | 04:08 | |
depends on thing | |||
s1n | that sounds like there needs to be _lots_ of reviewing going on | ||
which i'm guessing isn't happening | |||
if i want to do 2 features, they have to be distinct, otherwise i then have to manage that mess too | |||
unless you know a way to hang on to multiple features while waiting for review | 04:09 | ||
frooh_ | uhh | ||
well | |||
you could have feature 1 | |||
and do my deal | |||
and have feature 2 | |||
which is a branch of feature 1 | |||
s1n | you branch the branch? | ||
frooh_ | but then you can't pull from upstream | ||
s1n | heh | ||
frooh_ | sure | ||
s1n | that doesn't seem helpful | ||
frooh_ | yo dawg | ||
well | |||
I am no expert in rakudo *or* git | 04:10 | ||
s1n | the squashing is highly useful, but branching constantly is going to be tough when the devs are reviewing patches frequently | ||
frooh_ | but no one had even mentioned how to do this stuff, so I figured I'd give it a shot | ||
s1n | frooh_: oh i did too, which is why i gre frustrated | 04:11 | |
frooh_ | it shouldn't make it harder | ||
it should make it easier | |||
so pmichaud emails you and says change x in you patch | |||
s1n | s/are/arent/ sorry | ||
frooh_ | if you made it it's own branch you just git co feature | ||
and make your changes | |||
and your good | |||
go back to work on what you were doing | |||
wayland76 | my good what? | ||
:) | |||
frooh_ | you're* | 04:12 | |
sorry | |||
it's late here | |||
s1n | well i wasn't getting that feedback, which indicates there was no review | ||
wayland76 | :) | ||
frooh_ | s1n: that's true | ||
and there should probably be something done about htat | |||
s1n | so if there's no review, git's model breaks down? | ||
frooh_ | no | ||
OSS model breaks down | |||
s1n | well hell | 04:13 | |
frooh_ | branches don't require review | ||
wayland76 | Late tonight AU time, I'll try to remember to push the reviewing idea at pmichaud when he's up again | ||
s1n | wayland76: i'm meeting up with him on TR, i'm going to push it then too | ||
frooh_ | ok, well, I hope that article helps | ||
wayland76 | TR? | ||
frooh_ | feel free to link to it and whatnot | ||
s1n | frooh_: it does, thank you for helping | ||
frooh_ | I have to get to bed | ||
s1n | wayland76: thursday | 04:14 | |
wayland76 | frooh_: Good starting point if nothing else | ||
s1n: Thanks :) | |||
frooh_ | no prob bob. | ||
s1n | frooh_: i've got some work on thursday, i'll try it out then | ||
wayland76 | 'night | 04:15 | |
04:16
meppuru joined
04:17
meppl left,
meppuru is now known as meppl
|
|||
wayland76 | Updated www.rakudo.org/developers-guide to link to Frew's recommended workflow | 04:19 | |
frooh_ | s1n: you still here? | 04:21 | |
because I have an idea that I think will work | |||
s1n | frooh_: yes i am (working on thesis), what's up? | ||
do tell | |||
frooh_ | so the squash part | ||
you choose one first one and then squash the rest into it | |||
04:21
pidus left
|
|||
frooh_ | just choose not to squash in the merge | 04:21 | |
so you can merge upstream stuff into your branches | |||
and even merge other branches in | 04:22 | ||
just don't squash those in when they are done | |||
so that it still just looks like one tiny commit to pmichaud | |||
s1n | i don't know enough about git to know how to do that, but it sounds alright | ||
frooh_ | well | ||
when you do git rebase -i <foo> it helps you with that | |||
s1n | that will keep the merges from other squashes out of the new squash? | ||
frooh_ | but I'll put more details on that when I am not dripping wet from the shower :-) | 04:23 | |
yeah | |||
ok | |||
back into the shower | |||
s1n | eww okay, i'd like to see that | ||
err the write up | |||
wayland76 | I'm not so sure | ||
oh :) | |||
s1n should just stop typing now | |||
wayland76 | Well, it's probably less embarassing than some of the stuff on the Return of the King movie appendicies | 04:25 | |
s1n | permission for a flyby? | ||
wayland76 | What's a flyby? | 04:26 | |
s1n | uhh wow, backfired, lemme rephrase: what are you talking about in reference to the RotK? | 04:27 | |
04:28
alc left
|
|||
wayland76 | Well, some of the stuff in the interviews and stuff that are attached to the extended edition seems like it could be embarassing for the actors :) | 04:30 | |
s1n | never seen it | 04:31 | |
but i will say this | |||
Text::Sentence, Text::Autoformat, Text::ExtractWords all rock (as do many of the Lingua::EN packages) | |||
a godsend, save me countless hours of painstaking work | 04:32 | ||
wayland76 | I had something to do with Lingua::EN::Inflect at one point, I think | ||
Cool. I'll investigate those :) | |||
s1n | conway's module? seems overly ambitious | ||
Lingua::Stem and Lingua::Syllable are highly useful too | 04:33 | ||
wayland76 | Not Conway's -- maybe something else then | ||
s1n | err Lingua::EN::Syllable | ||
Inflect is damian's | 04:34 | ||
wayland76 | I forget what it's called then :) | ||
s1n | though Inflect has some very useful features too | 04:35 | |
i just wanted to mention that because #perl seems determined to not discuss anything perl :) | 04:37 | ||
wayland76 | I'm going to join #perl and see if it's as bad as people say :) | 04:38 | |
s1n | wayland76: while you're there, ask a simple question too, something easy | 04:39 | |
wayland76 | No thanks :) | ||
araujo | just don't mention perl6 | ||
wayland76 | jerkface03 has just done that :) | ||
araujo | and you will be fine | ||
frooh_ | ok | ||
I added more details on what I mentioned before | 04:40 | ||
so s1n you should be able to pull as much as you want | |||
I couldn't test the merge part (the last snipppet) becasue I can't get wrapped up in this this late | 04:41 | ||
wayland76 | I just answered a simple question :) | ||
frooh_ | but I assure you I will be the guinne pick tomorrow | ||
er | |||
guinnee? | |||
wayland76 | guinea | ||
frooh_ | guinea | ||
yea | |||
that | |||
sorry | |||
it's late | 04:42 | ||
anyway, hope that helps | |||
I'll test it tomorrow | |||
s1n | wayland76: #perl on irc.perl.org? | ||
frooh_ | and hopefully all will be well | ||
now, goodnight for real! | |||
wayland76 | oh, no, freenode #perl | ||
s1n | frooh_: i greatly appreciate the help | ||
wayland76 | Ah, I see -- I tried the channel you recommended. | 04:44 | |
s1n | i saw | 04:45 | |
wayland76 | :) | ||
s1n | i dare you to ask when perl6 will be released, lol | ||
wayland76 | "Every step you take, I'll be watching you" | ||
No thanks. I don't think my rep can handle it yet :) | |||
s1n | given your name is in the spec, i'm sure it'll be fine | 04:48 | |
wayland76 | Well, I've got rep *here*, but I might need rep over there someday too :) | 04:50 | |
s1n | ugh, it's late | 04:52 | |
bed& | |||
wayland76 | 'night :) | 04:53 | |
karma fix; C and its OO successor are good, but not that good :) c/c-- c/c-- c/c-- c/c-- c/c-- c/c-- c/c-- c/c-- c/c-- c/c-- c/c-- c/c-- c/c-- c/c-- c/c-- c/c-- c/c-- c/c-- c/c-- c/c-- | 04:54 | ||
NoirSoldats | What about D? | ||
wayland76 | D doesn't have as good karma, so it doesn't need minusing :) | 04:55 | |
NoirSoldats | D++ D++! | ||
NoirSoldats ducks. | |||
wayland76 | @karma D | 04:56 | |
lambdabot | D has a karma of 2 | ||
wayland76 | See | ||
@karma c/c | |||
lambdabot | c/c has a karma of 44 | ||
NoirSoldats | Awww, I love lambdabot! | ||
lol | |||
wow | |||
@karma perl6 | |||
lambdabot | perl6 has a karma of 3 | ||
NoirSoldats | ROFLMAO | ||
wayland76 | And that's after all those minuses I gave it too | ||
It was 65 before :) | 04:57 | ||
NoirSoldats | Scary, from a perl channel.. | ||
@karma perl | |||
lambdabot | perl has a karma of 1 | ||
wayland76 | @karma haskell | ||
lambdabot | haskell has a karma of 49 | ||
NoirSoldats | :( | ||
perl++ 'cause I <3 perl | |||
@karma php | |||
lambdabot | php has a karma of 0 | ||
NoirSoldats | php-- | ||
wayland76 | php-- :) | ||
NoirSoldats cheers! | 04:58 | ||
wayland76 | @karma php | ||
lambdabot | php has a karma of -2 | ||
NoirSoldats | Atleast something is in the right. | ||
wayland76 | There's only one thing in favour of PHP | ||
It doesn't have 5 different competing templating systems :) | |||
NoirSoldats | Yes it does... | ||
But even worse, it has 500000 different competing frameworks. | 04:59 | ||
wayland76 | Well, in a way, but not at the lowest level :) | ||
NoirSoldats | Well, that's true. | ||
wayland76 | But thanks for restoring my perspective on templating :) | ||
NoirSoldats | *snickers* | ||
Apollo and Sheba kissed! | 05:00 | ||
*coughs* I now return you to your regularly scheduled perl6 chat.. | |||
wayland76 | ? | ||
Is that a TV show? | 05:01 | ||
NoirSoldats | wayland76: Watching the last episode of the original BSG. | ||
Battlestar Galactica. | |||
wayland76 | I grew up without TV :) | ||
Oh, ok :) | |||
@slap NoirSoldats | 05:02 | ||
lambdabot secretly deletes NoirSoldats' source code | |||
NoirSoldats | They sure were boring in 1978, not a single sex scene (not even a fade to black) in the entire series! | 05:03 | |
wayland76 | Sorry, just wanted to try that :) | ||
NoirSoldats | *wimpers*. | ||
Oh.. *rechecks out his source from the git repo* | |||
Only a total of about 5-7 kisses in the whole series too. | |||
wayland76 | Well, so put a modern film in your DVD player, and just switch back and forth whenever you want to see kissing :) | 05:04 | |
NoirSoldats | *giggles* I have Dark Knight here.. don't think there' smuch fussy stuff in it either. | ||
wayland76 | @todo | 05:05 | |
lambdabot | 0. SamB: A way to get multiple results from a google search | ||
1. dons: improve formatting of @dict | |||
2. dons: write Haskell Manifesto | |||
3. lispy: don't let lambdabot's prettyprinter split the sequence @foo across lines | |||
4. TheHunter: priviledged users should get priviledged listcommands. | |||
[29 @more lines] | |||
wayland76 | ? | 05:06 | |
NoirSoldats | lol | ||
wayland76 | @girl19 | 05:07 | |
lambdabot | I'm in Moscow, Russia | ||
wayland76 | hi @girl19 | ||
hi girl19 | |||
Sorry, trying to get a response from the bot :) | 05:08 | ||
NoirSoldats | Talk to purl, she's cuter. | ||
And with more spunk. | |||
wayland76 | @palomar | ||
lambdabot | That's nuts! | ||
wayland76 | @palomer | ||
lambdabot | Blargh! | ||
wayland76 | @palomer | ||
lambdabot | They're telling you lies! | ||
wayland76 | Anyway... :) | 05:09 | |
(parrot compiles aren't very exciting the 20th time through :) ) | 05:12 | ||
05:14
kjwcode left
05:15
finanalyst joined
05:19
finanalyst left
05:21
sri_kraih_ joined
05:27
pidus joined
05:38
sri_kraih left
05:39
alc joined
|
|||
diakopter stares at the scrollback | 05:45 | ||
05:47
kate21de joined
|
|||
wayland76 | well, admittedly, it is kinda amazing :) | 05:51 | |
05:58
kate21de left
06:17
kate21de joined
06:31
pidus left
06:34
zamolxes joined
06:36
justatheory left
06:38
PZt left
06:43
|jedai| left
06:45
wayland76 left
06:47
|jedai| joined,
Jackk left
07:04
kate21de left,
kate21de joined
07:08
pmurias joined
|
|||
moritz_ | good morning | 07:14 | |
07:16
Psyche^ joined,
PZt joined
|
|||
pmurias | moritz_: good morning | 07:19 | |
pugs_svn | r25784 | moritz++ | [v6/README] link to tycho | 07:28 | |
07:31
jferrero joined
07:32
Patterner left,
Psyche^ is now known as Patterner
07:34
wayland76 joined
|
|||
diakopter | pmurias: hi | 07:36 | |
moritz_: howdy | |||
moritz_ tries to build mono to be able to build ironperl | 07:38 | ||
diakopter | heh; see my commit note; it doesn't build currently... lots of work-in-progress | ||
though if you comment out a bunch of stuff, it builds :P | |||
moritz_ | I need mono and mcs from svn, right? | 07:39 | |
diakopter | I heartily recommend it, yes | ||
2.4 will soon be released | |||
and when it is, 2.4 will be good enough for a long while | |||
in fact, there might be a 2.4 branch... | |||
moritz_ | but it will also take a long while until there are debian packages for it | 07:40 | |
so I can just as webuild it from souce | |||
diakopter | right.. one of the TODO is to create a --gen-mono option (like rakudo's --gen-parrot) | ||
diakopter hacks in command-line options and stdin slurping | 07:41 | ||
pmurias | diakopter: hi | 07:44 | |
diakopter | It's cool how fast gmcs (mono) compiles to bytecode (CIL).... it's speedy. for lots of files, too. in a vmware vm. on a notebook. | 07:45 | |
like, less than 2 seconds to entirely rebuild | |||
all of tycho and everything | |||
moritz_ | it's a bit frustrating here | 07:46 | |
diakopter | building mono? | ||
moritz_ | I've svn co'd mono and mcs | ||
diakopter | oh, I should've mentioned | ||
you don't want everything | |||
moritz_ | and mcs tells me "look in mono's INSTALL file" | ||
diakopter | you don't want mcs | ||
moritz_ | and in mono there's no INSTALL file | ||
diakopter | sec | ||
moritz_ | I don't? | ||
diakopter | www.mono-project.com/Compiling_Mono_From_SVN | 07:47 | |
oh, ok | |||
moritz_ | so what do I compiler ironperl with, if not with mcs? | 07:48 | |
diakopter | gmcs | ||
g(enerics)mcs | |||
which is in that mcs dir, I'm sure | 07:49 | ||
see I wrongly checked out all of trunk | |||
b/c I hadn't found that url above yet | |||
and built way too much stuff | 07:50 | ||
so I don't know what came from where :) | |||
moritz_ | do I have to check out the mcs tree below mono? | ||
it doesn't look like from the docs, but ./autogen.sh doesn't compile mcs if I check them out into the same dir | |||
diakopter | you mean below trunk? | 07:51 | |
oh, no, sibling | |||
definitely not same dir | |||
there are tons of dirs under trunk | 07:52 | ||
moritz_ | that's wrong on the web page then | ||
diakopter | they're not independent, but I don't think they can coexist in the same dir... | ||
moritz_ | I mean I checked them out to ~/tmp/mono and ~/tmp/mcs | ||
pmurias | diakopter: why do you depend on svn mono? | ||
moritz_ | and went to ~/tmp/mono and did a ./autogen.sh there | 07:53 | |
and that didn't seem to build mcs | |||
diakopter | oh | ||
moritz_ | which is why I thought maybe mcs should go to ~/tmp/mono/mcs instead | ||
I'm trying that now | |||
diakopter | no, I think the problem is you don't have a 2.2 mono installed already | 07:54 | |
since it uses gmcs to build mono/gmcs | |||
moritz_ | so ~/tmp/mono/ and ~/tmp/mcs/ *are* right? | ||
diakopter | I'd go with the webpage, yes | ||
moritz_ | I do have a system gmcs installed | 07:55 | |
diakopter | pmurias: I think b/c 2.4 has C# string eval | ||
moritz_: oh, good | |||
moritz_ | it's just not that fresh | ||
ii mono-gmcs 1.9.1+dfsg-6 Mono C# 2.0 and C# 3.0 compiler for CLI 2.0 | |||
diakopter | ah | 07:56 | |
pmurias | ruoso: i'm doing the capture refactoring now | ||
moritz_ | it feels *so* weird to compile to .dlls on linux :/ | 07:59 | |
07:59
aindilis` joined
|
|||
diakopter | you can actually add the PE bin format with a kernel extension so they're "executable" without invoking mono first | 08:00 | |
.exe I mean | |||
well, it doesn't need .exe even | |||
08:05
aindilis left
08:07
Kimtaro left
|
|||
diakopter | so, --gen-mono can do: ironperldir=`pwd`; mkdir bin ; mkdir monosrc ; cd monosrc ; (foreach mono, gmcs, I don't think gtklib is needed?? maybe it is): svn co ... ; cd mono ; ./autogen.sh --prefix=$ironperldir/bin ; make ; make install ; | 08:09 | |
moritz_ | so mono build fails | 08:11 | |
MCS [default] convert.exe | |||
Cannot open assembly '../../mcs/class/lib/default/mcs.exe': No such file or directory. | |||
diakopter | hm, I guess it wants mcs dir built first? | ||
moritz_ | I thought ./autogen.sh takes care of that? | 08:12 | |
diakopter | though, I thought that bootstrapping binaries were included in the svn co | ||
well, bytecodearies | |||
obviously it's not finding your mcs dir... | |||
or not looking for it anymore | |||
who knows. | |||
moritz_ | anyway, I've gotta run, maybe I'll try again later today | 08:13 | |
diakopter | either way, sounds like something to report to #mono on gimpnet | ||
08:13
ujwalic joined
|
|||
pugs_svn | r25785 | pmurias++ | [smop] native capture .positional(0) treats the invocant as a positional | 08:15 | |
08:16
aindilis` left
|
|||
pmurias | diakopter: i looked a bit at ironperl/Tycho and i'm not sure it | 08:17 | |
diakopter | not sure it...? | 08:18 | |
pmurias | 's a good idea to modify them rather then writing the Perl 6 runtime from scratch | ||
diakopter | why might it be better to start from scratch? | ||
pmurias | the have a vasty different iterface for a start | 08:19 | |
diakopter | they=what? There is a lot that I kept in those dirs that won't be used directly. Mostly the Tycho.Runtime namespace is what will be useful. | 08:20 | |
which interface do you mean? | 08:21 | ||
pmurias | they have a different method set from their Perl 6 counterparts | 08:23 | |
and the stuff in Tycho/Runtime seems to consist of rather thin wrappers | |||
diakopter | an example of a method set that's different? I'm not doubting what you're saying; I just want to know the specifics. | 08:24 | |
pmurias | compare Hash with DictionaryObject the methods are named differently, Hash has a lot more and postcircumfix:<{ }> returns a bvalue | 08:28 | |
and the actuall work seems to be done by Dictionary | 08:30 | ||
diakopter | I guess I'm not seeing the disadvantages here... to me it sounds like you're saying "it hasn't already implemented Perl 6, so it would be easier not to use it"...? | ||
the wrappers are there to provide the contextual conversions | 08:32 | ||
pmurias | the wrappers don't seem to be any closer to Perl 6 than the things they wrap | 08:33 | |
diakopter | pmurias: it's b/c the objects have to extend AnyObject | 08:34 | |
for all the auto-casting to work elegantly | |||
afaict | |||
(I suspect) | |||
pmurias | does tycho use C#'s method dispatch or use it's own? | 08:35 | |
08:35
Kimtaro joined
08:36
DemoFreak joined
|
|||
diakopter | depends on what binds to what. for operations that it detects can be "native", it downcasts to the underlying native types | 08:36 | |
08:36
pidus joined
|
|||
diakopter | which then of course don't need to pass through the custom dispatcher | 08:36 | |
the custom dispatcher at the language level is part of Tycho.Language, I think, so I won't be using it | 08:37 | ||
(we'll have to write it) | |||
pmurias | like using AnyObject.foo instead of AnyObject.InvokeMethod(..."foo"...) if AnyObject has a foo method | ||
diakopter | right, for the Tycho.Native types (mostly numerics and strings), when it compiles to bytecode it compiles to the native C# operations. but yes for anything that's not built into C# primitives or Tycho.Native, it uses InvokeMethod and kin | 08:38 | |
pmurias | re "would it be easier not to use it" - you will have to rewrite all of it, and you will just end up inheriting a lot of (potentially strange) design decisions from Tycho | 08:41 | |
diakopter | okay, and I don't see a problem with having to rewrite [all/much of] it. I think it's a great basis from which to start. I've studied the constraints and barriers in the system, and I don't see any that might be a hindrance (a potentially strange/inappropriate design decision). | 08:44 | |
08:45
ejs joined,
masak joined
|
|||
diakopter | Besides, I'm going to be essentially doing code-generation from mildew/STD->tychoAPI, so why do the method names need to match? such substitutions are just part of the mapping/translation. | 08:50 | |
pmurias | we have $foo."$bar" | 08:52 | |
masak | good morning, Perl 6 world! | ||
lambdabot | masak: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
masak | ooh! | ||
@messages | |||
lambdabot | wayland76 said 10h 55m 21s ago: in regards to CPAN6, see cpan6.org/ and S22 :) | ||
masak | wayland76: I know about both. why do you want me to look at them now? | ||
diakopter | pmurias: what do you mean? | 08:55 | |
(what about $foo."$bar" | |||
) | |||
moritz_ | if you have different names in your backend, you need to keep the translation tables around at run time | 08:56 | |
because users can generate method calls at run timie | |||
diakopter | erm | 08:57 | |
Matt-W | Morning | ||
masak | Matt-W: hiya. | ||
wayland76 | masak: I forget now :). It was something from the backlog, I think. I think the point was, the CPAN6 guy things CPAN6 will replace CPAN | 08:58 | |
diakopter | erm; this is a compiler for a runtime. none of this corresponds at all to the Perl 6 object/system model | ||
masak | wayland76: with all due respect to that guy, until there's something I can push to, I don't feel it affects me much. | ||
wayland76 | Does anyone know how I revert my git changes? | ||
masak: Agreed :) | |||
masak | wayland76: yes. you already committed? | 08:59 | |
moritz_ | wayland76: did you push them yet to anywhere? | ||
wayland76 | No, I made changes, but then found better changes attached to a ticket | ||
diakopter | I'm very confused why both moritz and pmurias are saying that Tycho is a bad choice for a VM since it doesn't already implement Perl 6. The author of Tycho couldn't have cared less about Perl or Perl 6, let alone knew about Perl 6... What's wrong with building on top of someone else's VM? | ||
masak | wayland76: git checkout | ||
wayland76 | So I want to get rid of mine, and then patch from diffs | ||
moritz_ | non-commite changes can be reverted with 'git-checkout .' | ||
wayland76 | ok, I'll try it | ||
moritz_ | diakopter: I never said that Tycho was a bad choice, I don't know enough about it to judge it. | 09:00 | |
wayland76 | Ah, with -f. Thanks | ||
moritz_ | diakopter: and maybe I completely umisunderstood your and pmurias' point abotu names | ||
diakopter | that's like saying b/c Parrot's method names for its PMCs don't correspond to Perl 6's method names. | ||
I mean, so what? | 09:01 | ||
it's a VM | |||
of course there is translation | |||
if it does the compilation well, then there is less lookup. | |||
if not, so what? | |||
Matt-W | Depends how fast the lookups are | 09:02 | |
you don't want to lock yourself out of performance right from the start | |||
moritz_ | diakopter: I think the point was mostly that Tycho is an indirection layer on top of the vm, and that you'll need another one (lookups) to get the names right... | 09:03 | |
pmurias | it's more of a premature optimalisation sort of thing as all you need is InvokeMethod | ||
diakopter | I'm sure I'm being overly defensive, and perhaps you mean well in our advice, but I think it's somewhat presumptuous to prophesy failure just because there is a virtual machine (or two, or eight, or a googol). | 09:04 | |
moritz_ | diakopter: and that in an ideal world the layer on top (which is now Tycho) could be replaced by something that gets the names "right" from the start | ||
but I don't think it's really necessary | |||
diakopter | of course, I did already state above (I thought several times) that I wasn't going to use a lot of what I committed. | 09:05 | |
moritz_ | anyway, please don't be discouraged by our critique, we're just trying to be helpful, in our own way | 09:06 | |
09:06
ejs1 joined
|
|||
diakopter | I am not discouraged in the least; I'm trying very hard not to take offense. | 09:07 | |
Matt-W: that kind of statement "you don't want to lock yourself out of performance right from the start"... has no qualifications. Without any specifics of magnitude or even how to measure it, that statement is totally unhelpful, because someone could spend forever trying to optimize the system from the start (horribly prematurely). Prototyping language implementations is not about writing the optimized version. Most of the academic papers I've read o | 09:12 | ||
At no time (EVER!) did I claim that I was writing THE Perl 6 runtime, as pmurias put it above ("... writing the Perl runtime ..."). I was very careful to state in my commit message that this is an experimental, AMATEURISH attempt. | 09:13 | ||
masak | diakopter: your message was cut off at "I've read o". | ||
diakopter | Most of the academic papers I've read on language implementations started out the prototyping on a (slower) higher level language because it was much faster to implement, to see how it goes. | ||
wayland76 | Matt-W: He won't lock himself out, he just might have to write a few things to replace other things | ||
09:19
ejs left
09:20
diakopter left
|
|||
pmurias | brb | 09:24 | |
09:24
pmurias left,
drbean_ joined
|
|||
masak | rakudo: my $a = "ABC"; $a R~= "DEF"; say $a | 09:27 | |
p6eval | rakudo 95ce39: OUTPUT«ABC» | ||
masak | :/ | ||
bacek | good evening | 09:29 | |
masak | bacek: privet. | ||
Matt-W | hi bacek | ||
bacek backlogged about Tycho. | 09:31 | ||
09:32
ejs2 joined
|
|||
bacek | Guys, I modern VM you can write as many levels of abstractions as you can. It really doesn't matter. All of them will be optimised out. | 09:32 | |
masak once again writes loop { ... } while $cond | 09:33 | ||
bacek | Even JVM will replace stupid enclosed "for"s with hash or merge joins. | ||
masak | argh! why doesn't the compiler stop me from being stupid? | ||
wayland76 | Too big a task :) | ||
(almost as big as stopping me from being stupid :) ) | 09:34 | ||
masak | wayland76: in this particular case, though... there's really no reason, _ever_, to write that. | ||
bacek | To stop being stupid someone have to write compiler which understand stupidity... It's almost impossible. | ||
masak | and when I do, I'm surprised it doesn't do what I want. | ||
bacek: but in this particular case. | |||
bacek | masak: even in this one :) | 09:35 | |
masak | I'd at least like a warning. | ||
bacek: no, it's really, really easy. | |||
just detect whether the 'loop' construct has a 'while' or 'until'. | |||
because they won't ever do what the programmer means. | |||
wayland76 | which compiler are we talking about here? Rakudo? | 09:36 | |
masak | wayland76: for example, yes. | ||
I don't know any compiler that warns about this. | |||
wayland76 | Address it to TimToady :) | 09:37 | |
bacek wishes to have telepathic compiler... | |||
masak | wayland76: well, it's not necessarily a spec thing. | ||
wayland76: it's just a service an individual compiler could do the user. | 09:38 | ||
'You wrote loop { ... } while ... -- did you mean repeat { ... } while ... ?' | |||
wayland76 | Wouldn't it be in STD? | ||
masak | "Cuz the latter one ACTUALLY CHECKS the condition.' | ||
wayland76: I guess it could. | 09:39 | ||
wayland76 | loop { ... } while (condition) { somethingelse } | ||
? | |||
masak | wayland76: lose the paren. no, just loop { ... } while $condition. | ||
wayland76 | And doesn't TimToady control STD? :) | ||
masak | wayland76: I'm not saying STD necessarily has to check for this. | ||
but I think compilers could, as a service. | |||
oh well. | |||
moritz_ | but if it does, all other compilers will eventually :-) | 09:40 | |
wayland76 | bacek: Why stop at a telepathic compiler. I'd like a telepathic editor | ||
Matt-W | I thought loop {} while $cond was illegal | ||
bacek | wayland76: why bother with editing code??? | ||
wayland76 | With a telepathic display, so I can carry it in my pocket, and work on it while I'm driving :) | ||
moritz_ | std: loop { ... } while 1 | 09:41 | |
p6eval | std 25785: OUTPUT«##### PARSE FAILED #####Malformed block at /tmp/RQH24JJprc line 0:------>  expecting any of: infix or meta-infix infix stopper parameterized block standard stopperFAILED 00:02 34m» | ||
wayland76 | bacek: Well, but then we'd all be out of a job :) | ||
masak | rakudo: loop { ... } while 1 | ||
p6eval | rakudo 95ce39: OUTPUT«No exception handler and no messagecurrent instr.: 'return' pc 15706 (src/builtins/control.pir:39)» | ||
masak | eh? | ||
rakudo: loop { ... } while 1; say "Alive" | |||
bacek | wayland76: it depends what kind of mind do you have :) | ||
p6eval | rakudo 95ce39: OUTPUT«No exception handler and no messagecurrent instr.: 'return' pc 15706 (src/builtins/control.pir:39)» | ||
masak | surely that's a bug? | ||
09:42
drbean left
|
|||
Matt-W | masak: looks like rakudo got confused | 09:42 | |
wayland76 | rakudo: loop { say "hi"; $count++; } while $wayland < 10; | 09:43 | |
p6eval | rakudo 95ce39: OUTPUT«Scope not found for PAST::Var '$count' in current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)» | ||
wayland76 | rakudo: my($count);loop { say "hi"; $count++; } while $wayland < 10; | ||
p6eval | rakudo 95ce39: OUTPUT«Scope not found for PAST::Var '$wayland' in current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)» | ||
09:43
ejs1 left
|
|||
masak | (duh) | 09:43 | |
wayland76 | rakudo: my($count);loop { say "hi"; $count++; } while $count < 10; | ||
moritz_ | my($count) is a sub call. | ||
wayland76 | rakudo: my $count ;loop { say "hi"; $count++; } while $count < 10; | 09:44 | |
moritz_ | (or at least it should be) | ||
masak | moritz_: yet it didn't complain. | ||
wayland76 | thanks :) | ||
It didn't respond in any way | |||
@slap rakudo | |||
lambdabot places her fist firmly on rakudo's jaw | |||
masak | wayland76: it's looping. | ||
wayland76: see why I think this is bad? | |||
bacek | std: my $count ;loop { say "hi"; $count++; } while $count < 10; | ||
09:44
p6eval left
09:45
p6eval joined
|
|||
wayland76 | rakudo: my $count ;loop { say "hi"; $count++; $count > 10 and last; } while $count < 10; | 09:45 | |
p6eval | rakudo 95ce39: OUTPUT«hihihihihihihihihihihiCould not find non-existent sub whilecurrent instr.: '_block14' pc 137 (EVAL_18:68)» | ||
wayland76 | masak: Of course :) | ||
bacek | std: my $count ;loop { say "hi"; $count++; } while $count < 10; | ||
p6eval | std 25785: OUTPUT«##### PARSE FAILED #####Malformed block at /tmp/A8YlGqSy7h line 1:------> say "hi"; $count++; } while $count < 10; expecting any of: parameterized block standard stopper terminator whitespaceFAILED 00:04 35m» | ||
wayland76 | @karma $count | 09:46 | |
lambdabot | $count has a karma of 0 | ||
bacek | std: my $count; loop { say "hi"; $count++; } while $count < 10; | ||
wayland76 | @karma count | ||
lambdabot | count has a karma of 0 | ||
p6eval | std 25785: OUTPUT«##### PARSE FAILED #####Malformed block at /tmp/HGNsCdZDaS line 1:------> say "hi"; $count++; } while $count < 10; expecting any of: parameterized block standard stopper terminator whitespaceFAILED 00:04 35m» | ||
wayland76 | good :) | ||
masak feels that something ought to be submitted to rakudobug here | |||
I just don't know exactly what. | 09:47 | ||
wayland76 | Well, we could be looping 10 times to put a delay in, so it won't run to fast :) | ||
bacek | looks like "loop { } while" isn't legal syntax :) | ||
Matt-W | looks like it is | ||
it just thinks 'while' is a new statement | |||
masak | Matt-W: no. | ||
wayland76 | std: my $count ;loop { say "hi"; $count++; $count > 10 and last; } while $count < 10; | ||
p6eval | std 25785: OUTPUT«##### PARSE FAILED #####Malformed block at /tmp/i058fwol2d line 1:------> count > 10 and last; } while $count < 10; expecting any of: parameterized block standard stopper terminator whitespaceFAILED 00:04 35m» | ||
masak | Matt-W: it interprets the 'while' as a statement modifier. | ||
bacek | masak: it tries to. | 09:48 | |
wayland76 | rakudo doesn't catch it, but std does | ||
so when rakudo adopts std, this problem will go away :) | |||
masak | bacek: Rakudo doesn't just try to, it succeeds (and loops infinitely as a consequence) | ||
Matt-W | masak: but loopy statement modifiers on loop { } are completely useless, so it needs to be smarter about that? | ||
masak | wayland76: if I thought like that, not many bugs would be submitted. :P | ||
Matt-W: yes, definitely. | 09:49 | ||
Matt-W: that's what we're talking about, that Rakudo does this wrong. | |||
for one thing, it doesn't adhere to STD on this point. | |||
09:49
zamolxes left
|
|||
masak | maybe that's actually the bug. | 09:50 | |
Matt-W | deviation from STD is usually a bug, isn't it? | ||
masak | Matt-W: aye | ||
rakudo: loop { say "OH HAI"; last } while 1 | |||
p6eval | rakudo 95ce39: OUTPUT«OH HAICould not find non-existent sub whilecurrent instr.: '_block14' pc 119 (EVAL_17:63)» | ||
masak | WTF? | 09:51 | |
moritz_: why does it do that? | |||
moritz_ | I thinks that the statemetn is ended after the } | 09:52 | |
Matt-W | that's what made me think it wasn't seeing a statement modifier | ||
because it's clearly going hunting for a sub called while | |||
moritz_ | then tries to parse the while as a loop | ||
09:52
ejs2 left
|
|||
moritz_ | fails | 09:52 | |
then parses it as a sub call | |||
masak | moritz_: that's just wrong. | ||
wayland76 | rakudo: loop { say "OH HAI"; last } while 1 == 1; | ||
moritz_ | it is. | ||
p6eval | rakudo 95ce39: OUTPUT«OH HAICould not find non-existent sub whilecurrent instr.: '_block14' pc 137 (EVAL_17:67)» | ||
09:52
mberends joined
|
|||
masak submits rakudobug | 09:52 | ||
wayland76 | rakudo: loop { say "OH HAI"; last } while my $count < 10; | 09:53 | |
moritz_ | rakudo: loop { say "OH HAI"; last } while 0 { say "in while" } | ||
p6eval | rakudo 95ce39: OUTPUT«Redeclaration of variable $countOH HAILexical '$count' not foundcurrent instr.: '_block14' pc 110 (EVAL_18:61)» | ||
rakudo 95ce39: OUTPUT«OH HAI» | |||
moritz_ | there you go | ||
masak | moritz_: thanks | ||
moritz_ | it treats like there was a ; after the } | ||
rakudo: loop { say "OH HAI"; last } while 1 { say "in while"; last } | |||
p6eval | rakudo 95ce39: OUTPUT«OH HAIin while» | ||
09:53
pidus left
|
|||
moritz_ | how sick must I be to know in which way Rakudo mis-parsed some input? *g* | 09:55 | |
(without looking at the parse tree, that is) | |||
wayland76 | @karma-all | ||
lambdabot | "moritz" 418 | ||
"pmichaud" 292 | |||
"lwall" 222 | |||
"pmurias" 216 | |||
"azawawi" 124 | |||
[937 @more lines] | |||
wayland76 | There's your sickness rating :) | ||
moritz_ | thanks :-) | 09:56 | |
@karma TimToady | |||
lambdabot | TimToady has a karma of 20 | ||
moritz_ | @karma moritz_ | ||
lambdabot | You have a karma of 34 | ||
wayland76 | @karma larry | 09:58 | |
lambdabot | larry has a karma of 26 | ||
wayland76 | The only one in the top 10 whose karma is out of place is jonathan, I think | ||
@karma c/c haskell perl perl6 php | 09:59 | ||
lambdabot | c/c has a karma of 44 | ||
wayland76 | @karma haskell perl perl6 php | ||
lambdabot | haskell has a karma of 49 | ||
moritz_ | @karma jnthn | ||
lambdabot | jnthn has a karma of 74 | ||
wayland76 | @karma perl perl6 php | ||
lambdabot | perl has a karma of 2 | ||
wayland76 | @karma perl6 php | ||
lambdabot | perl6 has a karma of 3 | ||
moritz_ | @karma jonathan | ||
lambdabot | jonathan has a karma of 65 | ||
wayland76 | @karma php | ||
lambdabot | php has a karma of -2 | ||
wayland76 | perl6++ :) | ||
bacek | @karma bacek | 10:02 | |
lambdabot | You have a karma of 35 | ||
bacek | I have to check karma on #parrot | 10:03 | |
10:03
alc left
10:05
krunen joined
|
|||
bacek | moritz_: (about karma :) can you review nopaste.snit.ch/15832? | 10:10 | |
moritz_ | bacek: it looks fine to me... | 10:17 | |
could you submit it to rt? | |||
I'm kinda busy right now :( | |||
bacek | moritz_: easy | ||
lemme few seconds to squash all commits. | 10:18 | ||
10:23
wayland76 left
10:24
wayland76 joined
|
|||
pugs_svn | r25786 | masak++ | [u4x/TODO] s/word/ww/ | 10:26 | |
masak | did someone reply to poor Stephen Schoenberger who seems to think that p6l is a forum for Perl 5 questions? | 10:34 | |
wayland76 | I did | 10:35 | |
moritz_ | good | ||
masak | wayland76++ | ||
wayland76 | Told him to go elsewhere, and answered his question :) | ||
(but more politely :) ) | |||
Is there a good forum for basic perl5 questions? | |||
moritz_ | perlmonks.org | 10:36 | |
masak | #perl on this server. | ||
wayland76 | Ah, of course | ||
I'll tell him those | |||
masak | great. | ||
moritz_ | masak: isn't #perl more of a bashing channel? | ||
masak | moritz_: I think that's #perl on irc.perl.org | ||
moritz_ | ah | ||
masak | but I'm not sure, I'm seldom on either. | ||
#bash is a bashing channel, though. :) | 10:37 | ||
the guys there are good, but very sharp-tongued. | |||
10:38
pmurias joined
|
|||
pmurias | rehi | 10:38 | |
moritz_ | well, there are also sharp-tongued people on perlmonks | ||
but usually some of the replies are friendly as well | |||
masak | sharp tongues have their uses. | ||
moritz_ | aye | ||
they encourage you to read the docs | 10:39 | ||
10:39
rkendall joined
|
|||
wayland76 | I have a sharp tongue with those who won't help themselves | 10:39 | |
I checked out the #perl channels today, and my experiences aligned closely with what masak described | 10:40 | ||
masak | rakudo: &map.assuming({} | ||
p6eval | rakudo 95ce39: OUTPUT«Statement not terminated properly at line 1, near "({}"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
masak | rakudo: &map.assuming({}) | ||
p6eval | rakudo 95ce39: OUTPUT«Null PMC access in find_method()current instr.: '_block14' pc 85 (EVAL_16:42)» | ||
masak submits rakudobug | 10:41 | ||
moritz_ | rakudo: &map.assuming({}); say "alive" | ||
p6eval | rakudo 95ce39: OUTPUT«Null PMC access in find_method()current instr.: '_block14' pc 84 (EVAL_17:42)» | ||
masak | aye, that's more informative. | ||
10:43
ejs joined
10:44
ihrd joined
|
|||
bacek | moritz_: github.com/bacek/rakudo/commit/cc75...96cae9bbde I've send it to [email@hidden.address] But I'm not sure about my git-send-emailf-u | 10:45 | |
ouch. git-send-email-fu | |||
pugs_svn | r25787 | pmurias++ | [smop] revert previous naive commit | 10:49 | |
r25787 | pmurias++ | [mildew] fixe to work with the HEAD STD | |||
r25787 | pmurias++ | t/our_sub.t fails due to a ref-counting issue | |||
bacek | moritz_: ok, I broke RT... Can you merge #63764, #63762 and #63698 please :-/ | 10:50 | |
moritz_ | merged. | 10:52 | |
but you should comment which one is the best | 10:53 | ||
bacek | moritz_: ok. I'll do it in "old good way via RT" :) | 10:55 | |
ihrd | hi there! C<is context>, C<< CALLER::<$var> >> and other scope managment not implemented yet in Rakudo? | 10:59 | |
moritz_ | CALLER is not | 11:00 | |
is context - dunno | |||
lunch & | 11:01 | ||
masak has never seen 'is context' in live Perl 6 code | |||
bacek | "is context" some kind of zombie anyway :) | 11:02 | |
ihrd | rakudo: my $var is context<rw> = 'Boo!'; | ||
p6eval | rakudo 95ce39: RESULT«"Boo!"» | ||
ihrd | bingo! | ||
;) | |||
masak | ihrd: that doesn't necessarily mean anything :) | ||
ihrd | yes :) | ||
masak | normal variables can do that too. | ||
ihrd | yes, and I ask my question becasue of this | 11:03 | |
I found I can use set this trait | 11:04 | ||
but OUTER::<>, CALLER::<>, CONTEXT::<> do not work | 11:05 | ||
and do not parse | |||
masak | no. | ||
patches welcome :) | |||
ihrd | I know :) | 11:06 | |
Matt-W | When I was looking at form, it seemed that 'is context' is gone | 11:07 | |
although it was unclear if there was any sort of replacement to let you do something similar | |||
masak | Matt-W: what does it do? | 11:08 | |
bacek | moritz_: #63712 can be closed now. | ||
ihrd | I still see it in S02 and S06, but mb it is out of date | ||
bacek | moritz_: #63714 and #63716 should be merged... | ||
ihrd | masak: see S06:2661 | 11:09 | |
masak | ok. | ||
Matt-W | masak: E07 talks about sub format(*@args is context(Scalar)), which would cause @arrays passed as arguments to not be flattened into the argument lists | ||
so you can say format("picture", @data, $other_data) | |||
masak | Matt-W: I think that's '*@args as Scalar' nowadays. | 11:10 | |
Matt-W | ooh | ||
I shall have to remember that :) | |||
ruoso | moritz_, re "promoting Complex to Num"... I insist that we should do it like Math... and now that every built-in type is a Role... that should be fairly easy | 11:13 | |
i.e: 1 ~~ Complex should be true | 11:14 | ||
masak | that sounds like a Good Idea, yes. | ||
I believe Math is here to stay. :) | |||
and we should standardize on its API. | |||
ruoso | but 1i ~~ Int should be false | 11:15 | |
masak | of course. | ||
that'd be 1i ~~ Gaussian::Int or something. :) | |||
wayland76 | 1i.im ~~ Int | 11:17 | |
:) | |||
bacek | wayland76: it will not match. 1i.im ~~ Num will :) | 11:18 | |
wayland76 | Oh, of course :) | 11:23 | |
11:26
ejs left
11:33
alexn_org joined
|
|||
wayland76 | masak: Have you seen osteele.com/archives/2008/05/my-git-workflow | 11:37 | |
? | |||
It's got the diagram I've been looking for :) | 11:38 | ||
pmurias | ruoso: do you think we should keep the invocant slot in native capture and treat the invocant as a positional in the positional method? | 11:43 | |
ruoso | no... it wouldn't work... because if you call foo(1,2,3) and &foo happens to expect for an invocant, 1 should be that invocant | ||
pmurias | Perl6 code will always look for the invocant using .positional(0) | 11:44 | |
ruoso | I see, but I don't think there's much where to run | 11:45 | |
the invocant slot no longer exists | |||
semantically | |||
so, it's better to just remove it | |||
I think we could even remove the .invocant method in Capture as well, | 11:46 | ||
pmurias | should we also change SMOP__NATIVE__capture_create? | 11:48 | |
what i mean do we change the way captures are treate internally or only the methods they expose | 11:50 | ||
11:53
alexn_or1 joined
|
|||
wayland76 | 'night all :) | 11:54 | |
ruoso | pmurias, yes | 12:01 | |
we need to change the way captures are treated internally | 12:02 | ||
since capture is the type that comes from the lowest level and will be seen in the highest level | 12:03 | ||
12:03
alexn_org left,
frioux_ joined
12:04
frioux left
|
|||
pmurias | doing refactoring with search & replace is tedious :( | 12:10 | |
12:19
skids left
12:31
drbean_ is now known as drbean
12:33
rmt_ joined
|
|||
masak | bacek: why wouldn't 1i.im ~~ Int match? | 12:34 | |
wayland76: no, hadn't seen. nice. | |||
reminds me of audreyt's diagram about svk. | 12:35 | ||
wayland76: definitely a good diagram to have when learning git, I can tell. | |||
ruoso | masak, do you think rakudo has the features the sketched code I wrote uses? | 12:39 | |
masak | ruoso: I don't know, but I can review it and get back to you in a couple of minutes. | 12:40 | |
masak reviews github.com/masak/web/blob/master/do...work-roles | 12:44 | ||
ruoso: first question: why do you prefer $.begin-closure.(self) to $.begin-closure(self)? this ain't Perl 5. | 12:45 | ||
ruoso | I don't know, really | ||
actually | 12:46 | ||
masak | ok, just asking. I think those are equivalent here. | ||
ruoso | I do know | ||
they aren't | |||
masak | no? | ||
ruoso | $.begin-closure.(self) | ||
is the same as | |||
($.begin-closure).(self) | |||
while | |||
$.begin-closure(self) | |||
is just that | |||
masak | huh? | 12:47 | |
ruoso | $.begin-closure($a) | ||
calls method begin-closure with ($a) as argument | |||
masak | rakudo: my $a = { say "OH HAI" }; $a(); $a.() | ||
p6eval | rakudo 95ce39: OUTPUT«OH HAIOH HAI» | ||
SamB | perl6: my $a = { say "OH HAI" }; $a(); $a.() | 12:48 | |
masak | ruoso: there's no method involved. just an attribute with a Calleable in it. | ||
p6eval | elf 25787: OUTPUT«Can't use string ("1") as a subroutine ref while "strict refs" in use at (eval 124) line 4. at ./elf_h line 4377OH HAI» | ||
..pugs, rakudo 95ce39: OUTPUT«OH HAIOH HAI» | |||
ruoso | rakudo: class A { has $.a; method foo { $.a(1); $.a.(2) } }; my $a = A.new(:a({ .say }); $a.foo | ||
p6eval | rakudo 95ce39: OUTPUT«Statement not terminated properly at line 1, near "(:a({ .say"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
ruoso | rakudo: class A { has $.a; method foo { $.a(1); $.a.(2) } }; my $a = A.new(:a({ .say })); $a.foo | ||
p6eval | rakudo 95ce39: OUTPUT«12» | ||
masak is right | |||
ruoso | hmm | ||
something's wrong there | 12:49 | ||
masak | if you say so. | ||
SamB | perl6: class A { has $.a; method foo { $.a(1); $.a.(2) } }; my $a = A.new(:a({ .say })); $a.foo | ||
masak | my explanation of things holds, so I'm happy. | ||
p6eval | pugs: OUTPUT«*** No compatible multi variant found: "&a" at /tmp/ilgdwGtcpb line 1, column 33-39» | ||
..rakudo 95ce39: OUTPUT«12» | |||
..elf 25787: OUTPUT«Bareword found where operator expected at (eval 126) line 7, near "$.a" (Missing operator before a?)syntax error at (eval 126) line 7, near "$.a" at ./elf_h line 4377» | |||
12:49
mberends left
|
|||
ruoso | rakudo: class A { method a { { .say } }; method foo { $.a(1); $.a.(2) } }; my $a = A.new; $a.foo | 12:49 | |
p6eval | rakudo 95ce39: OUTPUT«Use of uninitialized valueinvoke() not implemented in class 'Integer'current instr.: 'parrot;A;foo' pc 421 (EVAL_22:165)» | ||
ruoso | there it is... | 12:50 | |
rakudo is making something wrong | |||
masak | what just happened? :) | ||
moritz_ | uhm | ||
masak | how can that even dispatch? | ||
ruoso | rakudo is probably assuming something because of "has $.a" | ||
moritz_ | method a { { .say } } | ||
that's supposed to return a closure, right? | |||
ruoso | yes | 12:51 | |
masak submits rakudobug | |||
ruoso | $.a(1) sends (1) as argument to method a | ||
$.a.(1) expects the return of a to be a callable, and then send 1 as an argument to that | |||
SamB pretends not to understand the difference ;-P | 12:52 | ||
ruoso | masak, and btw... | ||
there is *always* a method involved | 12:53 | ||
masak | ruoso: no, $.a.(1) is the same as $.a(1) | ||
ruoso | unless you use $!a | ||
masak | ruoso: right. | ||
ruoso | masak, so, if method a accepts an argument, how do you send it? | 12:54 | |
masak | ruoso: you're assuming that $.a.(1) makes two calls, one to a and one to its returned closure. I don't see why you assume that. | ||
ruoso | because of the two dots | ||
masak | ruoso: but .() and () are equivalent, no? | 12:55 | |
moritz_ | unless where they are not :-) | ||
SamB | masak: isn't that what the entire discussion has been about ? | ||
masak | SamB: yes. | ||
we're starting in on the second lap round the circle now. | 12:56 | ||
ruoso | masak, .() and () are equivalent when you're dealing with variables | ||
moritz_ | I think it would DWIM to make $.a.() being the same as $.a().a() | ||
ruoso | $foo() and $foo.() are the same | ||
moritz_ | but I have no idea if it's specced that way | ||
masak gives up | |||
we're evidently on uncharted territory here | |||
I'm pasting this whole discussion into the rakudobug | |||
ruoso | masak, $.a is not a variable | 12:57 | |
$.a is a method call | |||
masak | ruoso: I know. | ||
ruoso | even when you have "has $.a" | ||
masak | I know that. | ||
ruoso | so I'd say | 12:58 | |
masak | it's some sort of syntactic sugar for an accessor. | ||
ruoso | masak, no | ||
it's no syntatic sugar | |||
it's plain method call | |||
the same as self.a | |||
you can use $.foo independent of that being declared with "has" or not | |||
masak | ruoso: yes. | ||
'has $.a' is syntactic sugar for method calls to the metaclass, no? | |||
ruoso | right... yes... it's a "declarator" | 12:59 | |
but I meant | |||
moritz_ | $.a is syntactic sugar for $(self.a) | ||
ruoso | not really | 13:00 | |
because $.a(1) | |||
is not $(self.a)(1) | |||
moritz_ | ruoso: I talked about $.a, not $.a(1) | ||
masak 's head explodes | |||
moritz_ | moritz.faui2k3.org/tmp/out.html this is how STD.pm parses both | ||
and to the best of my humble knowledge they are parsed differently indeed | 13:01 | ||
ruoso | rakudo is making a special case because of the previous "has $.a" | 13:02 | |
masak | I look forward to an explanation to all of this, using only short words. | ||
ruoso | and that is wrong | ||
$.a is the same as self.a | |||
in the sense | |||
that | |||
$.a(1) is the same as self.a(1) | |||
std: class Foo { has $.a; method foo { $.a()() } } | 13:03 | ||
p6eval | std 25787: OUTPUT«ok 00:02 34m» | ||
ruoso | std: class Foo { has $.a; method foo { $.a().() } } | ||
p6eval | std 25787: OUTPUT«ok 00:02 34m» | ||
ruoso | masak, that's the point | ||
$.a.() is equivalent to $.a().() | 13:04 | ||
which is equivalent to $.a()() | |||
masak | ruoso: ok. | ||
I buy that. | |||
I just don't see why .() and () aren't equivalent in this particular case. | 13:05 | ||
ruoso | they are | ||
but you're missing that $.a is a method call | |||
not a variable | |||
masak | ah. | ||
ruoso | so, the full version of $.a is $.a() | 13:06 | |
masak sees now | |||
ruoso | then $.a()() and $.a().() are the same | ||
masak | ruoso: thank you for your patience with me. | ||
ruoso | masak, so, for the rakudobug | 13:07 | |
"rakudo is making an exception in the parse of $.a when the class defines "has $.a"" | |||
and it shouldn't | |||
masak | thanks. :) | ||
pasted. | |||
13:17
pmurias left
|
|||
masak | perl6: my @a = 1,2,3; @a[2] := []; say @a.perl | 13:24 | |
p6eval | elf 25787: OUTPUT«[1,2,3]» | ||
..rakudo 95ce39: OUTPUT«rtype not setcurrent instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)» | |||
..pugs: OUTPUT«\(1, 2, ())» | |||
masak submits rakudobug | |||
moritz_ | masak: array item binding is a known regression | 13:29 | |
masak | moritz_: if you have another RT ticket, I can merge the one I just submitted. | 13:30 | |
moritz_ | masak: I don't know if there's a ticket for that, I just know that there are comments in t/spectest.data about tests we've regressed on | 13:33 | |
masak | moritz_: ok. | ||
I have no qualms about turning known regressions into tickets. :) | |||
it might be part masak-rakudobug vanity, but it's part good accounting, too. | 13:34 | ||
moritz_ | I won't disagree with you here | ||
13:34
skids joined
13:40
ejs joined
|
|||
masak | arrgh, and binding of array elements is hard to work around, it turns out... | 13:46 | |
probably not impossible, though. an idea involving recursion is forming in my mind. good thing that #28396 got fixed... | 13:48 | ||
13:55
mberends joined
13:58
mikehh joined
14:10
[particle] joined
14:30
diakopter joined
|
|||
pmichaud | $.a(1) is syntactically special, and rakudo doesn't implement it yet. | 14:30 | |
$.a(1) is equivalent to self.a(1) | |||
as ruoso said :-) | |||
14:33
nihiliad joined,
skids left
|
|||
diakopter | 14:35 | ||
14:40
skids joined
|
|||
NoirSoldats | php-- | 14:43 | |
@karma php | |||
lambdabot | php has a karma of -3 | ||
diakopter | :| | ||
14:43
ChanServ sets mode: +o diakopter
14:46
ihrd left
|
|||
pmichaud | std: loop { say "hello"; last } while 1 | 14:56 | |
p6eval | std 25787: OUTPUT«##### PARSE FAILED #####Malformed block at /tmp/XhEex3M4b9 line 0:------>  expecting any of: infix or meta-infix infix stopper parameterized block standard stopperFAILED 00:04 34m» | ||
15:00
eternaleye left
|
|||
TimToady | it's possible, of course, that it's parsefailing the wrong way... :) | 15:01 | |
diakopter | the while is tighter than the loop? | 15:02 | |
TimToady | I don't know what it's thinking, offhand. might even be thinking several different thinks if it's doing unwarranted backtracking | 15:03 | |
std: loop { say "hello"; last } while 1 { say "boo" } | |||
p6eval | std 25787: OUTPUT«ok 00:04 34m» | 15:04 | |
TimToady | ohh, bug | ||
*ooh | |||
pmichaud | right. | ||
TimToady | so it's actually parsefailing because it's assuming a ; wrongly | 15:05 | |
diakopter | we need a way to pass in linebreaks to p6eval so we can test that synchronously/publicly :P | ||
TimToady | std: loop { say "hello"; last } while 1 { say "boo" } | 15:06 | |
moritz_ | diakopter: aye. If you can come up with a good idea, please tell me :-) | ||
p6eval | std 25787: OUTPUT«##### PARSE FAILED #####Syntax error at /tmp/16TZaPlwP7 line 1:------> loop { say "hello"; last } while 1 { say "boo" } expecting any of: blockoid terminator whitespaceFAILED 00:03 34m» | ||
moritz_ | I could s//\n/g | 15:07 | |
TimToady | works for me | ||
diakopter | heh | ||
TimToady | 'course I had to copy/paste the  | 15:08 | |
diakopter restarts irssi for unicodeness | |||
15:08
diakopter left
|
|||
pugs_svn | r25788 | moritz++ | [evalbot] transliterate newline symbols to actual line breaks | 15:10 | |
15:10
p6eval left
15:11
p6eval joined
|
|||
moritz_ | std: loop { say "hello"; last } while 1 { say "boo" } | 15:11 | |
rakudo: say "alive" | |||
p6eval | rakudo 95ce39: OUTPUT«alive» | ||
moritz_ | rakudo: say ord("") | 15:12 | |
rakudo: say "wtf?" | 15:13 | ||
p6eval | rakudo 95ce39: OUTPUT«wtf?» | ||
moritz_ | ah | ||
15:13
diakopter joined
|
|||
TimToady | unicodity? unicodicity? unicodification? unicoditarianism? | 15:13 | |
pugs_svn | r25789 | moritz++ | [evalbot] forget a few /s modifiers | 15:14 | |
moritz_ | no, \n and /s | ||
15:14
p6eval left
15:15
p6eval joined
|
|||
moritz_ | rakudo: say ord("") | 15:15 | |
rakudo: say "please" | |||
p6eval | rakudo 95ce39: OUTPUT«please» | ||
masak | :) | ||
TimToady | rakudo: say ord("x") | 15:16 | |
pugs_svn | r25790 | moritz++ | [evalbot] one more /s modifier | ||
p6eval | rakudo 95ce39: OUTPUT«120» | ||
15:16
p6eval left,
p6eval joined
|
|||
moritz_ | rakudo: say ord("") | 15:16 | |
p6eval | rakudo 95ce39: OUTPUT«10» | ||
moritz_ | there you go. | ||
TimToady | rakudo: say ord("«") | ||
p6eval | rakudo 95ce39: OUTPUT«171» | ||
moritz_ | std: loop { say "hello"; last }# while 1 { say "boo" } | 15:17 | |
TimToady | diakopter: how's your unicoditarianism? | ||
p6eval | std 25790: OUTPUT«ok 00:03 34m» | ||
moritz_ | std: loop { say "hello"; last } while 1 { say "boo" } | ||
p6eval | std 25790: OUTPUT«ok 00:04 34m» | ||
diakopter | I think it's still trinicoditarian | ||
brb | |||
15:17
diakopter left
15:23
diakopter joined
|
|||
diakopter | nope | 15:24 | |
15:24
diakopter left
|
|||
moritz_ | do you use screen? | 15:25 | |
15:26
diakopter joined
|
|||
diakopter | « | 15:27 | |
TimToady | looks good to me | ||
diakopter | hrm. I see the << but the NL is ?P? | 15:28 | |
pmichaud | rakudo: .say for (1,2,3).item; | ||
p6eval | rakudo 95ce39: OUTPUT«123» | ||
TimToady | you see big << or little <<? | ||
diakopter | little | ||
TimToady | font issue, perhaps? | 15:29 | |
do you see ☻? | 15:30 | ||
masak | ooh! | ||
TimToady | should be a smiley | ||
15:30
Tene joined
15:31
justatheory joined
|
|||
diakopter | nope. hrm. can /nick have those? | 15:31 | |
moritz_ | don't think so | ||
15:34
wayland76 left
|
|||
diakopter | lame: www.fileformat.info/info/unicode/fo...s/grid.htm | 15:34 | |
15:41
mberends left
15:42
Tene_ left
15:44
PacoLinux left
15:59
[particle] left
16:04
alexn_or1 left,
alexn_org joined
|
|||
pugs_svn | r25791 | pmichaud++ | [t/spec]: Update List.item test to match spec (RT #63350), unfudge for Rakudo | 16:09 | |
masak | rakudo: my @a = 1,2,3; say @a min 4 | 16:31 | |
p6eval | rakudo 531ca2: OUTPUT«Multiple Dispatch: No suitable candidate found for 'cmp', with signature 'PP->I'current instr.: 'infix:cmp' pc 15527 (src/builtins/cmp.pir:146)» | ||
masak | question is, is this a new one, or the same as the undef one? | ||
I should probably file it under the same ticket. | |||
pmichaud | it's not the same as the undef one | 16:32 | |
I'm curious about the correct behavior there, though. | 16:33 | ||
dalek | kudo: 531ca2c | pmichaud++ | docs/spectest-progress.csv: spectest-progress.csv update: 317 files, 7015 passing, 140 failing S32-num/complex.rakudo aborted 140 test(s) |
||
masak | pmichaud: I'd think that min numifies, so 3. | 16:34 | |
pmichaud | so, "3" min "13" is "13" ? | ||
er, 13 ? | |||
masak | no, why? | ||
numification implies numeric sorting. | |||
pmichaud | oh, it's 3. | ||
okay. | |||
masak submits rakudobug | |||
moritz_ | uhm, did I forget to push the implementation of .re and .im? | ||
masak | moritz_: I saw something about it by wayland in the commit mails on p6l. | 16:35 | |
pmichaud | moritz_: I didn't see it. | ||
16:35
riffraff joined
|
|||
moritz_ | then I really did, sorry for the breakage | 16:35 | |
pmichaud | S03 says that min has "cmp" semantics. | 16:36 | |
moritz_ | that's one thing I'm still not sure about... how do I know if all of my local changes are also in the repo? | ||
pmichaud | 'git status' tells me that, I think. | 16:37 | |
masak | moritz_: push and see if something goes through the pipe :) | ||
moritz_ | that tells me about non-commited changes | ||
but not about commited-but-not-pushed changes | |||
pmichaud | git status also tells me "local copy is 1 commit ahead of master" or something like that | ||
masak | moritz_: it does in my git version. | ||
moritz_: what pmichaud said. | |||
moritz_ | ah, maybe I need to read the output more carefully next time | 16:38 | |
dalek | kudo: d8f59ef | (Moritz Lenz)++ | src/classes/Complex.pir: implement .re and .im in Complex |
||
pmichaud | anyway, S03 says that "By default C<min> and C<max> use C<cmp> semantics." I don't think that implies numification of the arguments. | 16:39 | |
masak | oh. | 16:40 | |
but what happens when you cmp a Num and a List? | |||
pmichaud | I don't know. | 16:41 | |
Neither does Parrot, which is why we get "No suitable candidate found ... " :-) | |||
masak | pasting this addendum to the ticket. | ||
pugs_svn | r25792 | lwall++ | [STD] require semicolon between same-line statements more rigorously | 16:42 | |
16:49
wayland76 joined
|
|||
TimToady | std: loop { ... } foo | 16:49 | |
p6eval | std 25792: OUTPUT«##### PARSE FAILED #####Syntax error at /tmp/PGx7LM8FBh line 1:------> loop { ... } foo expecting terminatorFAILED 00:02 34m» | ||
TimToady | std: loop { ... } while | 16:50 | |
p6eval | std 25792: OUTPUT«Undeclared routine: while used at 1 ok 00:02 34m» | ||
TimToady | bot lag... | ||
moritz_: you have any idea why it says std 25792 but still has old semantics? is lex removal async with version update? | 16:51 | ||
moritz_ | it might be | ||
TimToady: I'll update the server, just a sec... | 16:52 | ||
Matt-W | rakudo: grammar A { }; A::parse() | 16:53 | |
moritz_ | std: loop { ... } while | ||
p6eval | rakudo d8f59e: OUTPUT«Null PMC access in invoke()current instr.: '_block14' pc 60 (EVAL_20:39)» | ||
std 25792: OUTPUT«##### PARSE FAILED #####Statements must be separated with semicolon at /tmp/HWFluPrLfH line 1:------> loop { ... } while expecting checksepFAILED 00:02 34m» | |||
TimToady | yay | ||
moritz_ | std: loop { ... } while 3 < 4 | ||
p6eval | std 25792: OUTPUT«##### PARSE FAILED #####Statements must be separated with semicolon at /tmp/v3KqhFSYQ8 line 1:------> loop { ... } while 3 < 4 expecting checksepFAILED 00:02 34m» | ||
TimToady | std: loop { ... } foo | ||
p6eval | std 25792: OUTPUT«##### PARSE FAILED #####Statements must be separated with semicolon at /tmp/YPuTmFFgbI line 1:------> loop { ... } foo expecting checksepFAILED 00:02 34m» | 16:54 | |
TimToady | std: loop { ... } 1 | ||
p6eval | std 25792: OUTPUT«##### PARSE FAILED #####Statements must be separated with semicolon at /tmp/ajYfci455A line 1:------> loop { ... } 1 expecting checksepFAILED 00:02 34m» | ||
TimToady | std: if { ... } 1 | ||
p6eval | std 25792: OUTPUT«##### PARSE FAILED #####Malformed block at /tmp/BrwY2sin4D line 1:------> if { ... } 1 expecting any of: infix or meta-infix infix stopper parameterized block standard stopper terminatorFAILED 00:02 34m» | 16:55 | |
TimToady | std: if 42 { ... } 1 | ||
p6eval | std 25792: OUTPUT«##### PARSE FAILED #####Statements must be separated with semicolon at /tmp/bhhMyNVFuf line 1:------> if 42 { ... } 1 expecting checksepFAILED 00:02 34m» | ||
TimToady is happy | |||
pmichaud | ☻ | 16:56 | |
masak 也很高兴 | 16:57 | ||
TimToady | found one buglet | 17:00 | |
std: if do {...} {...} | |||
p6eval | std 25792: OUTPUT«##### PARSE FAILED #####Statements must be separated with semicolon at /tmp/Eg2IljSc6s line 1:------> if do {...} {...} expecting any of: checksep infix stopper standard stopper statement modifier loop terminatorFAILED 00:02 34m» | 17:01 | |
pmichaud | I think I'll wait until STD.pm has been run against the test suite again before updating Rakudo. :-) | ||
TimToady | need to allow { if goal is appropriate | ||
it's the test suite that found that one :) | |||
pmichaud | oh, goodie. | ||
TimToady | seems to be the only glitch so far | 17:02 | |
17:05
alexn_org left
|
|||
pugs_svn | r25793 | pmichaud++ | [t/spec]: Fix up diagnostic message to match test. | 17:12 | |
17:14
rkendall left,
rindolf joined
|
|||
rindolf | rakudo: my $v = 0; if (0) { $v = 500; } [$v] | 17:15 | |
p6eval | rakudo d8f59e: OUTPUT«Statement not terminated properly at line 1, near "[$v]"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
rindolf | rakudo: my $v = 0; if (0) { $v = 500; } [$v]; | ||
p6eval | rakudo d8f59e: OUTPUT«Statement not terminated properly at line 1, near "[$v];"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
rindolf | rakudo: my $v = 0; if (0) { $v = 500; } ; [$v]; | ||
p6eval | rakudo d8f59e: RESULT«[0]» | ||
rindolf | rakudo: my $v = "Default"; if (0) { $v = "0 is true"; } ; [$v]; | 17:16 | |
p6eval | rakudo d8f59e: RESULT«["Default"]» | ||
pugs_svn | r25794 | lwall++ | [STD] tweak previous fix to not require semi at infixstopper | ||
TimToady | std: if do {...} {...} | 17:17 | |
p6eval | std 25793: OUTPUT«##### PARSE FAILED #####Statements must be separated with semicolon at /tmp/LTD0bW5zJU line 1:------> if do {...} {...} expecting any of: checksep infix stopper standard stopper statement modifier loop terminatorFAILED 00:02 34m» | ||
TimToady | std: if do {...} {...} | 17:21 | |
p6eval | std 25794: OUTPUT«##### PARSE FAILED #####Statements must be separated with semicolon at /tmp/dYtKwVx0GS line 1:------> if do {...} {...} expecting any of: checksep infix stopper standard stopper statement modifier loop terminatorFAILED 00:02 34m» | 17:22 | |
TimToady | still lags for some reason | ||
std: 42 ?? do {...} !! 43 | 17:23 | ||
p6eval | std 25794: OUTPUT«##### PARSE FAILED #####Statements must be separated with semicolon at /tmp/qin7Qb7EJ0 line 1:------> 42 ?? do {...} !! 43 expecting any of: checksep standard stopper statement modifier loop terminatorFAILED 00:02 34m» | ||
17:23
masak left
|
|||
TimToady | std: 42 ?? do {...} !! 43 | 17:24 | |
p6eval | std 25794: OUTPUT«##### PARSE FAILED #####Statements must be separated with semicolon at /tmp/qrdO7iNMnl line 1:------> 42 ?? do {...} !! 43 expecting any of: checksep standard stopper statement modifier loop terminatorFAILED 00:02 34m» | ||
TimToady | std: 42 ?? do {...} !! 43 | 17:32 | |
p6eval | std 25794: OUTPUT«##### PARSE FAILED #####Statements must be separated with semicolon at /tmp/uUM2WA517P line 1:------> 42 ?? do {...} !! 43 expecting any of: checksep standard stopper statement modifier loop terminatorFAILED 00:02 34m» | ||
17:33
M_o_C joined
|
|||
TimToady | std: 42 ?? do {...} !! 43 | 17:40 | |
p6eval | std 25794: OUTPUT«ok 00:02 34m» | ||
TimToady | std: if do {...} {...} | ||
p6eval | std 25794: OUTPUT«ok 00:02 34m» | ||
TimToady | finally... | ||
pmichaud: passes all tests now | 17:41 | ||
std: do {...} {...} | |||
p6eval | std 25794: OUTPUT«##### PARSE FAILED #####Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?) at /tmp/6cMWvIs6MQ line 1:------> do {...} {...} expecting any of: infix or meta-infix infix stopper standard stopper | 17:42 | |
..terminatorFAILE... | |||
TimToady | std: loop {...} {...} | ||
p6eval | std 25794: OUTPUT«##### PARSE FAILED #####Syntax error at /tmp/lC4fRyjigK line 1:------> loop {...} {...} expecting terminatorFAILED 00:02 34m» | ||
TimToady | std: loop {...} 42 | ||
p6eval | std 25794: OUTPUT«##### PARSE FAILED #####Syntax error at /tmp/Omn9GOcA0R line 1:------> loop {...} 42 expecting terminatorFAILED 00:02 34m» | ||
TimToady | hmm | ||
still something a bit off there | 17:44 | ||
17:46
PacoLinux joined
|
|||
TimToady | perhaps <!infixstopper> is overkill... | 17:46 | |
well, more tweaking later | 17:47 | ||
17:51
[particle] joined
18:08
barney joined
|
|||
mikehh | t/spec/S32-list/reduce.rakudo - TODO passed: 14 | 18:25 | |
moritz_ | rakudo doesn't like throwing of exceptions in CATCH blocks | 18:27 | |
18:30
alester joined
|
|||
mikehh | rakudo (d8f59ef) All tests successful. at parrot r37268 for make spectest | 18:30 | |
om Linux i386 | |||
on | |||
18:31
Psyche^ joined
|
|||
pmichaud | except for syntax, what's what's the essential difference between a private method and a submethod? | 18:37 | |
TimToady | you can call a submethod from outside the class | 18:38 | |
moritz_ | that a submethod can be called from outside the class | ||
ah, TT beat me | |||
pmichaud | does the synopsis indicate "inside the class" anywhere? | ||
or is that just assumed by "private"? | 18:39 | ||
ruoso | pmichaud, a submethod is part of the regular dispatch | 18:40 | |
er | |||
quite | |||
a submethod is part of the dispatch when the invocant is of that exact type | |||
but the dispatch doesn't see submethods declared in superclasses | |||
pmichaud | ruoso: but the same could be said of private methods. | ||
ruoso | for instance | ||
pmichaud, no | 18:41 | ||
submethod BUILD | |||
during BUILDALL | |||
pmichaud | I understand what submethods are, yes. | ||
ruoso | you get $prototype.BUILD($candidate, |%args) | ||
if that $prototype implements it's own submethod | |||
it will get called | |||
but if it doesn't | |||
pmichaud | btw, moritz++ says that $candidate should not be part of the signature to BUILD :-) | ||
ruoso | it needs to | 18:42 | |
it's the only way of it actually being called | |||
you call $protoobject.BUILD($candidate) | |||
for that specific $protoobject | |||
s/for that/for each/ | 18:43 | ||
moritz_ | ruoso: why? in BUILD you can access self | ||
ruoso | but if you call $object.BUILD | 18:44 | |
it won't see each superclass implementation | |||
pmichaud | moritz: because self.BUILD would only be the BUILD for the class defined by self. What about the supercl... right. | ||
ruoso | and also | ||
pmichaud | ruoso: anyway, I understand how submethod dispatch works, yes -- I'm asking how private methods are different from that. | ||
ruoso | pmichaud, private methods relate to private attributes | 18:45 | |
TimToady | ah, found the new bug; refactoring error | ||
pmichaud | ruoso: they don't have to. | ||
method !foo() { ... } | |||
ruoso | pmichaud, it relates in the sense that it is not virtual | ||
you know at compile time which piece of code will be invoked | |||
moritz_ | pmichaud: I think one difference is that if you declare that you trust your subclasses, private methods do normal dispatch | 18:46 | |
ruoso | moritz_, even then... calling a foreign private method has a special syntax | ||
it doesn't fallback to normal dispatch in any case | |||
moritz_ | ok | ||
anyway, I don't understand the issue with BUILD and superclasses | 18:47 | ||
ruoso | submethods are not inherited | ||
moritz_ | say you have A is B and B is C | ||
pugs_svn | r25795 | lwall++ | [STD] previous patch moved code into statement but then "self." needed to be "$¢." | ||
moritz_ | then somebody calls A.new | ||
then B.BUILD is called first | |||
erm, C.BUILD | |||
then B.BUILD | |||
pmichaud | moritz_: but how are you going to invoke C.BUILD? | ||
ruoso | yes... C.BUILD($object-buing-built) | ||
moritz_ | pmichaud: you don't, because you don't care about your subclasses | 18:48 | |
18:48
Patterner left,
Psyche^ is now known as Patterner
|
|||
pmichaud | moritz_: when calling C.BUILD, what's the invocant? | 18:48 | |
moritz_ | pmichaud: and because .new calls C.BUILD for you in the end anyway | ||
pmichaud: an object of type C | |||
that is then reblessed into one of type B | |||
ruoso | moritz_, the order is actually.... new -> CREATE,bless -> BUILDALL -> *BUILD | ||
pmichaud | but that object won't be the one being built | ||
ruoso | moritz_, no rebless | 18:49 | |
it is blessed as the actual type only once | |||
moritz_, see smop/src-s1p/Object.pm / ClassHOW.pm | |||
I've written down the instantiation sequence according to S12 | |||
moritz_ | I see, I haven't fully grokked that stuff yet | 18:50 | |
TimToady | std: loop {...} 42 | ||
p6eval | std 25795: OUTPUT«##### PARSE FAILED #####Syntax error at /tmp/geNihzmxWM line 1:------> loop {...} 42 expecting terminatorFAILED 00:02 34m» | ||
moritz_ | anyway, the signature of BUILD needs a good spec, and needs to be implemented that way | ||
18:50
kane_ left
|
|||
moritz_ | currently what rakudo does doesn't match some examples in S12 | 18:50 | |
pmichaud | (the examples in S12 don't show the candidate as part of BUILD, yes) | ||
ruoso | hmmm | 18:51 | |
actually | |||
I just realized the code I sketched in ClassHOW.pm does something that is not going to work | 18:52 | ||
$prototype.?BUILD($object: |%protoargs, |%initialize); | |||
that needs to be update | 18:53 | ||
18:54
M_o_C left
18:55
Helios left
|
|||
pugs_svn | r25796 | ruoso++ | [smop/src-s1p] contrary to my initial ideas, sending a different invocant to a method dispatch is not allowed. changing BUILD and DESTROY to support that | 18:55 | |
TimToady | std: loop {...} 42 | 18:56 | |
moritz_ | if you loop, it might loop ... ;-) | 18:57 | |
TimToady | fails fine here... :) | ||
18:59
riffraff left,
jferrero left
|
|||
p6eval | std 25795: OUTPUT«##### PARSE FAILED #####Statements must be separated with semicolon at /tmp/QeqvrrxRNO line 1:------> loop {...} 42 expecting any of: infix stopper statementFAILED 00:02 34m» | 18:59 | |
19:00
Helios joined,
literal left,
literal joined
|
|||
moritz_ | rakudo: say 'a b c d e f'.split(' ', 2).perl | 19:01 | |
p6eval | rakudo d8f59e: OUTPUT«["a", "b c d e f"]» | ||
TimToady | std: 42 | 19:02 | |
p6eval | std 25796: OUTPUT«ok 00:02 34m» | ||
TimToady | std: loop {...} 42 | ||
p6eval | std 25796: OUTPUT«##### PARSE FAILED #####Statements must be separated with semicolon at /tmp/sy78i6Q5WD line 1:------> loop {...} 42 expecting any of: infix stopper statementFAILED 00:02 34m» | ||
TimToady | std: loop {...} while 1 {...} | ||
p6eval | std 25796: OUTPUT«##### PARSE FAILED #####Statements must be separated with semicolon at /tmp/Lzuw6FJQIp line 1:------> loop {...} while 1 {...} expecting any of: infix stopper statementFAILED 00:02 34m» | ||
TimToady | std: if do {...} {...} | ||
pmichaud | (private methods): So, when we encounter something like $xyz!foo(...) -- it has to occur inside of a class declaration, and we have to verify that !foo exists in that specific class declaration? | ||
p6eval | std 25796: OUTPUT«ok 00:02 34m» | ||
TimToady | it's basically just a subroutine call that may or may not be permitted depending on whether the class trusts you | 19:03 | |
pmichaud | where "you" is... ? | ||
TimToady | and a class naturally trusts itself | ||
I suppose it's trusting ::?CLASS | 19:04 | ||
pmichaud | so, CALLER::?CLASS ? | 19:05 | |
ruoso | pmichaud, yes | ||
not for the last line I mean | 19:06 | ||
but for your original question | |||
in fact | |||
pmichaud | ruoso: what you're saying doesn't sound to me as though it's matching what TimToady is saying. | ||
ruoso | ok... $xyz!foo doesn't really makes much sense, except if $xyz if of the type of your own class | 19:07 | |
or if $xyz is actually binded to the invocant of this method | |||
pmichaud | or if $xyz's type "trusts you" -- however that's defined. | ||
ruoso | even then | ||
TimToady | call a subroutine in the exact class of $xyz that trusts CALLER::?CLASS if that's in its trusted list | ||
ruoso | you need to say $xyz!Somewhere::privmethod() | 19:08 | |
TimToady | that works too | ||
ruoso | $xyz!foo should fail if $xyz !~~ ::?CLASS | 19:09 | |
but if you have a private method in your class named "foo" | |||
and $xyz ~~ ::?CLASS | |||
it can call the private method in your class | |||
pmichaud | ruoso: it has to be more restrictive than ~~ ::?CLASS | ||
ruoso | why? | 19:10 | |
pmichaud | because $xyz could be a subclass of ::?CLASS | ||
and it might have a !foo that is different from yours. | |||
and are subclasses automatically trusted? | |||
ruoso | pmichaud, that's the point I'm trying to make | ||
the private dispatch is different then the regular dispatch | 19:11 | ||
private methods are not inherited | |||
pmichaud | I understand that the private dispatch is different than regular dispatch | ||
I understand that private methods are not inherited | |||
I'm trying to nail down private dispatch. | |||
ruoso | so $xyz!foo means "look at the private method in this class" | ||
while $xyz!Somewhere::foo means "look at a private method there" | 19:12 | ||
pmichaud | ruoso: so you're saying there's not really a concept of "trusted classes" | ||
ruoso | but Somewhere needs to trust you... | ||
pmichaud | or you're saying that !foo always means !foo in the current class. | ||
ruoso | yes | ||
!foo is always local | |||
pmichaud | okay. | ||
ruoso | if you want to call a foreign private method | ||
you need to fully qualify it | 19:13 | ||
and the foreign class needs to trust you | |||
pmichaud | and we need to figure out how to look up private methods via the Someclass::foo syntax :-) | ||
ruoso | pmichaud, that's the cool par | ||
private dispatch is not virtual, which means that it can be solved at compile-time | |||
19:14
rindolf left
|
|||
pmichaud | yes, but it might require some sort of forward reference to do so. | 19:14 | |
19:14
Patterner left
|
|||
ruoso | as long as that it gets consistent in the end of the compilation | 19:14 | |
pmichaud | okay, I can work with that. Thanks. | 19:15 | |
19:16
[particle] left
19:21
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
bacek | good morning | 19:21 | |
pmichaud | good morning | 19:26 | |
moritz_ | I've written a List.reduce that doesn't rely on any indexing or shifting of the invocant... | 19:27 | |
nopaste.snit.ch/15852 | 19:28 | ||
and it warns if there are trailing items that can't be bound | |||
ruoso | pmichaud, so in summary... for "$xyz!foo" it must 1) $xyz ~~ ::?CLASS 2) method !foo in this class | ||
pmichaud | ruoso: got it, thanks. | 19:29 | |
I agree. | |||
moritz_ | however it does hide exceptions from $expression() | ||
but I think it's the best we can do for now, because we can't filter out the exception from a failed bind to the signature | |||
and it only hides those exceptions in the last call when there are trailing items | 19:30 | ||
any thoughts? | |||
bacek | moritz_: you construct list twice. | 19:31 | |
pmichaud | how about if @args > 1 && @args >= $expression.arity ? | ||
moritz_ | bacek: yes, but that's not that bad, because if self is a list already, .list is a no-op | ||
and if not, it's just a list of length 1 that's created twice | |||
bacek | moritz_: not in case of Range. | ||
moritz_ | hm | 19:32 | |
pmichaud: and then... what? | |||
try it? | |||
and if it's not >= .arity then warn without trying? | |||
pmichaud | moritz_: we only have a failure if @args < $expr.arity .... right | 19:33 | |
19:33
barney left
|
|||
pmichaud | i.e., we can check for sufficient number of arguments without having to actually call $expr | 19:33 | |
moritz_ | ok | ||
pmichaud | (the dispatch might still fail... but then we'd get an appropriate exception) | ||
bacek | rakudo: multi sub foo($a, $b) { $a+$b }; multi sub foo ($a,$b,$c) { $a+$b*$c }; map &foo, 1..4; | ||
p6eval | rakudo d8f59e: OUTPUT«Null PMC access in find_method()current instr.: 'parrot;P6object;WHAT' pc 83 (runtime/parrot/library/P6object.pir:112)» | ||
bacek | Is map suppose to work with multisubs? | 19:34 | |
pmichaud | it probably should, yes. | ||
moritz_ | but any mention of &multisub seems to cause Null PMC accesses | ||
pmichaud | on the other hand, it's hard to know how to handle arity/count in that case. | ||
(another reason for needing a partial signature match operation, I suppose) | 19:35 | ||
rakudo: multi sub foo() { ... }; say &foo.PARROT; | |||
p6eval | rakudo d8f59e: OUTPUT«Null PMC access in find_method()current instr.: '_block14' pc 79 (EVAL_21:43)» | ||
pmichaud | rakudo: sub foo() { ... }; say &foo.PARROT; | 19:36 | |
p6eval | rakudo d8f59e: OUTPUT«Perl6Sub» | ||
pmichaud | is there already a rakudobug for that? | 19:37 | |
moritz_ | for some form of it, yes | ||
but I can't find it right now | 19:38 | ||
ah, rt.perl.org/rt3/Ticket/Display.html?id=63568 | |||
frioux_ | hey guys, you mind if I ask a perl5ish question? | 19:39 | |
I only ask here because I know you are all smart and not jerks | |||
well, I'll just ask. Ignore me if you don't know or whatever :-) | |||
anyway, is there a really good reason not to use mod_perl for speed boosts? | 19:40 | ||
bacek | frioux_: existence of fastcgi | ||
rakudo: multi sub foo { ... }; say &foo.HOW; | 19:41 | ||
p6eval | rakudo d8f59e: OUTPUT«Null PMC access in find_method()current instr.: '_block14' pc 79 (EVAL_19:43)» | ||
frioux_ | bacek: we are using win32, is that an option for us? | ||
bacek | frioux_: using win32 is not an option. | ||
frioux_ | yeah, I was afraid of that | 19:42 | |
bacek | frioux_: join #perl on irc.perl.org. | ||
rakudo: multi sub foo { ... }; say &foo; | 19:43 | ||
p6eval | rakudo d8f59e: OUTPUT«foo» | ||
frioux_ | seriously? They don't even answer questions | ||
anyway, I'll look into fastcgi and see if we can pull something off with that | |||
moritz_ | frioux_: then try perlmonks.org | ||
frioux_ | thanks bacek | ||
moritz_: that's a good idea too; thanks | |||
bacek++ moritz++ | 19:44 | ||
bacek scratching head... | |||
Is it possible to implement fastcgi handling in current Rakudo? | |||
moritz_ | uhm, does the fastcgi involve any more than reading from STDIN? | 19:45 | |
bacek | moritz_: it's usually reading from sockets. | 19:46 | |
But I already found that it should be possible. | |||
..if runtime/parrot/library/HTTP/Daemon.pir is alive... | 19:47 | ||
pmichaud: (NULL in find_method) .'HOW' returns null for multisubs. | 19:48 | ||
19:48
netsquire joined
|
|||
pmichaud | okay. I _really_ need to refactor method dispatch in Rakudo -- I don't like the way it's set up now. | 19:51 | |
alester | pmichaud: I have a dumb error that I fixed in 7e50e6a0baa4ca2c6874ddb1f7e2a69c1b0476d0 | 19:52 | |
pmichaud | alester: send a patch? | 19:53 | |
alester | where | ||
pmichaud | [email@hidden.address] | ||
alester | I'm surprised nobody has run into it yet. | ||
TimToady | pmichaud: latest semicolon-required patch seems to be a keepr | 19:54 | |
*keeper | |||
pmichaud | TimToady: noted. I'll take a look at it in a few days -- I'm trying to catch up on other patches/documentation things. | ||
TimToady | sure, not worried | 19:55 | |
just looking forward to the day when rakudo produces really great error messages | |||
(realizing that a great deal of the impediment is not strictly rakudo's problem ;) | 19:56 | ||
pmichaud | rakudo will probably get its biggest improvement in error messages when it's using STD.pm for its parser :-) | ||
and yes, I look forward to that day also. | 19:57 | ||
I think STD.pm's error trapping and suggestions are Really Cool. | |||
TimToady | I'm wondering how close we are to writing a version of Cursor.pm in rakudoperl | ||
pmichaud | I'll be taking a look at it towards the end of the month. | 19:58 | |
I had hoped to be doing that long before now, but other items keep getting in the way. | |||
19:58
armagad left,
awarefish joined
|
|||
TimToady | all Things To Be Done First are created equal, but some are more equal than others... :) | 19:59 | |
20:00
[particle] joined
20:08
donaldh joined
20:16
alester left
|
|||
bacek | runtime/parrot/library/HTTP/Daemon.pir is dead... It even can't be parsed by imcc. | 20:16 | |
ruoso | std: multi foo { }; [&foo] 1,2,3,4,5; | 20:17 | |
p6eval | std 25796: OUTPUT«##### PARSE FAILED #####Syntax error (two terms in a row?) at /tmp/Z1oMY80FpE line 1:------> multi foo { }; [&foo] 1,2,3,4,5; expecting any of: infix or meta-infix infix stopper standard stopper statement modifier loop terminatorFAILED 00:03 | ||
..46m» | |||
bacek | std: multi foo {...}; [&foo] 1,2,3,4,5; | 20:19 | |
p6eval | std 25796: OUTPUT«##### PARSE FAILED #####Syntax error (two terms in a row?) at /tmp/OiZt2sONYH line 1:------> multi foo {...}; [&foo] 1,2,3,4,5; expecting any of: infix or meta-infix infix stopper standard stopper statement modifier loop terminatorFAILED | ||
..00:05 49m» | |||
bacek | std: multi sub foo {...}; [&foo] 1,2,3,4,5; | ||
p6eval | std 25796: OUTPUT«##### PARSE FAILED #####Syntax error (two terms in a row?) at /tmp/92GHeVbWso line 1:------> multi sub foo {...}; [&foo] 1,2,3,4,5; expecting any of: infix or meta-infix infix stopper standard stopper statement modifier loop terminatorFAILED | ||
..00:03 46m» | |||
wayland76 | ruoso++ for helping explain rakudobugs while working on SMOP :) | 20:28 | |
(backlogging) | |||
ruoso | TimToady, what would it take for me to define a custom multi sub that could be used in a reduce operator? | 20:36 | |
and how would I call it? since "[&foo] 1,2,3,4" means something else | 20:37 | ||
pmichaud | ruoso: maybe use .reduce instead? | 20:38 | |
ruoso | sure, but I was wondering if I couldn't use it as the reduce operator | 20:39 | |
pmichaud | you could likely do it if foo is defined as infix:<foo> | ||
ruoso | rakudo: multi a(Str $a, Num $b) { return [+] +$a, $b }; multi a(Num $a, Num $b) { return [+] $a,$b }; say (1,"2",3,3).reduce: &a; | 20:41 | |
wayland76 | frioux_: Actually, the friendly channel is #perl on FreeNode | ||
p6eval | rakudo d8f59e: OUTPUT«No applicable methods.current instr.: 'parrot;P6metaclass;dispatch' pc 130 (src/classes/ClassHOW.pir:93)» | ||
ruoso | rakudo: multi a(Num $a, Str $b) { return [+] $a, +$b }; multi a(Num $a, Num $b) { return [+] $a,$b }; say (1,"2",3,3).reduce: &a; | 20:42 | |
p6eval | rakudo d8f59e: OUTPUT«No applicable methods.current instr.: 'parrot;P6metaclass;dispatch' pc 130 (src/classes/ClassHOW.pir:93)» | ||
pmichaud | rakudo doesn't know how to reduce multis yet, no. | ||
It has a problem with &a | |||
ruoso | ok... | ||
pmichaud | and I don't know that we've written .reduce to be able to handle multis yet either. | 20:43 | |
ruoso | pmichaud, is it very far from that? | ||
moritz_ | the Perl 6 version that I'm working on isn't | ||
assuming that &multi.arity returns a junction of Int's | 20:44 | ||
don't know if it's supposed to be that way | |||
ruoso | moritz_, I was thinking about it... | ||
and ideally it shouldn't ask for the arity | |||
pmichaud | yes, it's an unresolved question what to do with multi subs that have different arities | ||
agreed, ideally it shouldn't ask for the arity -- but for that we need the partial signature matching that TimToady is working on | 20:45 | ||
20:45
pjcj_ joined
|
|||
ruoso | yes... I'd say it's better to wait for that before implementing | 20:45 | |
moritz_ | I don't like to wait for spec changes, because they sometimes take quite long | 20:46 | |
wayland76 | moritz_: Shouldn't www.perl6-projects.org forward to perl6-projects.org? | ||
moritz_ | and re-writing a builtin isn't all that much work | ||
pmichaud | I don't mind if the implementation precedes the spec a bit, unless it's likely we'll end up going down a rabbit hole. | ||
moritz_ | wayland76: that would be nice, yes... | ||
ruoso | TimToady, what about Signature.ACCEPTS($capture, :allow-partial) while still setting $/ ? | 20:47 | |
pmichaud | :allow-partial looks promising to me. | ||
ruoso | you can even use it as an adverb, I think | ||
$capture ~~ $signature :allow-partial; | 20:48 | ||
pasteling | "wayland76" at 118.208.226.194 pasted "Error building rakudo" (6 lines, 739B) at sial.org/pbot/35445 | ||
ruoso | is that it? | ||
pmichaud | I think so. | ||
ruoso | maybe just :partial actually | ||
wayland76 | Question for the rakudo guys -- I'm trying to get rakudo to build as an RPM. Can anyone help with the attached error? | ||
pmichaud | technically that's an error building parrot, I think. | 20:49 | |
ruoso | if $capture ~~ $signature :partial { ... } | ||
moritz_ | wayland76: www.perl6-projects.org now works | ||
wayland76 | moritz_: Thanks | ||
pmichaud: I'm not using the --gen-parrot option, if that helps | 20:50 | ||
pmichaud | wayland76: I don't know the current status of parrot's "make install" target, if that's what you're asking. | 20:51 | |
wayland76 | I should have said -- I'm in the rakudo directory, and "perl Configure.pl" works fine, but I get this error doing "make" | 20:52 | |
moritz_ | pmichaud: nopaste.snit.ch/15853 that passes all tests | 20:53 | |
pmichaud | "make"? Or "make install"? | ||
wayland76 | just "make" | ||
pmichaud | what svn revision of parrot? | ||
wait, let me back up a bit. | |||
wayland76 | Err, the latest, but I've turned that into an RPM as well | ||
pmichaud | you have a copy of Parrot somewhere, but not a subdirectory of rakudo? | 20:54 | |
wayland76 | and the RPM-building process does strange things, and I had to modify parrot's RPM building to get this far with rakudo | ||
yes, that's right | |||
moritz_ | there's a patch from allison sitting in RT to get that working | ||
wayland76 | moritz_: I've applied that too | 20:55 | |
pmichaud | moritz_: I think it's an oldish patch, though. It was before I did a lot of other things for --gen-parrot | ||
wayland76 | It didn't work :( | ||
ie. it helped some, especially after I manually applied the failed bits | |||
but it still wasn't enough by itself | 20:56 | ||
rodi | quit | ||
sorry :-\ | |||
20:56
rodi left
|
|||
pmichaud | quit: No such file or directory | 20:56 | |
bacek | std: sub infix:foo($a,$b) {...}; [foo] 1..10; | ||
p6eval | std 25796: OUTPUT«##### PARSE FAILED #####Syntax error (two terms in a row?) at /tmp/70TRF5cLn8 line 1:------> sub infix:foo($a,$b) {...}; [foo] 1..10; expecting any of: infix or meta-infix infix stopper standard stopper statement modifier loop terminatorFAILED | 20:57 | |
..00:02 36m» | |||
wayland76 | (incidentally, what's the patching process at the moment? Do we do a pull request on github?) | ||
ruoso just sent a reply with the latest suggestion of $cap ~~ $sig :partial | |||
moritz_ | wayland76: no, we send patches to RT | ||
pmichaud | currently I'm still asking for patches to RT | ||
bacek | std: say "Hello" | ||
p6eval | std 25796: OUTPUT«ok 00:04 34m» | ||
bacek | std: sub infix:<foo>($a,$b) {...}; [foo] 1..10; | ||
p6eval | std 25796: OUTPUT«ok 00:03 39m» | 20:58 | |
pmichaud | patches to RT make it easier to reply with suggestions for fixes | ||
wayland76 | ok, I'll document that. People were asking last night | ||
ruoso later & | |||
20:58
ruoso left,
PacoLinux left
|
|||
wayland76 | btw, one of the current problems with 24x7 coverage on here seems to be that, in Australian time, no-one can answer questions about how to get patches accepted | 20:59 | |
20:59
pjcj left
|
|||
pmichaud | depends on what you mean by "get patches accepted" | 20:59 | |
wayland76 | People at that time of night have created wiki.github.com/rakudo/rakudo/steps...te-a-patch | ||
pmichaud | yes, I know, and we've been needing to update that. | ||
wayland76 | But it's not in alignment with what you just said (I'll fix that) | ||
21:00
szabgab left
|
|||
pmichaud | There's also: wiki.github.com/rakudo/rakudo/frews...d-workflow | 21:00 | |
which is far closer to what I'd like to see happen. | |||
wayland76 | Yes, they created that too :) | ||
moritz_ | people are busy and productive | ||
now we need to channel that | |||
wayland76 | ie. frooh_ has been working on this, but s1n is the most put out about it | ||
(ie. about not getting patch review) | 21:01 | ||
pmichaud | frew's workflow still has us doing pull requests from github, and I'd like to get to the point where we can do that, but we're still working out the process | ||
I did review s1n's patches, I don't know if he saw the reviews. | |||
(which is another reason why RT is better) | |||
wayland76 | Is this just today, or earlier? | ||
pmichaud | earlier. I haven't seen a patch from s1n recently. | ||
wayland76 | ok. | ||
21:01
AzureStone_ joined
|
|||
pmichaud | I should say "which is another reason why RT is currently better" | 21:01 | |
wayland76 | I'll try to communicate all this info back to them when they come online | 21:02 | |
pmichaud | If I review a patch on github, I don't know of an easy way to communicate how to see that review. | 21:04 | |
wayland76 | Ok. So you can write the review somewhere, but you need a button that says "e-mail this person", right? | 21:05 | |
dalek | kudo: 0c893bc | (Moritz Lenz)++ | src/ (2 files): Implement Any.reduce in Perl 6, bacek++, pmichaud++ |
||
bacek | pmichaud: you can leave comments on patches in github | ||
pmichaud | bacek: yes, but how do people see those? | ||
21:05
AzureStone left
|
|||
pmichaud | bacek: leaving comments on patches in github is what I've been doing. AFAICT nobody has even noticed my comments. | 21:05 | |
bacek | pmichaud: did you commented my patches? (I'm just trying to figure out did I missed them) | 21:07 | |
pmichaud | bacek: in your case there were some 40-50 commits in the fork queue -- far too many for me to figure out what was going on. I just ignored them. | ||
wayland76 | Btw, I've tracked down the make problem a little more | ||
The error is in /usr/bin/perl -MExtUtils::Command -e cp "*.so" ../../dynext | 21:08 | ||
bacek | pmichaud: :) | ||
wayland76 | ...but ../../dynext is not a directory | ||
Which means something failed somewhere earlier | 21:09 | ||
Is there a way to tell it where dynext lives? | |||
moritz_ | isn't the question more "where should the .so files installed to?"? | 21:11 | |
wayland76 | Good point :) | ||
bacek noticed 140 failing tests in spectest-progress | 21:12 | ||
Known issue? | |||
moritz_ | bacek: yes, I forgot to push a change | ||
shame on me | |||
bacek | moritz_: ah, ok. | ||
pmichaud | bacek: but should be fixed now -- you need to pull latest changes probably. | ||
ujwalic | does PARROT_RUNTIME effect dynext? | ||
pmichaud | wayland76: I only have about 20 minutes left here...but here's what I know so far | 21:13 | |
(1) I don't know that anyone has gotten Rakudo to build using the latest installed parrot | |||
(2) there were patches done a few weeks ago to build rakudo against an installed parrot, but both parrot's install sequence and rakudo's configure sequence have changed substantially since then | |||
bacek | rakudo: my @a; for @a.list or fail('BOOO') -> { say "hi" }; | ||
p6eval | rakudo d8f59e: OUTPUT«No exception handler and no messagecurrent instr.: 'return' pc 15728 (src/builtins/control.pir:39)» | ||
bacek | rakudo: try { my @a; for @a.list or fail('BOOO') -> { say "hi" }; }; say "bye" | 21:14 | |
p6eval | rakudo d8f59e: OUTPUT«bye» | ||
wayland76 | pmichaud: Ok, thanks | ||
pmichaud | there's more :-) | ||
bacek | rakudo: try { my @a; for @a.list or fail('BOOO') -> { say "hi" }; say "yak"}; say "bye" | ||
p6eval | rakudo d8f59e: OUTPUT«bye» | ||
pmichaud | (3) even if Parrot's "make install" step is working, I have no idea if the RPM generation stuff has been brought up-to-date with the latest make install | ||
bacek | rakudo: try { my @a = (1); for @a.list or fail('BOOO') -> { say "hi" }; say "yak"}; say "bye" | 21:15 | |
wayland76 | pmichaud: I've done #3 myself :) | ||
p6eval | rakudo d8f59e: OUTPUT«hiyakbye» | ||
pmichaud | so, if you're trying to build from a Parrot RPM, it's very possible that the RPM is about two generations removed from the current state of building an installable version of parrot, which itself hasn't been completely proven afaik | ||
bacek | moritz_: you can squash few lines in List.reduce :) | ||
wayland76 | But I'm trying to build a Rakudo RPM which doesn't even have an install step :) | 21:16 | |
pmichaud | bacek: note that fail only really works inside of a Routine. A block isn't sufficient. | ||
wayland76: if the parrot RPM doesn't have all of the tools in it necessary for building Rakudo, or if it has some of the paths in the wrong place, then you're likely to get the error you're seeing. | |||
bacek | pmichaud: inside of List.reduce it will work, isn't it? | 21:17 | |
moritz_ | bacek: I don't optimize my code for brevity, at least not primarily ;-) | ||
pmichaud | that's a Routine, yes. | ||
wayland76 | I've made it include the appropriate tools, but now the paths are all wrong :) | ||
bacek | moritz_: ya-ya. s/self./@./ :) | 21:18 | |
moritz_ | ;-) | ||
wayland76 | Anyway, thanks for all this. I'll start submitting patches when I have something that works :) | ||
pmichaud | wayland76: that'll be great, I very much look forward to it. | ||
Rakudo's next release is nine days away. :-) | |||
bacek | pmichaud: btw, can I ask for "admin" permissions in RT? | 21:19 | |
pmichaud | what do "admin" permissions do? | ||
bacek | To merge/close tickets | ||
pmichaud | I don't know how to grant those. If someone else does, perhaps they can tell me how to do it (or I'm okay with someone else granting you admin perms) | 21:20 | |
bacek | pmichaud: ok. I have to figure out who can grant them... | 21:21 | |
21:21
donaldh left
|
|||
moritz_ | Robrt said that pmichaud should have the privileges to do so ;-) | 21:21 | |
maybe Coke also has, I don't remeber that | |||
bacek | afk & $self ~~ DayJob | 21:22 | |
21:23
PacoLinux joined,
szabgab joined
|
|||
pmichaud | bacek: I think you now are able to edit tickets in RT. | 21:32 | |
you're listed as a member of the purported group, at any rate. | 21:33 | ||
21:47
PacoLinux left
21:49
netsquire left
|
|||
wayland76 | Btw, there's no point me submitting Rakudo fixes until the Parrot RPM build works. So hopefully I'll get things sorted out today :) | 21:55 | |
21:58
wknight8111 joined,
ruoso joined
22:00
nihiliad left
22:06
donaldh joined
22:09
skids left
22:11
ejs left
22:24
DemoPhreak joined,
frioux_ left
22:25
frioux joined,
wayland joined
22:28
DemoFreak left,
DemoPhreak is now known as DemoFreak,
donaldh left
22:34
donaldh joined
22:35
Kimtaro left
22:37
Tene_ joined,
donaldh left
22:41
angelixd joined,
wayland76 left
22:42
Limbic_Region joined
22:43
|jedai| left
22:44
|jedai| joined
22:45
Kimtaro joined
22:48
[particle] left
22:50
nihiliad joined
22:52
Tene left,
Psyche^ joined
23:05
Patterner left,
Psyche^ is now known as Patterner
23:14
skids joined
23:15
PacoLinux joined
23:28
kate21de1 joined
23:30
bacek_ joined
|
|||
wayland | Is it reasonable to assume access to File::Spec for the rakudo Configure.pl ? | 23:31 | |
moritz_ | yes | 23:32 | |
it's a core module since 5.00405 | |||
I think Configure.pl needs 5.008 at least anyway | |||
wayland | What about Cwd? And is there a place that lists which modules first came with which versions? | 23:33 | |
moritz_ | Module::Corelist on CPAN | 23:34 | |
wayland | Great :) | ||
moritz_ | it also installs a command line tool called `corelist' | ||
corelist Cwd | |||
Cwd was first released with perl 5 | |||
aka "yes" ;-) | |||
Limbic_Region | moritz_ - if you didn't know, buubot has a plugin for Module::CoreList | 23:35 | |
buubot: core Cwd | 23:36 | ||
buubot | Limbic_Region: Added to perl core as of 5 | ||
moritz_ | Limbic_Region: ah, I tried it with 'corelist' the other day | ||
avar | buubot: core Switch | ||
buubot | avar: Added to perl core as of 5.007003 | ||
avar | BLASTED 5.007003! | ||
Limbic_Region | and what a mistake that was | ||
moritz_ | ... and deprecated for 5.012 | ||
Limbic_Region | buubot: define deprecate | 23:37 | |
moritz_ | buubot: core CGI::Switch | ||
buubot | moritz_: Added to perl core as of 5.004 | ||
Limbic_Region | hrm, that plugin must not be active | ||
I was going to poke fun and say that the definition of deprecate in perl 5 means we will leave it around for a decade but sometimes annoy you with warnings how you can't rely on this behavior | 23:38 | ||
moritz_ | Limbic_Region: I know that feeling very well, but blead *is* changing, and Nicholas is working hard on the infrastructure to remove core modules | 23:39 | |
and he does make progress, so I both hope and believe that we'll *really* get rid of some cruft soon | |||
and Karl Wiliamson (probably misspelled the name) does lots of stuff to fix The Unicode Bug | 23:40 | ||
Limbic_Region | oh, soon - another thing that has a different definition in perl 5 land | ||
moritz_ | soon = next release ;-) | 23:41 | |
Limbic_Region apologizes | |||
moritz_ | so while I haven't seen some whizzbang features in blead yet, I expect a very good release ... in a few years ;-) | ||
Limbic_Region had a rough day and has a head ache and shouldn't bitch about a language he loves so much | 23:42 | ||
moritz_ | s/some/any/ | ||
23:42
Tene_ is now known as Tene
|
|||
Limbic_Region | and on that note, I think I will go lay down for a while | 23:42 | |
moritz_ | no offense taken ;-) | ||
23:42
DemoFreak left
|
|||
moritz_ too | 23:42 | ||
TimToady | I'd like to see support for things that would make P6 integration easier :) | 23:43 | |
moritz_ | for example? | 23:48 | |
TimToady | real lazy lists | ||
s1n | i'd like to see Toast::Bread and Flush::Toilet features :) | ||
moritz_ | TimToady: ah, I guess that's non-trivial | ||
TimToady | Everything Is An Object, including subs and methods | ||
lexical anything | |||
context vars | |||
a reentrant regex engine | |||
wayland | s1n: Note that I asked pmichaud about submitting patches, and he said that they all still also have to go in RT | ||
TimToady | with real closure callouts | ||
23:48
kate21de left
|
|||
TimToady | that'll do for starters :) | 23:48 | |
moritz_ | a reentrant parser for doing these lovely { use v5; ... } blocks ;-) | ||
wayland | He doesn't like the git push thing because there's no good way to send people a message saying that he's reviewed their patch | ||
TimToady | well, I know how to emulate the parser bit without help from p5 regexen :) | ||
wayland | he said he's reviewed some of yours (s1n), but not recently | ||
TimToady | but it would be nice if I could do something with use v5 in STD | ||
23:48
wayland is now known as wayland76
|
|||
moritz_ | TimToady: do you even want to parse Perl 5 with anything different than perl5? | 23:48 | |
23:48
angelixd left,
Kimtaro is now known as kimtaro_zzz
|
|||
wayland76 | (ie. Perl6 :) ? ) | 23:48 | |
TimToady | well, then the p5 parser needs to know when to quit on the unmatched } | ||
so there's another thing | |||
moritz_ | .oO( toke.c ) |
||
bacek_ | perl6: 'sub foo($x is ro) { $x<foo> = "bar"; }; my %h; foo(%h); say %h.perl | ||
p6eval | elf 25796: OUTPUT«Parse error in: /tmp/Qy98KFtN9ypanic at line 1 column 1 (pos 1): Error in quotesnabberWHERE: 'sub foo($x is ro) { $x<foo> = WHERE: /\<-- HERE STD_red/prelude.rb:99:in `panic' STD_red/std.rb:1302:in `quotesnabber' (eval):1:in `__quote_8191772' STD_red/prelude.rb:406:in | ||
..... | |||
..rakudo 0c893b: OUTPUT«Syntax error at line 1, near "'sub foo($"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | |||
..pugs: OUTPUT«***  Unexpected end of input expecting "\\", variable name or "'" at /tmp/JI0yKOQHGF line 2, column 1» | |||
bacek_ | perl6: sub foo($x is ro) { $x<foo> = "bar"; }; my %h; foo(%h); say %h.perl | ||
TimToady | that being said, I wouldn't be surprised if the normal parser to use for v5 was something more PPI-like | ||
p6eval | pugs: OUTPUT«\(\("foo", "bar"),)» | ||
..elf 25796, rakudo 0c893b: OUTPUT«{"foo" => "bar"}» | |||
bacek_ | is it how it shoudl work? | 23:49 | |
23:50
awarefish left
|
|||
moritz_ | is there even an 'is ro' trait? | 23:50 | |
TimToady | nope | ||
there's readonly | |||
23:50
awarefish joined
|
|||
bacek_ | is it 'ro' by default? | 23:50 | |
moritz_ | then it should probably die outright | ||
bacek_ | perl6: sub foo($x) { $x<foo> = "bar"; }; my %h; foo(%h); say %h.perl | ||
p6eval | pugs: OUTPUT«\(\("foo", "bar"),)» | ||
..elf 25796, rakudo 0c893b: OUTPUT«{"foo" => "bar"}» | |||
TimToady | it should die when it doesn't recognize the trait, presumably | ||
bacek_ | what about "deep readonly" containers? How I can declare them? | 23:51 | |
23:51
meppl left
|
|||
diakopter | Tie::STOREOnce::Deeply | 23:52 | |
bacek_ | diakopter: in Perl6 :) | ||
TimToady | deep readonly isn't really a trait, it's more of an action, almost equivalent to a deep clone | ||
pasteling | "wayland76" at 121.44.209.19 pasted "Another make failure on Rakudo" (12 lines, 532B) at sial.org/pbot/35454 | 23:53 | |
TimToady | deep DOW semantics ("die on write" :) | ||
bacek_ | but deep clone is more expensive... | ||
wayland76 | Should I ask about that rakudo error here, or on #parrot? | 23:54 | |
bacek_ thinks about C++ style 'const' and 'non-const' versions of operators | |||
moritz_ | than... what? temporarily marking the data structure as read-only, deeply? | ||
TimToady | alternately we need references with capabilities :) | ||
s1n | wayland76: so he wanted to send a message but couldn't? | ||
that's wholly untrue | |||
pmichaud: github.com/guides/pull-requests | |||
moritz_ | s1n: no, he commented on commits, and suspects that nobody ever saw the comments | 23:55 | |
s1n | near the bottom, it shows how you can respond to them _via github_'s message interface | ||
ohhh | |||
moritz_ | and I believe that, because I've never ever seen a commented commit on github | ||
s1n | no, i mean, i don't want to use the commits as a blog posting | ||
TimToady | or possibly a context variable that disables all lvalue access in a dynamic scope | 23:56 | |
s1n | at the least, a message could be sent to say "i've commented on the commit" | ||
TimToady | but that probably implies a degree of FP-ness that some primitives might not want to accomodate | ||
diakopter | seems like a lock | ||
moritz_ -> bed | |||
TimToady | they're dropping like flies | 23:57 | |
diakopter: more like STM, I think :) | |||
where the transaction is "no transaction allowed" :) | 23:58 | ||
diakopter | "sorry, writing into this container is taking forever. literally." | ||
s1n | wayland76: i see someone under the nick "rakudo" rejected one of my commits a week ago, i suspect that was moritz_ | ||
diakopter is not supposed to be accessing the internet during my opsmgmt final exam | 23:59 | ||
s1n | wayland76: yes, i see some other comments to commits, but github doesn't ever notify me when there are comments to my commits... |