»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by diakopter on 25 January 2010. |
|||
masak | snarkyboojum: define 'supposed' :) | 00:00 | |
snarkyboojum: (it doesn't) | |||
snarkyboojum | masak: k | ||
I get Null PMC errors | |||
masak | snarkyboojum: but mberends++ was looking into it. he and jnthn said they'd whack on Rakudo next week, trying to make proto run again on master. | ||
snarkyboojum | masak: excellent | 00:01 | |
masak | (I mean jnthn++, of course.) | ||
snarkyboojum | masak: I'm keen, will probably just need a kick in the right direction initially (re Tardis) :) | ||
masak | snarkyboojum: I've not yet developed a sense for when you're usually around. when are you usually around? :) | ||
lue | Time And Relative Debugging In Space (TARDIS) :) | 00:02 | |
masak | I'll concede that Tardis is just a work-in-progress name :) | ||
snarkyboojum | masak: well I'm in Oz and work from home - so I'm around during daylight hours and early even Oz-time (e.g. 11am here) | ||
s/even/evening/ | |||
masak | cool. | ||
masak waves through the planet | 00:03 | ||
00:03
mberends left
|
|||
snarkyboojum | :) | 00:03 | |
masak | must be summer where you're at. | ||
snarkyboojum | masak: aye, and loving it (spend the last Oz summer in London) | ||
masak | and midday. | ||
snarkyboojum | spent | ||
yep | |||
lue | Oh, I waved through the center of the universe :) | ||
masak | snarkyboojum: and upside down. man, you people are inverted! :) | 00:04 | |
snarkyboojum | masak: and entirely aware of it :) | ||
masak | snarkyboojum: I was in .nz a few years back, and a prophet-like guy in Christchurch was selling upside-down maps. | 00:05 | |
snarkyboojum | masak: heh - crazy kiwis - may have originated in the Northern Hemisphere tho :P | ||
masak | he said that turning the maps upside down would basically make everyone happier. and then he listed different ethnic groups who would benefit from this. | ||
lue | He's halfway across the world in the X/Y/Z axes, and ~5 hours back along the T axis :) | ||
snarkyboojum | masak: spent the summer before that working in Wellington (NZ), which felt like an Australian winter anyway, so effectively 3 winters in a row == not a happy camper | 00:06 | |
masak | :/ | 00:07 | |
snarkyboojum: clearly, we need that time device sooner rather than later. | |||
snarkyboojum | have done quite a bit of "work" with the laptop in the sun in a park somewhere near the harbour this time around ;) | ||
masak | now that's just teasing. | ||
snarkyboojum doesn't mention the cold beer then | 00:08 | ||
jnthn | snarkyboojum: We do have fridges in the Northern Hemisphere. | ||
masak | we're wading in snow up here. my hands are frostbitten by the cold. | ||
perhaps not frostbitten. but very sad hands, anyway. | |||
snarkyboojum | jnthn: I was more in love with the central heating you guys have up there | ||
masak | snarkyboojum: must not have been .uk :) | 00:09 | |
jnthn | masak: All my snow here is has a melt. | ||
lue | Time-Augmented Relative Debugging In Style :D | ||
masak | jnthn: weather forecast here says snow+snow+snow+snow. | ||
snarkyboojum | masak: heh - London for 9 months when it snowed last time.. central heating saved my soft Aussie bacon | ||
jnthn | masak: Wow. | 00:10 | |
00:10
ComWT left
00:11
nihiliad left,
comwt joined
|
|||
masak | jnthn: yesterday, my bike slipped on an icy groove in the road. luckily, I fell right down into a pile of snow, so I wasn't hurt or anything. | 00:11 | |
jnthn will miss this appartment's underfloor heating. | |||
masak: Ouch! :-( But glad you're OK. | |||
00:11
comwt left
|
|||
masak | I've only fallen on my bike three times this winter. all three quite benign. | 00:12 | |
considering that the rest of Sweden is basically dumbstruck by the cold and snow, I consider that a success :) | |||
jnthn | Is it an unusually cold winter in Sweden this year? | ||
masak | yes, but not by a great lot. | 00:13 | |
jnthn | oh huzzah deferal works again. | ||
> class Pub { method bar() { say "beer!" } } | |||
> class Bar is Pub { method bar() { print "Mmmmm..."; nextsame() } } | |||
> Bar.new.bar | |||
Mmmmm...beer! | |||
snarkyboojum | sounds like you need tire chains for a bike wheel! | ||
masak | jnthn++ | ||
00:13
Chillance left
|
|||
jnthn | well, sort of. | 00:13 | |
masak | jnthn: that reminds me. a question fell out of our last discussion on inheritance and multis. | ||
jnthn | masak: Poor question. Did it land softly? | 00:14 | |
masak | jnthn: how does a method call the same method(s) in its superclasses? | ||
jnthn: we'll see if it lands softly :) | |||
00:14
TimToady sets mode: +vv buubot dalek,
TimToady sets mode: +v ilogger2,
TimToady sets mode: +vvv lisppaste3 p6eval phenny
|
|||
jnthn | Only the ones in its immediate superclasses? | 00:15 | |
In general you use deferal | |||
masak | yeah. like super() in Java. | ||
but 'nextsame()' will defer to methods in the same class too. | |||
jnthn | Yeah, true | ||
masak | I don't want that. | ||
jnthn | I think there's maybe a SUPER pseudo-package. | ||
masak | ok. | 00:16 | |
TimToady | what about sister classes? | ||
masak | TimToady: I'm thinking of the case where Child.foo() calls Parent.foo(). | ||
lue | (time-travelling debug name): Debugging A Load of Erroneous Kode :D | ||
TimToady | that's where nextsame is designed to Work Right | ||
(sister classes) | 00:17 | ||
jnthn | S12 mentions SUPER | ||
But doesn't define how it works in a multiple inheritance situation. | |||
TimToady | that's because it doesn't | ||
jnthn | :-) | ||
Guess it's easy to implement then. :-) | 00:18 | ||
snarkyboojum | masak: well, you'll have to chuck tote(ish) up on github so I can take a look :) | ||
jnthn | masak: You maybe can convince .WALK to give you the methods you want too. | ||
masak | snarkyboojum: I'll get back to you. need to de-hardcode it a bit for that. | 00:19 | |
snarkyboojum | masak: ah k | ||
masak | snarkyboojum: and whatever comes up will be very temporary. :) | ||
jnthn: oh, cool. | |||
lue | masak: Debugging Overlooked Code (Time OverRated) | ||
masak | lue: your suggestions are much appreciated :) | 00:20 | |
jnthn | masak: Then >>. to dispatch to the lot of 'em if order matters to you not. | ||
masak | it doth not, since this is a hypothetical case. :P | 00:21 | |
jnthn | .WALK(:name<foo>, :include(any(Thingy.^parents(:local)))) or some such | ||
masak | whoa :) | 00:22 | |
lue will come up with more Dr. Who related debugger names later | |||
snarkyboojum | can I/how do I, dump the AST that rakudo is constructing internally? I remember watching a vid of jnthn demonstrating how to do it, but can't find that vid | ||
jnthn | Didn't put WALK back into master yet. | ||
snarkyboojum | is that stuff accessbile? | ||
jnthn | snarkyboojum: --target=past | ||
snarkyboojum | jnthn: ah! thanks :) | ||
jnthn | snarkyboojum: There's also --target=parse and --target=pir | ||
snarkyboojum | jnthn: sweet - thanks muchly | 00:23 | |
masak | but I believe it only works when class definitions are not involved. or something like that. | ||
well, --target=pir will work always. | |||
but not --target=parse. :/ | |||
lue | time traveling debugger: travelling to the past'd be easy enough, but what about to the future? | ||
masak | don't remember about --target=past. it probably works. | ||
00:24
xabbu42 left
|
|||
arlinius | there's --target=post, too | 00:25 | |
snarkyboojum | booshka! --target=past certainly spits out a tonne of stuff :) | ||
arlinius | post spits out even more :) | ||
lue | snarkyboojum: you certainly are british (use of tonne) :D | 00:26 | |
jnthn | --target=post is thankfully not very useful though :-) | ||
snarkyboojum | lue: bit of a mongrel really :) | ||
masak zzz & | 00:27 | ||
00:27
masak left
|
|||
snarkyboojum | masak: see ya, nice to chat :) | 00:27 | |
lue | aw! I got to go in the past to talk to masak! | ||
Check the irclog for a few hours ago. If you see __rnddim__, then you ought to be really creeped out. | 00:28 | ||
00:28
ggoebel left
|
|||
lue | That's also me, and I haven't logged in as that for a long time. | 00:28 | |
00:34
ggoebel joined
|
|||
lue | The only (relatively) difficult part of the time-traveling debugger is the going into the future part (the past is easier) | 00:36 | |
pugssvn | r29830 | lwall++ | [S12] note how lastcall allows nextsame control of nested dispatchers | ||
00:37
pmurias left
|
|||
arlinius | so, this debugger can make it so a bug never existed? | 00:38 | |
jnthn | TimToady: hmm. | ||
lue | ask masak (who's not here). He came up with it. | 00:39 | |
00:39
quietfanatic left
|
|||
jnthn | TimToady: Well, nextsame goes to the next best multis in the same class. | 00:39 | |
TimToady: And only then up the inheritance hierarchy | |||
So we get that bit right. | |||
lastcall blows the two though. | 00:40 | ||
Since we aren't really doing nested dispatchers, it essentially splices the multi dispathcer's candidates into a (lazily formed) list. | |||
TimToady | well, those are two different dispatches in my head, but the first lastcall would have to just advance past the multis if you've artifically flattenened them into one dispatch | ||
jnthn | Yeah | ||
We've a bunch of caching in to try and keep that lot cheap for common cases. :-) | 00:41 | ||
(Rakudo has the hilarious situation that multi-dispatch is >10% faster than single dispatch... :-/) | |||
Anyway, yeah, can likely get lastcall to do something like that. | 00:42 | ||
Not going to do that tonight though. :-) | |||
TimToady | I guess the nested dispatcher view is hinted at in S12:1176 and following | 00:43 | |
though not terribly explicit | |||
jnthn | Well | 00:44 | |
TimToady | would be nice to have lastcall working the same everywhere though.... | ||
jnthn | I actually *do* have us calling another dispatcher in a sense. | ||
It's just that it's giving us back all the possibilities. | |||
TimToady | and the word "tie-breaking" tends to make it read flatly instead of nested | ||
jnthn | Rather than us continually re-entering into it. | ||
TimToady | but I do think that these calls need to be able to distinguish which level they mean | 00:45 | |
00:45
yinyin joined
|
|||
jnthn | (I considered both...then did the one I figured I was likely to come out of with a sliver of sanity remaining. :-)) | 00:45 | |
Oh, it's not a problem for us to know whether we're deferring through multis spliced in or inheritance. | 00:46 | ||
TimToady | I'd think the nested one would be more sane, in the just-looping-over-a-simple-list sense | ||
not a problem for you, a problem for the user though, perhaps | |||
jnthn | Or at least, it's not hard for me to make it so we can know. | ||
Hmm, yeah. | 00:47 | ||
TimToady | we should probably make some way to name our dispatcher levels | ||
(as conjectured) | |||
we also need to be careful that a wrapped routine doesn't hane to know that fact | 00:48 | ||
*have | |||
jnthn | Yes, we may well have some tricksy issues there. | ||
Wrapping a routine that does nextsame...how do the candidate lists play together, etc. | 00:49 | ||
That's potentially nasty to handle. | |||
TimToady | perhaps that dispatcher is invisible by default, outside a wrapper itself | ||
jnthn | I did see your "should be same mechanism" and make that so. | 00:50 | |
I didn't manage to write a .wrap implementation I felt was beautiful yet though. | |||
lue wishes not entrude on such an enthralling conversation... too late | 00:51 | ||
TimToady | I'll have to think about that some more in my copious free neurons | ||
lue: note that my $x = 1,2,3 is misparsed by rakudo | 00:52 | ||
jnthn | oh noes, we don't have item assignment parsing right yet. :-( | ||
TimToady | rakudo: my $x = 1,2,3; say $x.WHAT | ||
p6eval | rakudo 59c65b: OUTPUT«Seq()» | ||
jnthn | TimToady: should be 1? | ||
TimToady | should be Int, with 2 and 3 in sink context | ||
jnthn | oh, Int, but yes | ||
lue | how should that parse? | 00:53 | |
TimToady | and presumably Useless use of warnings | ||
dalek | kudo/master: 5d38786 | jonathan++ | src/core/Mu.pm: Add back default .perl. |
||
kudo/master: 88f57f6 | jonathan++ | t/spectest.data: We pass three more spectests now (deferal related stuff). |
|||
kudo/master: 1cdb0d8 | jonathan++ | src/ (4 files): Get deferal stuff back in place, to the degree we had it in alpha. |
|||
diakopter | std: m'$a' | ||
p6eval | std 29829: OUTPUT«Potential difficulties: Variable $a is not predeclared at /tmp/OzJgbq3vmp line 1:------> m'$a⏏'ok 00:01 106m» | ||
TimToady | otherwise loop (my $a = 1, my $b = 2; ...; ...) doesn't work | ||
jnthn | lue: lajk (my $x = 1), 2, 3 | ||
TimToady | diakopter: Perl 6 doesn't make choose-your-own single quotes special like Pelr 5 | 00:54 | |
diakopter | o | ||
lue | You should rename pugssvn to kaled while you're at naming these 'upload reporting' bots after Dr. Who enemies. | ||
TimToady | S02:3437 | ||
diakopter | std: m'$'\++ | 00:55 | |
p6eval | std 29829: OUTPUT«ok 00:01 105m» | ||
TimToady | that's one of the places where I decided Perl 5 made a mistake | ||
.oO(not nice to blame Perl 5 for that...) |
|||
diakopter | std: m'$'\++\-- | 00:56 | |
p6eval | std 29829: OUTPUT«ok 00:01 105m» | ||
lue | rakudo: my $x, $y, $z = 1,2,3; say $x,$y,$x; | ||
p6eval | rakudo 59c65b: OUTPUT«Symbol '$y' not predeclared in <anonymous>current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)» | ||
TimToady | is that the Long Tail? | ||
std: m'$'++++++---------------- | 00:57 | ||
p6eval | std 29830: OUTPUT«ok 00:01 109m» | ||
jnthn | ... | ||
line noise WIN. | |||
lue | aw, should that work? | ||
diakopter | std: m'$'\[] | ||
p6eval | std 29830: OUTPUT«ok 00:01 105m» | ||
lue | alpha: my $x, $y, $z = 1,2,3; say $x,$y,$x; | ||
TimToady | std: ......... | ||
p6eval | alpha 30e0ed: OUTPUT«Symbol '$y' not predeclared in <anonymous> (/tmp/85QFhcRH69:10)in Main (file <unknown>, line <unknown>)» | ||
std 29830: OUTPUT«ok 00:01 105m» | |||
TimToady | std: my $x, $y, $z = 1,2,3; say $x,$y,$x; | 00:58 | |
p6eval | std 29830: OUTPUT«Potential difficulties: Variable $y is not predeclared at /tmp/I4jQS7V81M line 1:------> my $x, $y⏏, $z = 1,2,3; say $x,$y,$x; Variable $z is not predeclared at /tmp/I4jQS7V81M line 1:------> my $x, $y, $z⏏ = 1,2,3; say $x,$y,$x; | ||
..Variab… | |||
diakopter | rakudo: my ($x, $y, $z) = 1,2,3; say $x,$y,$x; | ||
p6eval | rakudo 59c65b: OUTPUT«121» | ||
TimToady | you'll note the erro is after the first $y, not the second | ||
r | |||
diakopter | o_O | ||
oh, | 00:59 | ||
rakudo: my ($x, $y, $z) = 1,2,3; say $x,$y,$z; | |||
p6eval | rakudo 59c65b: OUTPUT«123» | ||
lue | .oO(It's probably not the best of ideas (for most people) to brush up on epo while studying fr) |
||
diakopter | std: my ($x, $y, $z) = 1,2,3; say $x,$y,$z; | ||
p6eval | std 29830: OUTPUT«ok 00:01 108m» | ||
TimToady | that's fine | ||
it's only single $ vars that change the parsing to item assignment | |||
jnthn | Once they're married, it's list assignment all the way. | 01:00 | |
01:00
krzys joined
|
|||
diakopter | rakudo: my ($x, $y, ($z = 1,2,3; $x,$y,$z)); | 01:00 | |
p6eval | rakudo 59c65b: OUTPUT«Redeclaration of symbol $x at line 11, near ",$y,$z));"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
jnthn | Curious. :-) | 01:01 | |
TimToady | std: my ($x, $y, ($z = 1,2,3; $x,$y,$z)); | ||
p6eval | std 29830: OUTPUT«===SORRY!===Can't put required parameter after optional parameters at /tmp/V5bFrV6SsY line 1:------> my ($x, $y, ($z = 1,2⏏,3; $x,$y,$z)); expecting any of: an infix operator with precedence tighter than item assignment | ||
..constraint numis… | |||
jnthn | Ah | ||
Missing error detection on that. | |||
It's correctly parsing it as a sub-sig though, I expect. | |||
TimToady | interesting that it thinks 2 is a required parameter | ||
I guess that's fine | |||
jnthn | heh | 01:02 | |
TimToady | since we allow constant constraints on anon params | ||
01:02
cdarroch left
|
|||
jnthn | Well, it's just the precedence level default terms parse at I guess. | 01:02 | |
diakopter | .... inanity in, insanity out | ||
TimToady | woulda complained on the ; in any case, I suspect | ||
jnthn | But yes, :(2) is a totally fine signature. :-) | ||
TimToady | std: my ($x, $y, ($z = 1; $x,$y,$z)); | ||
p6eval | std 29830: OUTPUT«===SORRY!===Can't put required parameter after optional parameters at /tmp/MAfi7dsD5q line 1:------> my ($x, $y, ($z = 1; $x⏏,$y,$z)); expecting any of: constraint parameter traitOther potential difficulties: Useless | ||
..redeclaration of… | |||
TimToady | std: my ($x, $y, ($z = 1; $x?,$y?,$z?)); | 01:03 | |
p6eval | std 29830: OUTPUT«Potential difficulties: Useless redeclaration of variable $x (from line 1) at /tmp/o2vLNFG1Yy line 1:------> my ($x, $y, ($z = 1; ⏏$x?,$y?,$z?)); Useless redeclaration of variable $y (from line 1) at /tmp/o2vLNFG1Yy line 1:------> my ($x, $y, ($z = 1; | ||
..… | |||
lue is updating the system using the Perl6-coded time-travelling updater (with the ExplosionPrinciple module, of course :D ) | |||
jnthn | Should redeclarations be a warning, not an error? | ||
TimToady | I guess it still allows ; in sigs | ||
lue not really, but updating nonetheless | |||
jnthn | ; in sigs is conjectural, iirc. | ||
TimToady | STD is just being soft there :) | 01:04 | |
std: my $x; ... ; my $x; # explicitly legal | |||
jnthn | I figured it if became unconjectural, it'd be similar issue to doing multisig. | ||
p6eval | std 29830: OUTPUT«Potential difficulties: Useless redeclaration of variable $x (from line 1) at /tmp/QCQbt5Wv7J line 1:------> my $x; ... ; my $x⏏; # explicitly legalok 00:01 105m» | ||
jnthn | OK, just warning. | ||
TimToady | that one is supposed to be a warning only | ||
diakopter | std: my ($x = 1, ($z = $x)); | ||
TimToady | and triggering the same code | ||
p6eval | std 29830: OUTPUT«===SORRY!===Can't put required parameter after optional parameters at /tmp/YdD8LqoU7Y line 1:------> my ($x = 1, ($z = $x)⏏); expecting any of: constraint parameter traitFAILED 00:02 108m» | ||
jnthn | std: my $x; my $x; | ||
p6eval | std 29830: OUTPUT«Potential difficulties: Useless redeclaration of variable $x (from line 1) at /tmp/6WtKQGvytC line 1:------> my $x; my $x⏏;ok 00:01 105m» | ||
jnthn | std: proto my $x; my $x; | ||
p6eval | std 29830: OUTPUT«===SORRY!===Malformed block at /tmp/pjwfqhhl5h line 1:------> proto my ⏏$x; my $x; expecting any of: block routine_def traitFAILED 00:01 105m» | 01:05 | |
jnthn | std: my proto $x; my $x; | ||
p6eval | std 29830: OUTPUT«ok 00:01 105m» | ||
jnthn | that way. | ||
01:05
bkeeler_ left
|
|||
TimToady | std: my multi $x; my multi $x; | 01:05 | |
p6eval | std 29830: OUTPUT«ok 00:01 105m» | ||
01:05
ihrd joined
|
|||
TimToady | or that way | 01:05 | |
diakopter | rakudo: my ($x = 1; $z = $x); say $x | ||
p6eval | rakudo 59c65b: OUTPUT«Mu()» | ||
jnthn | Yup. | 01:06 | |
TimToady | s/b Any by current spec :) | ||
jnthn | TimToady: Give us a chance, that only changed today! :-P | ||
01:06
athenot left
|
|||
TimToady | oh, wait | 01:06 | |
yes, I guess | 01:07 | ||
jnthn | diakopter: You need to bind if you want the default params to apply. | ||
TimToady | my ($x = 1; $z = $x) := () would be different | ||
jnthn | rakudo: my ($x = 1; $z = $x) := (); say $x | ||
p6eval | rakudo 59c65b: OUTPUT«1» | ||
TimToady | ++ | ||
diakopter | rakudo: my ($x = 1; $z = $x):my say $x | ||
p6eval | rakudo 59c65b: OUTPUT«Method 'panic' not found for invocant of class 'Regex;Match'current instr.: 'perl6;Perl6;Actions;trait' pc 187819 (src/gen/perl6-actions.pir:7199)» | ||
01:07
athenot joined
|
|||
jnthn | I'd panic too :-) | 01:07 | |
diakopter | panic if you couldn't panic? | 01:08 | |
jnthn | ...wtf did it try to do with it? :-) | ||
TimToady | std: my ($x = 1; $z = $x):my say $x | ||
p6eval | std 29830: OUTPUT«===SORRY!===Two terms in a row at /tmp/ZDX3fehEqQ line 1:------> my ($x = 1; $z = $x):my ⏏say $x expecting any of: bracketed infix infix or meta-infix statement modifier loop traitFAILED 00:01 108m» | ||
01:08
athenot left,
ihrd left
|
|||
jnthn | STD's panic is better than ours. | 01:09 | |
diakopter | rakudo: say my ($x = 1; $z = $x)*say*say $x | ||
p6eval | rakudo 59c65b: OUTPUT«Mu()2» | ||
lue | if you can't panic, then the best way to panic is don't. | ||
TimToady | what if you can't don't? | 01:10 | |
diakopter | then do? | ||
lue | then you just don't | ||
TimToady | seems like a design smell... | ||
diakopter | rakudo: my (::say $x = 1; $z = $x); | 01:12 | |
p6eval | rakudo 88f57f: OUTPUT«Lexical 'say' not foundcurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
lue | If you can't panic and you can't don't, then you neither panic nor don't panic | ||
01:12
eternaleye left
|
|||
lue | at the same time | 01:12 | |
rakudo: my ($x = 1; $z = $x):my say $x | 01:13 | ||
p6eval | rakudo 88f57f: OUTPUT«Method 'panic' not found for invocant of class 'Regex;Match'current instr.: 'perl6;Perl6;Actions;trait' pc 188147 (src/gen/perl6-actions.pir:7201)» | ||
lue | I think it panicked when it couldn't find panic | ||
TimToady | std: my (::say $x = 1; $z = $x); | 01:14 | |
p6eval | std 29830: OUTPUT«ok 00:01 108m» | ||
TimToady | std: my (::say $x = 1; say $z = $x); | ||
p6eval | std 29830: OUTPUT«ok 00:01 108m» | ||
TimToady | std: my (::say $x = 1; say $z = $x); my say $x; | ||
p6eval | std 29830: OUTPUT«Potential difficulties: Useless redeclaration of variable $x (from line 1) at /tmp/MjWPyTNOBL line 1:------> y (::say $x = 1; say $z = $x); my say $x⏏;ok 00:01 108m» | ||
TimToady | std: my (::say $x = 1; say $z = $x); my say $y; | 01:15 | |
p6eval | std 29830: OUTPUT«ok 00:01 108m» | ||
diakopter | std: say my $f; my (::say $x = 1; say $z = $x); my say $y; say my $z; | ||
p6eval | std 29830: OUTPUT«===SORRY!===Two terms in a row at /tmp/Sj5Ic4G7TI line 1:------> ay $x = 1; say $z = $x); my say $y; say ⏏my $z; expecting any of: bracketed infix infix or meta-infix statement modifier loopOther potential difficulties: | ||
..Unsupported u… | |||
diakopter | O_O | 01:16 | |
TimToady | you turned say into a value | ||
01:16
cotto joined
|
|||
TimToady | specifically, a type value | 01:16 | |
diakopter | rakudo: say my $f; my (::say $x = 1; say $z = $x); my say $y; say my $z; | ||
p6eval | rakudo 88f57f: OUTPUT«Confused at line 11, near "say my $z;"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
TimToady | std: constant say = 'you said it'; say $x | 01:17 | |
p6eval | std 29830: OUTPUT«===SORRY!===Two terms in a row at /tmp/DADI3zG7Kr line 1:------> constant say = 'you said it'; say ⏏$x expecting any of: bracketed infix infix or meta-infix statement modifier loopOther potential difficulties: Unsupported | ||
..use of bare… | |||
lue | I think, to make Rakudo/P6 friendlier, every error message should begin with Don't Panic! | ||
arlinius | Don't Panic! Method 'panic' not found for invocant of class 'Regex;Match' | 01:18 | |
diakopter | rakudo: say my ::say (say $z) | ||
p6eval | rakudo 88f57f: OUTPUT«Null PMC access in type()current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
TimToady | surely it should be Don't panic. | ||
case matters... | |||
if this were ruby we could have a Panic! method | 01:19 | ||
lue | Capitalizing each word makes it more pronounced, APART FROM SHOUTING . | ||
TimToady | does it now, Gentle Reader? | ||
01:19
krzys left
|
|||
diakopter | std: my int (int (int $z)) | 01:20 | |
p6eval | std 29830: OUTPUT«ok 00:01 108m» | ||
lue | quite. especially in an error message, Where THings::may be capi:TA:lized at will, so it shouldBe Don't Panic. | ||
01:22
am0c left
|
|||
TimToady | std: while (my $x = shift) {...} | 01:23 | |
p6eval | std 29830: OUTPUT«ok 00:01 106m» | ||
diakopter | std: my Int (Int $y, (Int $z), Str $z); say $z | ||
p6eval | std 29830: OUTPUT«Potential difficulties: Useless redeclaration of variable $z (from line 1) at /tmp/tt8vfMjtdY line 1:------> my Int (Int $y, (Int $z), Str ⏏$z); say $zok 00:01 108m» | ||
diakopter | std: my Int (Int $y, (Int $z), Str $z); | ||
p6eval | std 29830: OUTPUT«Potential difficulties: Useless redeclaration of variable $z (from line 1) at /tmp/GJsNQz0ha7 line 1:------> my Int (Int $y, (Int $z), Str ⏏$z);ok 00:01 108m» | ||
diakopter | oh | ||
TimToady | std: while (my $x = <STDIN>) {...} | ||
p6eval | std 29830: OUTPUT«===SORRY!===This appears to be Perl 5 code at /tmp/G3AiP2eQH6 line 1:------> while ⏏(my $x = <STDIN>) {...}FAILED 00:01 104m» | ||
TimToady | there, "Perl 5" is more pronounced. :) | ||
jnthn | rakudo: while (my $x = <STDIN>) {...} | ||
p6eval | rakudo 88f57f: OUTPUT«Unsupported use of <STDIN>; in Perl 6 please use $*IN.lines at line 11, near "<STDIN>) {"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
TimToady | (it's also a capital 5, though it's hard to see.) | 01:24 | |
diakopter | rakudo: my Int (Str $x); say $x | ||
p6eval | rakudo 88f57f: OUTPUT«Int()» | ||
jnthn | TimToady: I vote Rakudo more helpful there. :-P | ||
;-) | |||
TimToady | not if they just fed a Perl 5 program to a Perl 6 interpreter :P | 01:25 | |
diakopter | rakudo: my (::eval $x); say $x | ||
p6eval | rakudo 88f57f: OUTPUT«Lexical 'eval' not foundcurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
jnthn | Anyways, it draws late. | 01:26 | |
diakopter | rakudo: my Int (Str $x); say $x.WHAT | ||
jnthn -> sleepies | |||
p6eval | rakudo 88f57f: OUTPUT«Int()» | ||
TimToady | n8 | ||
lue | rakudo: my @a=1,2,3; say $a[2]; | ||
p6eval | rakudo 88f57f: OUTPUT«Symbol '$a' not predeclared in <anonymous>current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)» | ||
TimToady | ooh, there's an opportunity for a better message | 01:27 | |
(std will fail similarly) | |||
01:29
justatheory left
|
|||
diakopter | rakudo: my $::x | 01:31 | |
p6eval | rakudo 88f57f: OUTPUT«Symbol '$x' not predeclared in <anonymous>current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)» | ||
diakopter | std: my $::x; $::::x | 01:32 | |
p6eval | std 29830: OUTPUT«ok 00:01 105m» | ||
01:38
fda314925 left
|
|||
cognominal | S02-bits.pod:1181: Slicel Arguments in a semicolon list (or equiv, like Z) | 01:38 | |
I suppose that should be a Splice, or the euphony whith Parcel is really intended? | 01:39 | ||
Anyway, whatever the spelling, I don't see that type anywhere else in the Synopses | 01:40 | ||
pugssvn | r29831 | lwall++ | [STD] make undeclared variable more fatal | 01:43 | |
r29831 | try to be helpful if they made the typical P5-ish variant-sigil mistake | |||
cognominal | I meant "a Slice" | 01:46 | |
01:49
athenot joined
|
|||
diakopter | Splicel | 01:51 | |
std: my ($x does CORE) | 01:53 | ||
p6eval | std 29830: OUTPUT«ok 00:01 106m» | ||
diakopter | std: my () | 01:57 | |
p6eval | std 29831: OUTPUT«ok 00:01 106m» | ||
diakopter | std: {($:s)} | 01:58 | |
p6eval | std 29831: OUTPUT«ok 00:01 105m» | ||
02:03
lue left,
eternaleye joined
|
|||
diakopter | rakudo: {say $^s}($s((my $s = { $^a, $^b; }), $s)) | 02:05 | |
p6eval | rakudo 88f57f: OUTPUT«2» | ||
diakopter looks around for "2" | 02:06 | ||
02:08
agentzh joined
|
|||
diakopter | rakudo: my $a = sub { say $^a + $^a }; $a(4); # this is still a biggish bug | 02:08 | |
p6eval | rakudo 88f57f: OUTPUT«Not enough positional parameters passed; got 1 but expected 2current instr.: '_block48' pc 329 (EVAL_1:133)» | ||
diakopter | rakudo: my $a = sub { say $^a }; $a(4); | 02:09 | |
p6eval | rakudo 88f57f: OUTPUT«4» | ||
TimToady | std: my @a=1,2,3; say $a[2]; | 02:11 | |
p6eval | std 29831: OUTPUT«===SORRY!===Variable $a is not predeclared (did you mean @a?) at /tmp/oplNTqJod9 line 1:------> my @a=1,2,3; say $a[2⏏]; expecting any of: POST numish postfix postfix_prefix_meta_operator prefix or term semicolon list | ||
..statement modi… | |||
TimToady | there you go | ||
rakudo: my $a = sub { say $^a + $a }; $a(4); | 02:12 | ||
p6eval | rakudo 88f57f: OUTPUT«8» | ||
diakopter | rakudo: my $a = sub { say $^a + $^a }; $a(4, 5); # this is still a biggish bug | 02:15 | |
p6eval | rakudo 88f57f: OUTPUT«10» | ||
diakopter | hee | ||
diakopter invokes masakbot deferentially. | 02:17 | ||
diakopter and deferredly | |||
still no one's replied to groups.google.com/group/parrot-dev/...e289393b06 | 02:22 | ||
02:23
ShaneC left
|
|||
diakopter | rakudo: my $a = { a => 3 }; say (%$a).WHAT | 02:23 | |
TimToady | is it in RT? | ||
p6eval | rakudo 88f57f: OUTPUT«Confused at line 11, near "say (%$a)."current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | 02:24 | |
02:24
meppl left
|
|||
diakopter | dunno | 02:24 | |
TimToady | if it's not in RT it's not officially a Bug | ||
diakopter | someone on #parrot suggested I email it to parrot-dv | ||
dev | |||
I thought parrot used trac for bugs now | 02:25 | ||
TimToady | mebbe it does | ||
diakopter | rakudo: {}.=() | 02:27 | |
p6eval | rakudo 88f57f: OUTPUT«src/hash.c:144: failed assertion 's'Backtrace - Obtained 17 stack frames (max trace depth is 32)./home/p6eval//p1/lib/libparrot.so.2.1.0 [0x2b32978f2d03]/home/p6eval//p1/lib/libparrot.so.2.1.0(Parrot_confess+0x87) [0x2b32978f2e37]/home/p6eval//p1/lib/libparrot.so.2.1.0 | ||
..[0x2b329… | |||
diakopter | rakudo: .=() | ||
p6eval | rakudo 88f57f: OUTPUT«src/hash.c:144: failed assertion 's'Backtrace - Obtained 17 stack frames (max trace depth is 32)./home/p6eval//p1/lib/libparrot.so.2.1.0 [0x2b6535c3dd03]/home/p6eval//p1/lib/libparrot.so.2.1.0(Parrot_confess+0x87) [0x2b6535c3de37]/home/p6eval//p1/lib/libparrot.so.2.1.0 | ||
..[0x2b653… | |||
02:27
cotto left
|
|||
diakopter | std: [5]=.=[5] | 02:28 | |
p6eval | std 29831: OUTPUT«ok 00:01 106m» | ||
02:29
galf1 joined,
galf1 left
|
|||
TimToady | how...palindromedary | 02:29 | |
diakopter | std: []=.=[] | 02:30 | |
p6eval | std 29831: OUTPUT«ok 00:01 106m» | ||
diakopter | std: []++=.=++[] | ||
p6eval | std 29831: OUTPUT«ok 00:01 106m» | ||
02:30
galf joined
|
|||
diakopter | std: []++<>=.=<>++[] # here's one | 02:32 | |
p6eval | std 29831: OUTPUT«ok 00:01 106m» | ||
TimToady | std: [][+]=.=[+][] | 02:33 | |
p6eval | std 29831: OUTPUT«===SORRY!===Preceding context expects a term, but found infix + instead at /tmp/tTl5OQ5iwL line 1:------> [][+⏏]=.=[+][] expecting any of: prefix or meta-prefix prefix_postfix_meta_operator termFAILED 00:01 106m» | ||
TimToady | std: [][[+]]=.=[[+]][] | 02:34 | |
p6eval | std 29831: OUTPUT«ok 00:01 106m» | ||
02:36
lue joined
02:37
galf left
|
|||
diakopter | rakudo: my $b = {.0000000000000000000000000000000000000000000000000000000000000000000000001 => $b}.perl; say $b | 02:39 | |
p6eval | rakudo 88f57f: OUTPUT«{Pair.new(:key("Inf"), :value(Mu))}» | ||
diakopter | erm | ||
rakudo: my $b = {.0000000000000000000000000000000000000000000000000000000000000000000000001 => $b}; say $b{Inf} | 02:40 | ||
p6eval | rakudo 88f57f: OUTPUT«Mu()» | ||
diakopter | rakudo: my $b = {.0000000000000000000000000000000000000000000000000000000000000000000000001 => $b}; say $b{"Inf"} | ||
p6eval | rakudo 88f57f: OUTPUT«Mu()» | ||
diakopter cornfuzzled | 02:41 | ||
rakudo: my $b = {1e-700 => $b}; say $b.perl | |||
p6eval | rakudo 88f57f: OUTPUT«{Pair.new(:key("0"), :value(Mu))}» | ||
TimToady | rakudo: my $b = { 'foo' => VAR($b) }; say $b.perl | 02:44 | |
p6eval | rakudo 88f57f: OUTPUT«Could not find non-existent sub &VARcurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
02:44
lichtkind left
|
|||
TimToady | rakudo: my $b = { 'foo' => \$b }; say $b.perl | 02:44 | |
p6eval | rakudo 88f57f: OUTPUT«{Pair.new(:key("foo"), :value(Capture.new()))}» | ||
TimToady | rakudo: my $b = { 'foo' => \($b) }; say $b.perl | 02:45 | |
p6eval | rakudo 88f57f: OUTPUT«{Pair.new(:key("foo"), :value(Capture.new()))}» | ||
diakopter | std: my $b = { 'foo' => 4}; say $b->{'foo'} | 02:48 | |
p6eval | std 29831: OUTPUT«===SORRY!===Unsupported use of -> as postfix; in Perl 6 please use either . to call a method, or whitespace to delimit a pointy block at /tmp/a1bejKZir2 line 1:------> my $b = { 'foo' => 4}; say $b->⏏{'foo'}FAILED 00:01 106m» | ||
diakopter | .. or drop the -> to index into a Hash | 02:49 | |
(ref) | |||
02:57
cls_bsd joined
03:03
wknight8111 left
03:05
colomon joined
03:10
justatheory joined
03:11
cotto joined
|
|||
colomon | Slicel? | 03:16 | |
03:17
nihiliad joined
|
|||
TimToady | easy to google for, probably :) | 03:18 | |
03:18
lestrrat is now known as lest_away
|
|||
colomon | yes, I imagine. :) | 03:18 | |
pugssvn | r29832 | lwall++ | [STD] improve error message on ->{} etc as suggested by diakopter++ | 03:25 | |
03:31
lest_away is now known as lestrrat
03:33
lue left
03:37
stephenlb left,
lue joined
|
|||
pugssvn | r29833 | lwall++ | [lvalue-sub] put band-aid on parsefail | 03:38 | |
TimToady | std: my $b = { 'foo' => 4}; say $b->{'foo'} | 03:39 | |
p6eval | std 29831: OUTPUT«===SORRY!===Unsupported use of -> as postfix; in Perl 6 please use either . to call a method, or whitespace to delimit a pointy block at /tmp/4EKBKPDXk3 line 1:------> my $b = { 'foo' => 4}; say $b->⏏{'foo'}FAILED 00:01 108m» | ||
03:43
mssm left,
justatheory left
03:46
athenot_ joined
03:48
fda314925 joined
03:49
athenot left,
athenot_ is now known as athenot
03:52
ggoebel left
|
|||
snarkyboojum | should I be able to do something like: ./perl6 --target=pir -e "say G'day" > ~/gday.pir; parrot/parrot ~/gday.pir and have it work? | 04:05 | |
bkeeler | Probably not, because it won't have the setting loaded | 04:06 | |
snarkyboojum | d;oh | ||
cheers :) | |||
TimToady | well, it's a parsefail unless G'day is defined | ||
bkeeler | that too, heh | ||
TimToady | std: say G'day | ||
p6eval | std 29833: OUTPUT«Undeclared name: 'G'day' used at line 1ok 00:01 107m» | ||
snarkyboojum | hehe | 04:07 | |
TimToady | std: my $b = { 'foo' => 4}; say $b->{'foo'} | ||
p6eval | std 29833: OUTPUT«===SORRY!===Unsupported use of '->{' as postfix dereferencer; in Perl 6 please use '.{' or just '{' to deref, or whitespace to delimit a pointy block at /tmp/FXnSwMRRnV line 1:------> my $b = { 'foo' => 4}; say $b->{⏏'foo'}FAILED 00:01 | ||
..106m» | |||
snarkyboojum | whoops | ||
TimToady | just testing the diakopter memorial error message :) | ||
bkeeler | I keep making that mistake too | 04:08 | |
hard habit to break | |||
TimToady | I wonder if the p5 folks will start adding in "This looks like Perl 6" error messages into perl5... | 04:14 | |
pmichaud | :-) | ||
TimToady | we've tried very hard to make p6 differentiable from p5, so maybe it works the other way too | 04:15 | |
pmichaud | and I wonder if the error messages will be a little less "friendly" :-) | ||
zpmorgan | differentiable == distinguishable? | 04:16 | |
TimToady | yes | ||
to differentiate is to "tell apart" | |||
or to treat different things differently | |||
"differentiate the sheep from the goats" | 04:17 | ||
distinguish is mostly a mental act, differentiate usually has more pragmatic results | |||
you can also differentiate yourself from your competitors | 04:19 | ||
04:25
athenot_ joined
04:26
athenot left,
athenot_ is now known as athenot
04:40
NOTevil joined
|
|||
eternaleye | TimToady: And by doing so become a distinguished personage! | 04:44 | |
TimToady | I'd rather be well integrated... | 04:46 | |
eternaleye | TimToady: As long as you aren;t purely derivative | 04:55 | |
04:56
athenot left
|
|||
snarkyboojum | and can be distinguished by being so well integrated | 04:56 | |
TimToady | the slope of my forehead is against me... | ||
eternaleye | snarkyboojum: You are really taking it to the limit | ||
snarkyboojum | which I'm doomed never to reach :) | 04:57 | |
eternaleye | By the way, where did carlin's bots go, zaslon and mubot and such? | ||
TimToady | lost on the server migration? | 04:58 | |
eternaleye | Maybe, but irclog.perlgeek.de hasn't seen him since the new year | 05:00 | |
Which was before the switchover | |||
05:00
rv2733 left
|
|||
eternaleye | Same for the bots | 05:00 | |
(25th and 12th of December for zaslon and mubot respectively) | |||
brb, rebooting | 05:02 | ||
05:02
eternaleye left
|
|||
lue | updating my system is a chore. Especially when in the middle of it it starts whining about not allocating memory. | 05:22 | |
So you ^C it, then try again. 2nd try hangs, you ^C it. Then, trying a third time, it's apparently still running. | |||
SIGTERM won't kill it, so you send yum a SIGKILL. I learned my lesson. :( | 05:23 | ||
05:25
desertm4x_ joined
05:26
nihiliad left
05:29
desertm4x left
06:00
athenot joined
06:01
agentzh left
|
|||
lue | anyone there? | 06:02 | |
bkeeler | yep | 06:04 | |
lue | hooray! (updating system, getting KDE 4.4 \o/) | 06:05 | |
bkeeler | Now even bloatier! | 06:12 | |
lue | Aw, it's not that bad! Linus uses it! | ||
He also uses Fedora (which I use), because it had great support for the PPC he had (just like me, I think this is the best for PPC) | 06:13 | ||
It's really creepy how similar my linux box is to his... | |||
I didn't choose Fedora/KDE becuase Linus uses it, mind you. It's just by (creepy) chance. | 06:17 | ||
s/becuase/because/ | |||
06:24
lue left
06:45
JimmyZ joined
|
|||
pugssvn | r29834 | bkeeler++ | Can't use a named regex here, but an anonymous one will suffice | 06:54 | |
06:54
kaare joined
06:55
kaare is now known as Guest44302
|
|||
pugssvn | r29835 | duff++ | [t/spec] Add more signature unpacking tests to S06-signature/unpack-array.t | 06:56 | |
JimmyZ | rakudo: my $a = sub { say $a; say $^a}; $a(3); | 06:57 | |
p6eval | rakudo 88f57f: OUTPUT«33» | ||
JimmyZ | rakudo: my $a = sub { say $a; say $^b}; $a(3); | ||
p6eval | rakudo 88f57f: OUTPUT«_block483» | ||
JimmyZ | rakudo: my $a = sub { say $a; }; $a(3) | ||
p6eval | rakudo 88f57f: OUTPUT«Too many positional parameters passed; got 1 but expected 0current instr.: '_block48' pc 329 (EVAL_1:133)» | ||
JimmyZ wonders whether it's right or not. | 06:59 | ||
pugssvn | r29836 | duff++ | [t/spec] Add some tests for multi-dispatch based on unpackability | ||
TimToady | std: my $a = sub { say $a; say $^a}; $a(3); | 07:06 | |
p6eval | std 29833: OUTPUT«===SORRY!===Lexical symbol '$a' (from line 1) is already bound to an outer scope implicitly and must therefore be rewritten explicitly as 'OUTER::<$a>' before you can unambiguously declare a new '$a' in the same scope at /tmp/cVEH894wef line 1:------> | ||
..m… | |||
ewilhelm | is there any documentation on metaclasses outside of S12? | 07:09 | |
dalek | kudo/master: e79112d | duff++ | t/spectest.data: Add S06-multi/unpackability.t to spectest.data |
||
TimToady | not sure | 07:10 | |
jnthn may have some somewhere | |||
ewilhelm | Mu? | 07:12 | |
07:13
desertm4x_ left
|
|||
bkeeler | Is that a question? | 07:14 | |
TimToady | it is to a cow | ||
ewilhelm | yeah, I'm still looking for a better question :-D | ||
saw Mu mentioned in S12, was hoping to read some docs or source for Mu | 07:15 | ||
looks like rakudo aliases Mu to Object | |||
TimToady | Mu is the new Object | 07:16 | |
it is no longer aliased | |||
rakudo: say Object.WHAT | |||
p6eval | rakudo 88f57f: OUTPUT«Could not find non-existent sub &Objectcurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
ewilhelm | ah, reading old source | ||
rakudo: say Mu.WHAT | |||
p6eval | rakudo 88f57f: OUTPUT«Mu()» | ||
07:17
Su-Shee joined
|
|||
Su-Shee | good morning. | 07:17 | |
07:20
quietfanatic joined
|
|||
JimmyZ | std: my $a = sub { say $a; }; $a(3) | 07:20 | |
p6eval | std 29833: OUTPUT«ok 00:01 106m» | ||
JimmyZ | std: my $a = sub { say $a; say $^a + $a; }; $a(3); | ||
p6eval | std 29833: OUTPUT«===SORRY!===Lexical symbol '$a' (from line 1) is already bound to an outer scope implicitly and must therefore be rewritten explicitly as 'OUTER::<$a>' before you can unambiguously declare a new '$a' in the same scope at /tmp/leAx8zbBz0 line 1:------> | ||
..m… | |||
JimmyZ | rakudo: my $a = sub { say $a; say $^a + $a; }; $a(3); | ||
p6eval | rakudo 88f57f: OUTPUT«36» | ||
TimToady | rakudo is incorrect here | 07:21 | |
07:21
uniejo joined
|
|||
JimmyZ | gotcha | 07:21 | |
ewilhelm | ah, src/core/Mu.pm | 07:23 | |
more pod in src/builtins/Mu.pir | 07:25 | ||
and src/metamodel/ClassHOW.pir | 07:26 | ||
JimmyZ | Mu is still a alias of Object. | ||
ewilhelm | not in ng? | 07:27 | |
JimmyZ | ng was already master | ||
ewilhelm: github.com/rakudo/rakudo/blob/maste...amodel.pod | 07:28 | ||
ewilhelm | thanks | 07:29 | |
sounds like a fair bit of that is leading the spec. Are other implementations also working-out the details of metamodel? | 07:30 | ||
JimmyZ | I dont't think so | 07:36 | |
What follows is the current way this works in Rakudo. Parts of it may one day become spec, other bits likely never will | 07:37 | ||
spinclad | iirc mildew has some metawork based on KnowHow's (like ClassHOW etc), and jnthn and ruoso have compared notes. | ||
TimToady | I think we originally invented knowhows for smop | 07:38 | |
much of the metamodel was originally invented for Moose, actually | 07:39 | ||
and was about to get into pugs, when that project crashed | 07:40 | ||
JimmyZ | I don't like the name of Mu. ;) | 07:41 | |
ewilhelm | it's not much harder to search for than Object, really :-D | 07:42 | |
TimToady | "object" does not sound very undef-ish | ||
spinclad | in fact, first prototyped for pugs, then ported to p5 as Moose | 07:43 | |
(to my hazy recall) | |||
TimToady | mine too | ||
ewilhelm | is that basically Class::MOP, or also Moose? | 07:44 | |
spinclad | both, i think, but first Class::MOP then Moose on top of it | 07:45 | |
JimmyZ | rakudo: my $a = Mu; say $a.WHAT | 07:46 | |
p6eval | rakudo e79112: OUTPUT«Mu()» | ||
spinclad | and (as deeper roots) it comes from The Art of the Meta-Object Protocol (CLOS, Common Lisp's object system) | 07:47 | |
(see READTHEM) | 07:48 | ||
TimToady .= zzz(); | 07:52 | ||
07:56
JimmyZ left
|
|||
ewilhelm | rakudo: say Mu.HOW | 07:56 | |
p6eval | rakudo e79112: ( no output ) | ||
ewilhelm | alpha: say Mu.HOW | 07:57 | |
p6eval | alpha 30e0ed: OUTPUT«Object()<0x2b44f738bce8>» | ||
08:10
iblechbot joined
08:18
Sarten-X2 left
08:19
alexn_org joined
08:24
athenot left
08:28
Su-Shee_ joined
08:31
Su-Shee left
08:34
alexn_or1 joined,
alexn_or1 left,
alexn_org left
08:36
Trashlord joined
08:37
eternaleye joined,
xabbu42 joined
08:40
Su-Shee_ is now known as Su-Shee
08:41
xabbu42 left
|
|||
moritz_ | good morning | 08:42 | |
ewilhelm | std: say class {has $.foo;}.^methods(:local).join(','); | 08:44 | |
p6eval | std 29836: OUTPUT«ok 00:01 108m» | ||
ewilhelm | early morning | ||
rakudo: say class {has $.foo;}.^methods(:local).join(','); | |||
p6eval | rakudo e79112: OUTPUT«Confused at line 11, near "say class "current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
ewilhelm | rakudo: say (class {has $.foo;}).^methods(:local).join(','); | ||
p6eval | rakudo e79112: OUTPUT«Invalid namespace key in set_pmc_keyedcurrent instr.: 'perl6;ClassHOW;new' pc 3527 (src/metamodel/ClassHOW.pir:27)» | ||
ewilhelm | alpha: say (class {has $.foo;}).^methods(:local).join(','); | 08:45 | |
p6eval | alpha 30e0ed: ( no output ) | ||
ewilhelm | alpha: say class {has $.foo;}.^methods(:local); | ||
p6eval | alpha 30e0ed: OUTPUT«Confused at line 10, near ".^methods("in Main (file <unknown>, line <unknown>)» | ||
ewilhelm | alpha: say (class {has $.foo;}).^methods(:local); | ||
p6eval | alpha 30e0ed: ( no output ) | 08:46 | |
moritz_ | ewilhelm: the evalbot somehow provokes timeouts on alpha if you declare a new class | ||
ewilhelm: I've never found out why :( | |||
ewilhelm | ah. my alpha says 'foo' there | ||
moritz_ | that looks right | ||
ewilhelm | but only with the parens around class {...} | 08:47 | |
moritz_ | a public attribute is just a private attribute plus an accessor | ||
that's a known parsing limitation in rakudo/alpha | |||
ewilhelm | ah, ok. So if rakudo says "confused", and std says ok, it's probably a NYI? | 08:48 | |
moritz_ | ewilhelm: yes | 08:49 | |
08:50
yinyin left
|
|||
ewilhelm | rakudo: class Thing {has $.foo}; say Thing.new().^methods(:local) | 08:52 | |
p6eval | rakudo e79112: OUTPUT«accessor_helper_ro» | ||
ewilhelm | odd, I just built master and got "maximum recursion depth exceeded" for that one | 08:53 | |
oh, wait. not with :local | |||
moritz_ | ewilhelm: please submit a bug report to [email@hidden.address] | ||
t/spec/S02-whitespace_and_comments/one-pass-parsing.t fails for me :/ | 09:05 | ||
09:11
dakkar joined
09:16
eternaleye left
09:17
eternaleye joined
09:28
barney joined
09:33
jferrero joined
09:36
hanekomu joined
09:38
pdcawley joined
|
|||
moritz_ | rakudo: say (1..*)[2] | 09:44 | |
p6eval | rakudo e79112: OUTPUT«Method 'postcircumfix:<[ ]>' not found for invocant of class 'Range'current instr.: '!postcircumfix:<[ ]>' pc 10852 (src/builtins/Iterator.pir:25)» | ||
moritz_ | rakudo: say (1...*)[2] | ||
p6eval | rakudo e79112: ( no output ) | 09:45 | |
moritz_ | not that lazy yet, it seems | ||
09:55
pdcawley left
|
|||
pugssvn | r29837 | moritz++ | [t/spec] some unfudges for rakudo | 09:58 | |
10:02
cosimo joined
10:04
xalbo left
10:20
pmurias joined
10:22
lestrrat is now known as lest_away
|
|||
moritz_ wants an offline version of the perl6 queue from RT | 10:23 | ||
10:25
mssm joined
10:26
orafu left,
orafu joined
10:34
masak joined
|
|||
masak | oh hai, #perl6. | 10:34 | |
TimToady: [r29830] it does not feel to me like 'lastcall' is a no-op even in the case of the last candidate, since it actually gives you another dispatch queue. | 10:37 | ||
10:38
frettled sets mode: +o masak
|
|||
frettled | Good, ehrm, morning, sortof. | 10:38 | |
masak | a bit late, yes... :/ | 10:40 | |
mathw | oh hai | 10:44 | |
masak | mathw: \o | ||
what wonders await today in the world of Perl 6? | 10:45 | ||
10:57
xalbo joined
10:59
lest_away is now known as lestrrat
11:09
daemon left
|
|||
masak | std: my $x, $y | 11:11 | |
p6eval | std 29837: OUTPUT«===SORRY!===Variable $y is not predeclared at /tmp/sXl06T7fdf line 1:------> my $x, $y⏏<EOL> expecting any of: POST postfix postfix_prefix_meta_operatorFAILED 00:01 108m» | ||
masak | would it be possible to make this error say "you need to put in parens"? | 11:12 | |
sjohnson | say ~Array.^Methods | ||
rakudo: say ~Array.^Methods | |||
p6eval | rakudo e79112: OUTPUT«Method 'Methods' not found for invocant of class 'ClassHOW'current instr.: '!dispatch_.^' pc 410 (src/glue/dispatch.pir:100)» | ||
masak | sjohnson: small 'm' | ||
sjohnson | rakudo: say ~Array.^methods | ||
p6eval | rakudo e79112: OUTPUT«maximum recursion depth exceededcurrent instr.: 'perl6;Seq;!fill' pc 13433 (src/builtins/Multi.pir:22)» | ||
masak | o.O | ||
sjohnson | i broketed it! | ||
masak submits rakudobug | |||
rakudo: Array.^methods | 11:13 | ||
p6eval | rakudo e79112: OUTPUT«maximum recursion depth exceededcurrent instr.: 'perl6;Seq;!fill' pc 13433 (src/builtins/Multi.pir:22)» | ||
sjohnson | rakudo: say ~Array.^Methods.perl | ||
p6eval | rakudo e79112: OUTPUT«Method 'Methods' not found for invocant of class 'ClassHOW'current instr.: '!dispatch_.^' pc 410 (src/glue/dispatch.pir:100)» | ||
sjohnson | rakudo: say ~Array.^methods.perl | ||
p6eval | rakudo e79112: OUTPUT«maximum recursion depth exceededcurrent instr.: 'perl6;Seq;!fill' pc 13433 (src/builtins/Multi.pir:22)» | ||
sjohnson | rakudo: say Array.^methods.count | ||
p6eval | rakudo e79112: OUTPUT«maximum recursion depth exceededcurrent instr.: 'perl6;Seq;!fill' pc 13433 (src/builtins/Multi.pir:22)» | 11:14 | |
sjohnson | son of a... :) | ||
masak | sjohnson: look, if Array.^methods loops infinitely... | 11:15 | |
...Array.^methods.count will, too. | |||
think of the order of the calls. | |||
sjohnson | i didn't recognize the error | 11:16 | |
masak | it's reported now, anyhow. | 11:17 | |
11:23
payload joined
11:26
xalbo left,
xalbo joined
|
|||
sjohnson | cool | 11:29 | |
thanks | |||
i decided.. i shall not go to work tomorrow | |||
11:35
cjk101010 joined
|
|||
m-locks | that epic | 11:35 | |
's | |||
jnthn | o/ | 11:37 | |
colomon | o/ | 11:44 | |
11:46
daemon joined
|
|||
sjohnson | \o | 11:58 | |
masak | o/ | 12:05 | |
12:09
payload left
|
|||
colomon | Hmmm, 1101... must look that up in the Rakudo code book. | 12:09 | |
12:09
meppl joined
12:10
hicx174 left,
mikehh left,
cognominal left,
arlinius left,
simcop2387 left,
bbkr left,
frettled left,
rhr left,
jjore left
|
|||
jnthn | I suspect that Array.^methods fail is because the flattener ignores the fact that it has a proto-object, not an actual Array, and tries to flatten the proto-object, with innevitable bad consequences. | 12:11 | |
12:12
bbkr joined
12:13
mikehh joined
12:14
computerquip joined
|
|||
masak | where does the flattener come into the picture? | 12:15 | |
12:15
Maddingue joined,
rhr joined,
frettled joined
|
|||
jnthn | Not sure, without looking deeper. | 12:17 | |
masak | ok, no worries. | ||
jnthn | rakudo: Array.^parents | ||
p6eval | rakudo e79112: ( no output ) | ||
jnthn | Not there at least then. | 12:18 | |
12:18
ggoebel joined,
cognominal joined
12:24
iblechbot left
12:27
simcop2387 joined,
jjore joined
12:28
hicx174 joined
12:36
ggoebel left
12:37
payload joined
|
|||
takadonet | hey everyone | 12:47 | |
masak | takadonet: \o | ||
colomon | o/ | ||
takadonet | you guys are quick :) | ||
masak | spacial implants. | ||
reading through the exigeses, where Damian keeps saying "look -- it's a little different, but kinda mostly the same all the way" actually causes me to have a little more sympathy for people who nowadays say "it's like it's not even Perl anymore". | 12:48 | ||
(whether it's still Perl or not is still a matter of sophistry, of course. just saying I see more clearly that Perl 6 used to be closer to Perl 5 than it is nowadays.) | 12:49 | ||
pugssvn | r29838 | pmurias++ | [mildew] added -BoptC | 12:53 | |
r29838 | say "hello world" works under -BoptC | |||
r29838 | (still have to fix the setr error) | |||
m-locks | just a sec ago some people ripped me a new one on #perl because they keep insisting that they are two separate languages | 12:55 | |
masak | yeah, they tend to do that over there. | 12:56 | |
m-locks | i guess they might have a point, but dismissing perl6 completely because of lack of motivation of learning a BETTER language seems lame to me | ||
;P | |||
masak .oO( worse-is-better, Peter Gabriel ) | 12:57 | ||
all I'm saying is I'm not going to lean to hard on the superiority of Perl 6 over Perl 5 while the latter is the one with CPAN and thousands of modules, stability, speed, community, etc. | |||
m-locks | well i guess it's a matter of evolution, adapting the technology and stuff | 12:58 | |
like hd-dvd vs. blueray | |||
masak | I'm with mst++ on that one. we have reasons to be proud, but it's earlier than we sometimes make light of. | ||
m-locks | well yes, it would pay off for some people to start writing modules with perl6 like crazy to make people see that it's usable and doable and nice and pretty | 12:59 | |
and also, writing that perl6 for complete idiots | |||
masak | yeah. people should write modules. | ||
also, it would be nice to focus more on Perl 5/Perl 6 integration, just as diakopter pointed out a couple months ago. | 13:00 | ||
m-locks | i was thinking of trying to write some neural network experiments | ||
i'm rather a scientist-type than a programmer | 13:01 | ||
takadonet whistle innocent | |||
I will start writing module for Perl 6 soon | |||
github.com/cjfields/bioperl6 | 13:02 | ||
m-locks | how about doing fast hacking with perl5toperl6 compiler and using those modules | ||
could transfer some functionality | |||
masak | easier said than done. | ||
m-locks | although if we'd like to see some real OO paradigms being used, it's mostly completely rewriting stuff | 13:03 | |
masak | also, I don't think it's reasonable to expect Perl 5 users to port all their code, even if it's automatic. | ||
m-locks | aye | ||
masak | basically, Perl 6 is in an underdog position. what's most pissed of (some of) the Perl 5 community members is our attitude of superiority -- in the sense that we find it 'obvious' that people will want to switch over to Perl 6, than Perl 6 is a better language with better foundations and so on. | 13:05 | |
13:05
astrojp left
13:06
payload left
|
|||
masak | I hold all those to be true in some sense, but I also see that not much in way of facts help support those views presently. | 13:06 | |
s/than/that/ | |||
13:07
ignacio_ joined
|
|||
m-locks | i agree, better not expect anything and just do some stuff | 13:07 | |
and get larger communities to go with you | |||
to do some stuff | |||
jnthn | The problem is perhaps more that even if we can comfortably claim Perl 6 as a language is superior, we've way behind on having anything to compare on the implementation front. | 13:08 | |
Su-Shee | the porting of code isn't really the issue. many people would do that, if the environment is so much better. | ||
masak | nod. | ||
killer apps matter. development tools matter. | 13:09 | ||
pmurias | CPAN matters | ||
masak | indeed. | ||
Su-Shee | exactly. there are many great programming languages which people abondon their projects from because of lack of "the environment". see reddit's switch. | ||
masak | give me a Rakudo-capable Perl 6 implementation with a fully functional CPAN bridge, and we're golden. | ||
Su-Shee | and I'm personally not even really a fan of heavy module usage. | 13:10 | |
masak | coming soon: grammar trace tool, time-traveling debugger. | ||
pmurias | m-locks: re real OO - MooseX::Declare gives you real OO in perl 5 | ||
13:15
wknight8111 joined,
wknight8111 is now known as whiteknight,
whiteknight is now known as wknight8111,
payload joined
13:16
ruoso joined
|
|||
colomon | masak: It seems to me a lot of the reason there is "attitude of superiority" in the Perl 6 camp is precisely that most of the people in that camp are former (or current!) Perl 5 users that are investing time / energy in Perl 6 because in their opinion it is so much better than Perl 5 that it is worth putting up with slow, buggy implementations and a still-shifting spec. | 13:16 | |
masak | colomon: yeah. I'm not one of those, but I see that this might be the motivation of some. | 13:17 | |
colomon: there's a big danger of attracting idealists. | 13:18 | ||
colomon | It's not an idealism thing, it's just practical. | ||
masak | well, claiming that Perl 6 is superior is a statement based in idealism :) | 13:19 | |
colomon | If I thought Perl 5 were even close to Perl 6 in capabilities, why would I be spending time mucking about with Perl 6 when Perl 5 has an awesome implementation? | ||
masak | where 'capabilities' means 'potential capabilities'. | 13:20 | |
pmurias | ruoso: hi | ||
ruoso | hi pmurias | 13:21 | |
mathw | I always see it as Perl 6 being a superior language, but unfortunately lacking a suitably complete and polished implementation. | 13:22 | |
colomon | Well, a lot of the capabilities are there now, just not up to their full potential. But yes, if they weren't to some extent potential, Rakudo would be "done". | ||
mathw | It's impossible to recommend Perl 6 to anybody who's doing more than dabbling, because there isn't a compiler or interpreter which can run it in a useful manner except under very particular, rather unusual circumstances | ||
masak | mathw: implementation, tooling, module ecosystem, community. | 13:23 | |
mathw | yes | ||
all those things are required for an awesome language to get going | |||
masak | yes. | ||
mathw | The honest answer to most questions of 'should I learn Perl 6' at this point is 'no' | ||
I really look forward to the day when it's 'yes' | 13:24 | ||
And yes, I should do more to help that day come around | 13:27 | ||
mathw hugs everyone who helps | |||
colomon | That's kind of my point here. If you think that -- in terms of potential -- Perl 6 is no better than Perl 5, what would be the point of trying to make Perl 6 work? Perl 6 is 80% potential, Perl 5 is 110% actual. | ||
mathw | Mmm, Perl 5 is awesome, but dragging a lot of historical crud behind it | 13:28 | |
It's worth making a clean break and rebooting the concept. Like the new Battlestar Galactica, only on a much smaller budget. | |||
(one episode's budget... wouldn't that be nice to push into Perl 6 development) | 13:29 | ||
colomon is now fantasizing about how much language development could be afforded on the cost of one episode of a TV show... | |||
mathw | yes it does make me think that society's got some priorities wrong | 13:31 | |
maybe rakudo needs to have advert breaks in it | 13:32 | ||
colomon | Sponsored awesome error messages. | ||
buu | Yes, but I bet more people enjoy a single episode of tv | 13:33 | |
Su-Shee | the problem is that in the meanwhile, companies decide against perl day by day and choose java or php instead. which is rather sad. | ||
buu | Ageism affects many things in the computer world. | ||
mathw | * sigh * Don't get me started on the prevalence of PHP and Java... | 13:35 | |
jnthn is doing some Java bits today | 13:37 | ||
Mostly because there's some Good Stuff out there already written in Java. | |||
Well written is a whole other matter though. :-/ | |||
colomon | I just realized my last spectest run came in at 412 wallclock, which I think is a new record. | ||
jnthn | colomon: Nice :-) | 13:38 | |
colomon | and Tests=24798, which is tantalizingly close to 25000.... | 13:39 | |
pugssvn | r29839 | pmurias++ | [mildew] | ||
r29839 | optC handles submolds and branches are compiled correctly | |||
jnthn | Did anyone add PerlJam++'s S06-multi/unpackability.t to spectest.data yet? | ||
That may win us a few more. :-) | |||
colomon | I think I saw that in the github commit list. | 13:40 | |
jnthn | ok, cool | ||
13:40
meppl left
|
|||
colomon | but it wasn't included in that test run. :) | 13:40 | |
mathw | 'There's some Good Stuff already written I can use' is a good reason to use Perl 5 a lot of the time :) | 13:42 | |
jnthn | mathw: Indeed. | 13:43 | |
pugssvn | r29840 | pmurias++ | [mildew] fix setr error in optC | 13:47 | |
ruoso | pmurias, does it run faster? | 13:48 | |
jnthn -> last Slovak class | 13:49 | ||
pmurias | ruoso: haven't benchmarked it yet | ||
ruoso | ok... but does it look faster ;) ? | ||
pmurias | ruoso: it doesn't optimise stuff yet | ||
m-locks | are all those other languages parrot can use really complete ones? | 13:51 | |
colomon | Tests=24816 with unpackability.t. | ||
m-locks | that's a long list | ||
php, java, python, ruby, c, basic | 13:53 | ||
...brainfuck... | |||
colomon | I have had the urge to hack on Forth in Parrot since I first heard about Parrot. Wandered in Perl 6 work somehow instead. ;) | 13:54 | |
m-locks | heh | 13:55 | |
ruoso | pmurias, how do I look at that output? | 13:56 | |
pmurias | if you run perl mildew -BoptC it print out the file name of the c file | 13:57 | |
ruoso | okay | ||
pmurias | the output iss similiar to the yeast backend but it's written in perl5 so it will be easier to plug in optimalisations | 13:59 | |
PerlJam | good morning all | ||
ruoso | pmurias, cool | ||
pmurias | does -BoptC work for you? | 14:00 | |
ruoso have a new perl binary, so waiting some other modules to be installed | |||
pugssvn | r29841 | pmurias++ | [mildew] add ->type_info to AST::StringConstant | ||
pmurias goes out to fetche some food | 14:03 | ||
* fetch | |||
14:06
rv2733 joined
14:10
Lorn joined
14:13
iblechbot joined
14:20
silug joined
14:27
jferrero left
14:33
pmurias left,
pmurias joined
|
|||
ruoso | pmurias, it seems you forgot to publish Forest::Gtk2 | 14:37 | |
14:38
meppl joined
|
|||
pmurias | yes, it's only required for a cool visualization of the AST | 14:40 | |
ruoso: that is everything except -Cgtk should work without it | 14:42 | ||
14:42
ive joined
|
|||
ruoso | er... Can't locate Forest/Gtk2.pm in @INC (...) at mildew line 364 | 14:44 | |
(you probably should require instead of use) | 14:45 | ||
pugssvn | r29842 | pmurias++ | [mildew] optC: ignore phi functions when emitting code | 14:46 | |
r29843 | pmurias++ | [mildew] require Forest::Gtk2 instead of use Forest::Gtk2 | |||
pmurias | ruoso: yes, i thought i did like that | 14:47 | |
14:49
Guest44302 left
|
|||
pmurias | ruoso: did the commit help? | 14:49 | |
ruoso | re-making perl6 | 14:50 | |
pmurias, I got an error compiling CORE::int | 14:54 | ||
pmurias investigates | 14:55 | ||
ruoso | it complaints that $LexicalPrelude is not declared | ||
pmurias | a recent STD commit made using undeclared variables fatal | 14:56 | |
ruoso: not sure how to solve that, the spec states that SETTING is the Lexical symbols in the unit's DSL" | 14:59 | ||
ruoso: maybe we could rename $LexicalPrelude to that? | |||
15:02
payload left
15:03
hejki joined
|
|||
hejki | rakudo: multi sub postfix:<!> (Int $x) { $x.say; }; 5!; | 15:04 | |
p6eval | rakudo e79112: OUTPUT«Confused at line 11, near "5!;"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
hejki | rakudo: multi sub postfix:<!> (Int $x) { $x.say; }; !(5); | ||
p6eval | rakudo e79112: ( no output ) | ||
pmichaud | rakudo master doesn't know operator overloading yet | ||
alpha does, though: | |||
alpha: multi sub postfix:<!>(Int $x) { $x.say; }; 5! | |||
p6eval | alpha 30e0ed: OUTPUT«5» | ||
pmichaud | jnthn: ping | ||
actually, this question can go to others as well | 15:07 | ||
I'm revising/updating the roadmap, and I'm looking for a good way to indicate "degree of effort required" for individual items. any suggestions? I've tried a 1-5 scale, but I fear that gets a little confusing with the 1,2,3 "priority" scale we already have | 15:08 | ||
Su-Shee | make *, **, *** and so on. | 15:09 | |
pmichaud | yeah, that might be best | ||
Su-Shee++ | |||
Su-Shee | and it's like in primary school where you get little stars and bees and all when you've done stuff :) | 15:10 | |
15:15
justatheory joined
|
|||
PerlJam | for calibration, what's one-* effort and what's 5-* effort? | 15:16 | |
pmichaud | one-* is "could likely do very quickly" | 15:21 | |
three-* is "likely to take a couple of days or needs coordination/research with others" | |||
five-* is "omg" | |||
(at the moment I don't have any 5-star items in the roadmap :) | 15:22 | ||
colomon | rakudo: my @a; @a[1] = 2; say @a.perl | 15:23 | |
p6eval | rakudo e79112: OUTPUT«Null PMC access in isa_pmc()current instr.: 'perl6;Iterator;batch' pc 10144 (src/gen/RoleToInstanceApplier.pir:133)» | ||
colomon | whoops, that was a complete failure in terms of demonstrating the bug I was worrying about... | ||
rakudo: my @a; @a[1] = 2; say ~@a | |||
p6eval | rakudo e79112: OUTPUT« 2» | ||
PerlJam | colomon++ failure is how we learn :) | 15:24 | |
colomon | rakudo: my @a = 1, 2, 4, 3; undefine @a[1]; say @a.perl | 15:25 | |
p6eval | rakudo e79112: OUTPUT«[1, Mu, 4, 3]» | ||
colomon | rakudo: my @a = 1, 2, 4, 3; undefine @a[1]; say ~@a | ||
p6eval | rakudo e79112: OUTPUT«1 Mu() 4 3» | ||
PerlJam | rakudo: my @a; @a[13] = 42; say ~@a; | ||
p6eval | rakudo e79112: OUTPUT« 42» | ||
colomon | There we go, that's what I was after. | ||
PerlJam | interesting obfuscation for space padding :) | 15:26 | |
colomon | There seem to be a good number of tests that assume you'll get the same behavior for array elements that have been undefined as you do for those never defined, ie the stringification is '' | ||
pmichaud | colomon: does this just come down to "Mu should stringify differently?" | 15:28 | |
colomon | pmichaud: That' | ||
PerlJam | that's what I think | ||
colomon | That's what I'm trying to figure out. | ||
I'm also open to "The tests are wrong", or "undefine is wrong". | 15:29 | ||
pmichaud | undefine looks like it's doing the right thing to me -- it's setting the element to Mu (although with recent spec change, should be Any) | ||
jnthn | pmichaud: pong | ||
pmichaud | jnthn: Su-Shee answered for me :) | 15:30 | |
colomon | Really, Any instead of Mu? | ||
jnthn | Yay | ||
pmichaud | yes, recent spec change is that variable declarations default to Any | ||
rakudo: my $a; say $a.WHAT; | |||
masak | what if it's a typed array? then &undefine can't set the element to Any, but must set it to the declared element type. | ||
p6eval | rakudo e79112: OUTPUT«Mu()» | ||
pmichaud | should now be Any() | ||
masak submits rakuodbug | |||
m-locks | heh | ||
pmichaud | masak: correct, undefine is supposed to set the element to its declared element type | ||
masak | pmichaud: what if the declared element type is a subtype? :) | 15:31 | |
masak loves being difficult | |||
pmichaud | then likely its underlying nominal type for the subtype | ||
masak | ok. | ||
jnthn | (underlying nominal type) correct | ||
PerlJam | rakudo: my Int @a = 1,2,3,4; undefine @a[1]; say ~@a | ||
p6eval | rakudo e79112: OUTPUT«1 Mu() 3 4» | 15:32 | |
jnthn | subset Foo of Int where ...; my Foo $x; say $x.WHAT; # Int | ||
pmichaud | we don't do typed arrays yet. | ||
colomon | so should ~Any() also be '' ? | ||
masak | but the type object of the nominal type won't satisfy the subtype in the general case. | ||
so then you have elements in the array which don't belong to the subtype. | |||
pmichaud | masak: it doesnt have to -- undefined values are always allowed in containers | ||
masak | pmichaud: oh, ok. | ||
pmichaud: can I declare them not to be allowed? | |||
pmichaud | masak: I'm not aware of a way to do that | ||
masak | with :D or something. | ||
jnthn | subset Foo of Any where .defined | 15:33 | |
Or some such | |||
pmichaud | jnthn: but containers still allow undefined values | ||
jnthn | True | ||
OK, then no. :-) | |||
15:34
am0c joined
|
|||
colomon | Heh: Nominal type check failed for parameter '$x'; expected Any but got Mu instead | 15:34 | |
PerlJam | Isn't there a "default" property or something? my @a is default(42) = 1,2,3,4; undefine @a[1]; say ~@a; # "14234" | ||
masak | ok, so an Array typed to contain elements of type A must contain elements of tpye A... except if their .defined property is False, then the elements can be of any type? | 15:35 | |
pmichaud | masak: that's my current understanding, yes. | ||
jnthn | PerlJam: Don't remember seeing that. | ||
masak | so that's like a security hole in the type system, then. | ||
jnthn | masak: Only for containers. | 15:36 | |
masak | right. | ||
jnthn | masak: In signatures, undefs ain't gonna slip through. | ||
That also means that: | |||
my (Int $x) = Mu; # OK | |||
my (Int $x) := Mu; # dies | |||
Since the latter has signature binding semantics. | |||
colomon | rakudo: my @a = 1..3; undefine @a[1]; undefine @a[1] | 15:37 | |
p6eval | rakudo e79112: OUTPUT«Nominal type check failed for parameter '$x'; expected Any but got Mu insteadcurrent instr.: 'undefine' pc 223850 (src/gen/core.pir:2337)» | ||
jnthn | So you do have a way to enforce it if you really want to has an exploshun. | ||
colomon: Maybe tweak the signature of undefine. | |||
colomon | yup, looking for it now. | ||
jnthn | oh, wait | ||
pmichaud | undefine likely needs a Mu parameter | ||
jnthn | Oh, yes | ||
That probably will d it. | |||
*do | |||
pmichaud | from S02: | ||
colomon | our sub undefine(\$x) { | ||
my $undefined; | |||
$x = $undefined; | |||
} | |||
jnthn | Change to Mu \$x | 15:38 | |
pmichaud | Variables with non-native types can always contain I<undefined> values, | ||
such as C<Any>, C<Whatever> and C<Failure> objects. | |||
colomon | apparently my $undefined still does the wrong thing in Rakudo? | ||
pmichaud | colomon: the switch from Mu->Any is very recent | 15:39 | |
as in, within the last 4 or 5 days | |||
colomon | pmichaud: ah. | ||
15:42
mberends joined
|
|||
masak | lolitsmberends | 15:42 | |
jnthn | yayitsmberends! | 15:43 | |
mberends | oh hai #perl6, I got a bit stuck in PIR land :( | ||
jnthn | mberends: Snowstorm delayed flights outta there? | ||
masak | probably snowy in PIR land too... | 15:44 | |
mberends | jnthn: yes :( you suggestion for the args PMC in glue/run.pir didn't work. It looks like it always gives the arg count, not the arg values from the command line. | 15:46 | |
jnthn | Well that sucks. | ||
15:46
Psyche^ joined
|
|||
jnthn | mberends: Pastie? | 15:47 | |
mberends | wrong computer for that, this is @work | ||
later today will be ok | |||
jnthn | OK. | ||
15:48
snarkyboojum left
15:50
Patterner left,
Psyche^ is now known as Patterner
|
|||
pugssvn | r29844 | pmurias++ | ugly hack to make STD temporarly ignore $LexicalPrelude and $OUT | 15:51 | |
pmurias | ruoso: that commmit should HACK around the problem with $LexicalPrelude | ||
15:56
barney left
|
|||
colomon | okay, I've got delete.t passing except for the 6 tests that expect Mu() to stringify to ''. | 15:57 | |
15:57
ive left
|
|||
colomon | I'm not quite sure the best approach for dealing with that? | 15:57 | |
pmichaud | I think the issue may already be addressed in the spec -- we just need to remember/find what it is | ||
jnthn | method Str($self where .notdef: ) { '' } # iirc | ||
I didn't implement Mu:U yet, but I guess that'd do it in the future too. | 15:58 | ||
pmichaud | what's the point of the .notdef ? | ||
jnthn | pmichaud: Because we don't want any old object that doesn't say how it can stringify to stringify to '' | 15:59 | |
Only undefineds. | |||
pmichaud | jnthn: but how does that resolve the Mu case? | ||
or are you saying that all protoobjects should stringify to '' ? | |||
jnthn | I'm guessing so | ||
Since we'd like my $x; $x ~= 'lol'; to work | |||
So I guess Any needs to also. | |||
pmichaud | that's different | 16:00 | |
jnthn | Why? | ||
pmichaud | the = metaop explicitly says what to do with undefineds | ||
jnthn | :-S | ||
That feels...superfluous. | |||
pmichaud | my question is: | ||
my XYZ $a; say $a; # ? | 16:01 | ||
jnthn | oh | ||
ffs | |||
Yes, I see your point | |||
jnthn evidently should have had more coffee today | |||
16:01
athenot joined
16:02
nihiliad joined,
ggoebel joined
|
|||
colomon | I guess I don't see the point? | 16:02 | |
pmichaud | colomon: what should my last line output? | ||
colomon | same thing as my $a; say $a -- I presume just a newline. | 16:03 | |
pmurias | ruso: btw Forest::Gtk2 is avalible from github.com/pmurias/Forest-Gtk2 | ||
colomon | if you want the type, there's always say $a.perl; | ||
pmichaud | colomon: what about say XYZ; ? | ||
pmurias | * ruoso: btw Forest::Gtk2 is avalible from github.com/pmurias/Forest-Gtk2 | ||
pmichaud | rakudo: say Rat; | ||
p6eval | rakudo e79112: OUTPUT«Rat()» | 16:04 | |
pmichaud | rakudo: my Rat $x; say $x; | ||
p6eval | rakudo e79112: OUTPUT«Rat()» | ||
colomon | I think for sure it's a bad idea to have ~Mu eq '' but ~Rat eq 'Rat()' | ||
pmichaud | protoobjects can't simultaneously stringify to a type name and to '' :-) | ||
jnthn | pmichaud: Right, that's what I suddenly realized. :-) | ||
colomon | (I don't really care what the answer is one way or another, mind you. | ||
jnthn | pmichaud: At which point, it seens that it's up to operators that want to treat undefs specially to do so. | 16:05 | |
colomon | jnthn: even that doesn't help here, does it? | ||
jnthn | pmichaud: I was thinking more of the Mu ~ 'abc' case. | 16:06 | |
er | |||
colomon: ^^ | |||
:-) | |||
pmichaud | istr that at one point it was speculated that protoobjects stringify to empty string, but print as the typename | ||
however, it's pretty explicit in S12: | 16:07 | ||
WHAT the type object of the type, .Str returns MyClass() | |||
jnthn | Yeah | ||
I think that has to stay the same. | 16:08 | ||
pmichaud | this feels like a pm.txt question, then. | ||
masak | nod. | 16:09 | |
from S09: "This synopsis summarizes the non-existent Apocalypse 9, which discussed in detail the design of Perl 6 data structures. It was primarily a discussion of how the existing features of Perl 6 combine to make it easier for the PDL folks to write numeric Perl." | 16:10 | ||
:) | |||
it's almost like an A09 deserves to be written after that nice description of it. | |||
pmichaud | "This apocalypse describes the design of Perl 6 data structures. Unfortunately, it's been written using Acme::Bleach." | 16:11 | |
masak | dang :/ | ||
pmichaud: wait. how do you know it says that, then? | 16:12 | ||
pmichaud | I have a sekret decoder ring. | ||
colomon | I've got t/spec/S02-whitespace_and_comments/one-pass-parsing.t failing, is anyone else seeing that? | 16:13 | |
Su-Shee | "michaud, james michaud". | ||
colomon | 006, eh? | ||
masak | when's Perl 006 coming out? | 16:14 | |
pmichaud | 00xmas | 16:15 | |
masak | :0 | ||
pugssvn | r29845 | pmurias++ | [mildew] quote " and \ when emitting string constants in optC | 16:18 | |
masak | when'll people be arriving to Copenhagen? I'm thinking whether to arrive on the Thursday or the Friday. also, people are staying until the Tuesday, right? | ||
pmichaud | I arrive on Thursday afternoon | 16:19 | |
jnthn | I arrive on Saturday morning. | ||
m-locks | is there a gathering? | ||
pmichaud | I depart on Wednesday morning (early). Tuesday afternoon/evening I need to spend a few hours meeting with someone about non-Perl stuff. | ||
PerlJam | m-locks: fortunately not in a Highlander sense. :) | ||
m-locks | ;P | 16:20 | |
pmichaud | ...I shouldn't bring my broadsword? | ||
jnthn | If you try, send us photos of what the TSA guy's face looked like. | ||
pmichaud | will do! | 16:21 | |
"It's not a sword... it's an antenna!" | |||
m-locks | will trade my +2 shield of laziness to +5 enchanted ring of programming knowledge | 16:22 | |
masak | sounds like a fair deal. I need to become a bit lazier. | ||
pmichaud | just pushed ROADMAP updates -- comments and patches welcome | ||
it's a somewhat significant refactor (apropriate, given that we don't have large-scale tasks as the previous ROADMAP did) | 16:24 | ||
*appropriate | |||
PerlJam | pm: so all of the 1s and 2s should be in R* ? | ||
pmichaud | all of the 1s have to be there | ||
the 2s would be good to be there, but I'm not going to panic if some don't make it | |||
PerlJam | heh, I like "attention-grabbing examples" :) | 16:25 | |
dalek | kudo/master: 37e2865 | pmichaud++ | docs/ROADMAP: Refactor ROADMAP with recent accomplishments and task estimates. |
||
16:25
f00li5h[HireMe] left
|
|||
pmichaud | if others wish to tweak my star estimates, that'd be great | 16:26 | |
jnthn | pmichaud: At a first glance, looks sane. | ||
pmichaud | installation standards might be 2-stars | ||
jnthn | 1 ? lexical classes and roles (jnthn) | ||
** | |||
(will patch later, I'm meant to be writing some $work code that I've put off all day ATM) | |||
pmichaud | I can patch it now. | 16:27 | |
any others? | |||
16:28
athenot_ joined
|
|||
jnthn | Perl 6 interop probably deserves four | 16:28 | |
pmichaud | .... you mean Perl 5 interop, I hope? ;-) | ||
jnthn | pseudo packages 2 | ||
oh, er, yes | |||
:-) | |||
Well | 16:29 | ||
pmichaud | I think pseudo packages 3 | ||
jnthn | It depends which angle you're looking at it. ;-) | ||
16:30
athenot left
|
|||
jnthn | I can go with 3. | 16:30 | |
Just don't blame me if I do it and only use 2 stars worth of effort. :-) | |||
PerlJam | pmichaud: What's "domain specific languages" meant to represent exactly? Do you mean Perl 6 grammar extension? | ||
pmichaud | PerlJam: I don't know exactly -- it's left over from the previous roadmap. :-| | 16:31 | |
dalek | kudo/master: 1926c29 | pmichaud++ | docs/ROADMAP: Update difficulty estimate for lexical classes and roles (jnthn++). |
||
jnthn | pmichaud: iirc it was grammar tweaks, esp. slang. | ||
pmichaud | oh, that makes sense | ||
updating. | |||
PerlJam | you've got slice context on there twice | 16:32 | |
16:32
athenot_ left
|
|||
pmichaud | one of them is now gone. | 16:32 | |
16:34
mberends left
|
|||
pmichaud | okay, next is to put together a schedule/plan for the hackathon. | 16:34 | |
dalek | kudo/master: a21f056 | pmichaud++ | docs/ROADMAP: More difficulty estimate updates from jnthn++ . |
16:36 | |
kudo/master: b06dfe5 | pmichaud++ | docs/ROADMAP: More ROADMAP tweaks. |
|||
kudo/master: 1d4a471 | (Solomon Foster)++ | src/core/Array.pm: Simple port of Array.delete from alpha. |
|||
kudo/master: 2c553a5 | (Solomon Foster)++ | src/core/operators.pm: Change the signature of undefine to accept Mu too -- otherwise you cannot undefine something twice at the moment. |
|||
PerlJam | pmichaud: what does s/// need to be implemented? I was thinking that it was waiting on some deeper changes, but you've put it at ** and so I'm not so sure now :) | 16:40 | |
colomon | subst doesn't work fully yet either... | 16:42 | |
pmichaud | we need subst to work, and we need to put it in the grammar. I think that's about it at the moment. | ||
at least for basic s/// | |||
masak | \o/ | ||
pmichaud | for the larger "assign to s//", that's probably 3 or 4 stars | ||
I'd have to review the spec again. it's possible it should be more stars. | 16:43 | ||
masak | it's a special form, which should actually make it slightly easier. | ||
pmichaud | looking | 16:44 | |
actually, it may be fairly tricky now | |||
masak | why? | ||
pmichaud | my $a = 'abc'; my $b = $a; $a ~~ s/b/x/; say $b; | ||
masak | the assignment to $b makes a copy? | 16:45 | |
pmichaud | we don't exactly have "make a copy" semantics in place anymore | ||
masak | o.O | ||
pmichaud | strings are supposedly immutable | ||
masak | I'd expect such semantics out of binding, but not assignment. | ||
compare assignment of arrays. | 16:46 | ||
pmichaud | well, how does one do s/// on an immutable string? | ||
masak | one doesn't, I suppose. | ||
one chucks in another string in its place. | |||
PerlJam | so, s/// depends on implementation of Buf, so maybe s/// needs another * | ||
masak | why would s/// depend on implementation of Buf?! | 16:47 | |
pmichaud | if "one chucks another string in its place", that means s/// is an operation on a container, not on a string. | ||
PerlJam | Isn't Buf our "mutable string" ? | ||
pmichaud | I suppose that can work, but.... hmmmm | ||
masak | aye. | ||
PerlJam: well yes, but not just. | |||
pmichaud | S05 says | 16:50 | |
Any scalar assignment operator may be used; the substitution macro | |||
knows how to turn | |||
$target ~~ s:g[pattern] op= expr | |||
into something like: | |||
$target.subst(rx[pattern], { $() op expr }, :g) | |||
--- | |||
I think that it must be $target .= subst(...) instead | |||
TimToady | well, that's something like :) | 16:52 | |
pmichaud | :) | ||
troo | |||
TimToady | engineers like to hedge, and are even more delighted when one of their hedges "works" | 16:53 | |
pmichaud | so, the synopses are your version of a "hedge fund"? | ||
TimToady | someone's gotta do the trimming occasionally | 16:54 | |
masak | Perl 6: hedging our way into the future. | ||
TimToady | and gardeners aren' cheap these days | ||
PerlJam | pmichaud: in any case, maybe break s/// into two items? "** basic s///" and "*** full s/// including s[\d+] = 42" or something ? | ||
TimToady | *aren't | ||
My keyboard doesn't work right before I've had coffee. | |||
especially while still under the influence of multiple antihistamines... | 16:55 | ||
dalek | kudo/master: c9e1981 | pmichaud++ | docs/ROADMAP: Update s/// roadmap items based on comments from PerlJam++ . |
16:59 | |
kudo/master: a725daa | pmichaud++ | src/core/ (2 files): Merge branch 'master' of [email@hidden.address] |
|||
pmichaud | masak: could you give me a bit more detail about your talk -- what sorts of things do you plan to focus on or cover? | 17:01 | |
(I'm trying to decide how/if a Rakudo "hacker orientation" talk is useful and where it should go) | 17:02 | ||
TimToady | maybe s should (internally) turn anything immutable into a Cat of refs into the orignal string and new chunks interspersed | 17:03 | |
which still looks like the original string from the container's viewpoint | |||
pmichaud | ...when stringified | 17:04 | |
TimToady | then we only reflatten the Cat lazily when we decide it's needed | ||
pmichaud | well, that perhaps argues that .subst also returns a Cat | 17:05 | |
colomon | which is probably a very straightforward way to implement it -- if we have Cat. :) | 17:06 | |
pmichaud | although I have a cat nature, I'm not familiar with Cats yet in Perl 6 :-| | ||
PerlJam | does rakudo have cats? | ||
I guess not | |||
TimToady | I have on in a box somewhere around here... | ||
*one | |||
masak | pmichaud: I'm going to start talking about different types of introspection/reflection/homoiconicity, and then explain how Perl 6 does this on the parsing level. I'll be going through operators and their different types/priority/associativity quite a lot, and then talk about how the syntax Perl 6 can be extended from inside. | 17:07 | |
s/syntax Perl 6/syntax of Perl 6/ | |||
pmichaud | masak: okay, that tells me what I need to know then :) | ||
thanks | |||
masak | np. | 17:08 | |
pmichaud | anyone have a recommendation for order of talks on Saturday? | ||
masak | only that I think it'd be wise to put my talk after moritz_++'s. | ||
'after' as in 'not before', not as in 'directly after'. | |||
jnthn | Mine can probably go anywhere. | ||
It's just lots of examples. | 17:09 | ||
masak++ has already seen it. :-) | |||
pmichaud | I'm thinking that I might do an extended talk about the compiler structure | ||
Trashlord | hello | ||
masak | Trashlord: hi! | ||
pmichaud | more specifically, I'm wondering what points we need to cover for people who are wanting to get started in hacking on Rakudo | ||
(I have my previous presentations on the topic, I'm wondering what has changed or what I've missed in previous talks) | 17:10 | ||
or, perhaps a short 20-minute "hackathon goals and organization" talk | 17:11 | ||
17:11
cjk101010 left
17:12
cosimo left
|
|||
masak | swimming & | 17:12 | |
17:12
masak left,
cosimo joined
|
|||
jnthn | pmichaud: I'm happy to do part of a compiler structure talk on the type/dispatch/meta-model bits, if that helps. | 17:13 | |
(That is, cover the areas I've worked on a lot.) | 17:14 | ||
pmichaud: Is this for the hackathon on the Sunday? | |||
pmichaud | jnthn: okay, will keep it in mind. I'm going to update the wiki page shortly. | ||
yes, for the hackathon on Sunday | |||
jnthn | OK | ||
pmichaud | I'm thinking we may have some presentation time available on Saturday, so might as well use it to help orient people towards being productive on Sunday | 17:15 | |
it might also be worthy as a written article somewhere | |||
which reminds me, I need to review mberends++ updates to compiler_overview.pod | 17:16 | ||
maybe lunch first, then that. | |||
17:16
wknight8111 left
|
|||
jnthn | pmichaud: Well, having to write the talk would give me a reason to explain a bunch of stuff that isn't explained anywhere now, which would be a side-benefit, yes. :-) | 17:17 | |
pugssvn | r29846 | lwall++ | [S12] failure to communicate noticed by masak++ | 17:18 | |
17:18
wasy joined,
wasy left
17:26
cdarroch joined,
cdarroch left,
cdarroch joined
|
|||
diakopter | masak: I had a bunch of rakuodbugs from yesterday waiting for masakbot to report | 17:34 | |
maybe some dupes | |||
17:37
stephenlb joined
17:51
meppl left
17:56
ShaneC joined
18:04
stephenlb left
18:06
stephenlb joined
18:07
payload joined
18:16
ggoebel left
18:17
quietfanatic left,
cjk101010 joined
18:18
dakkar left,
wasy joined
18:19
ggoebel joined
18:21
wasy left
18:23
wasy_ joined
18:24
wknight8111 joined
18:26
wasy_ is now known as wasy
18:38
f00li5h[HireMe] joined
|
|||
colomon | rakudo: my $x = bar => [ baz => 42, sloth => 43 ]; say $x.perl | 18:43 | |
p6eval | rakudo a725da: OUTPUT«Pair.new(:key("bar"), :value([Pair.new(:key("baz"), :value(42)), Pair.new(:key("sloth"), :value(43))]))» | ||
pmichaud | ...why Pair.new, ooc? | ||
is that some sort of default? | |||
colomon | darned if I know. | ||
pmichaud | hmmmm. | ||
colomon | Oh, I'll bet it is. | ||
probably lots of .perl functions haven't been written yet. | 18:44 | ||
jnthn | Yeah, probably .perl needs doing for Pair. | ||
lhf :-) | |||
colomon | I've been working on Array.kv (for some definition of array, anyway), and the tests on these pairs are the failing tests right now. | ||
pmichaud | please tell me it's Seq.kv :-) | 18:45 | |
colomon | Any.kv, actually. :) | ||
for the S32-array/kv.t tests, it needs to work on Parcel and Int, too. | |||
18:45
ggoebel left
18:46
mberends joined
|
|||
colomon | wait, these tests shouldn't be here at all, I don't think. Surely Pair has its own .kv which doesn't have anything to do with that for arrays? | 18:47 | |
rakudo: say ('a' => 42).kv | |||
p6eval | rakudo a725da: OUTPUT«a42» | ||
colomon | rakudo: say ('a' => 42).kv.perl | ||
pmichaud | rakudo: say ('a' => 42).kv.perl | ||
p6eval | rakudo a725da: OUTPUT«List.new()» | ||
colomon | okay, now that's just trouble. | ||
pmichaud | looks like a bug. | ||
jnthn | List.perl is missing I guess. | ||
pmichaud | either that or .kv shouldn't be returning a List | ||
jnthn | No, it's just hitting the default in Mu. | 18:48 | |
pmichaud | I suspect it should be a Parcel | ||
anyway, Pair.kv is just ($!key, $!value); | |||
colomon | rakudo: say ('a' => 42).kv.batch(2).perl | ||
p6eval | rakudo a725da: OUTPUT«("a", 42)» | ||
jnthn | I'd expect it to just be doing return $.key, $.value | ||
pmichaud | right | ||
colomon | rakudo: say ('a' => 42).kv.eager.perl | ||
p6eval | rakudo a725da: OUTPUT«("a", 42)» | ||
pmichaud | but no "return" | ||
jnthn | well, yeah, makes no difference semantically though. | 18:49 | |
But yes, no need to write the return in the setting; it's kidna suboptimal. | |||
colomon | Pair is Enum, perhaps? | ||
method kv() { | |||
return list($.key, $.value); | |||
} | |||
That's in Enum.pm | |||
pmichaud | don't need list() | ||
don't need 'return' | |||
colomon | or return. :) | ||
does it need parens? | 18:50 | ||
pmichaud | probably not, but I'd leave the parens | ||
colomon | Okay, trying that. | ||
jnthn | Yeah, heck knows what the guy who put that in Enum was thinking. | ||
<sheepish look> | 18:51 | ||
pmichaud | I've updated the hackathon wiki page with some more goals and scheduling notes... comments/additions welcomed: conferences.yapceurope.org/hack2010...e=HomePage | ||
18:51
payload left,
ggoebel joined
|
|||
colomon | Hmmm.... S32-array/kv.t still fails. | 18:53 | |
Think I'm going to push what I have so far and go exercise. | 18:55 | ||
18:57
ignacio__ joined
18:58
ignacio_ left
18:59
Chillance joined,
payload joined
19:03
avuserow joined
|
|||
dalek | kudo/master: 0bcb821 | pmichaud++ | docs/spectest-progress.csv: spectest-progress.csv update: 204 files, 24339 (68.2% of 35695) pass, 0 fail |
19:06 | |
19:08
meppl joined
|
|||
dalek | kudo/master: 64305d7 | (Solomon Foster)++ | src/core/Any-list.pm: Add Any.kv to provide .kv for Positionals and scalars, as well as a proto sub for kv. |
19:12 | |
kudo/master: 9f11da6 | (Solomon Foster)++ | src/core/Enum.pm: Enum.kv should return a Parcel, not a list. |
|||
19:16
bkeeler_ joined
19:18
clintongormley joined
19:24
lichtkind joined
|
|||
lichtkind | Tene: ping | 19:25 | |
Tene | lichtkind: pong | ||
lichtkind: I'm about to be AFK, but if it's short, I'm here for now. | |||
lichtkind | Tene: great i would like have some infos | ||
19:30
meteorjay left
19:42
eternaleye left
19:49
athenot joined
|
|||
colomon | rakudo: my $x = bar => [ baz => 42, sloth => 43 ]; say $x.kv.elems | 19:52 | |
p6eval | rakudo 64305d: OUTPUT«3» | ||
colomon | pmichaud, jnthn: could the problem there be that the array is flattening somehow? | ||
pmichaud | yes. | 19:54 | |
more likely that $.value isn't marked as a scalar container, though. | 19:55 | ||
(well, that would be the underlying cause) | |||
19:55
athenot left
|
|||
colomon | should it be, in this case? | 19:56 | |
pmichaud | sure, it's a scalar | ||
rakudo: my $x = bar => [ baz => 42, sloth => 43]; say $x.perl; | 19:57 | ||
p6eval | rakudo 64305d: OUTPUT«Pair.new(:key("bar"), :value([Pair.new(:key("baz"), :value(42)), Pair.new(:key("sloth"), :value(43))]))» | ||
pmichaud | rakudo: my $x = bar => [ baz => 42, sloth => 43]; say $x.kv.perl | ||
p6eval | rakudo 64305d: OUTPUT«("bar", [Pair.new(:key("baz"), :value(42)), Pair.new(:key("sloth"), :value(43))])» | ||
colomon | Is that something that Enum.kv should be doing, or is that something that should be happening intenally? | ||
pmichaud | happening internally | 19:58 | |
whatever creates the $!value attribute should also be setting it to be scalar | |||
rakudo: my $x = bar => [3, 4]; say $x.kv.elems; # should be 2 | 19:59 | ||
p6eval | rakudo 64305d: OUTPUT«3» | ||
pmichaud | I suspect a problem in BUILD | ||
colomon | rakudo: my $y = :bar[ baz => 42, sloth => 43 ]; say $x.kv.perl | ||
p6eval | rakudo 64305d: OUTPUT«Symbol '$x' not predeclared in <anonymous>current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)» | ||
pmichaud | or create | ||
colomon | rakudo: my $y = :bar[ baz => 42, sloth => 43 ]; say $y.kv.perl | ||
p6eval | rakudo 64305d: OUTPUT«("bar", [Pair.new(:key("baz"), :value(42)), Pair.new(:key("sloth"), :value(43))])» | ||
pmichaud | looks like the culprit would be src/builtins/Mu.pir:263-274 | 20:01 | |
20:02
jonasbn joined
|
|||
pmichaud fixes | 20:02 | ||
pugssvn | r29847 | colomon++ | [t/spec] Refudge S32-array/kv.t -- approximately the same number of tests work as before, but which ones work have changed. | ||
jonasbn | pmichaud: ping | 20:03 | |
pmichaud: lodging should be booked I will try to get a status and an address | |||
jnthn | pmichaud: May be in CREATE also. | ||
pmichaud | jonasbn: great | ||
jnthn: yes, CREATE is where 263-274 are :) | |||
I think I have it fixed. Also, CREATE was still doing Perl6Hash, which is out-of-date :) | 20:04 | ||
bkeeler_ | How do I call a method in the parent class from pir? | 20:06 | |
jnthn | pmichaud: I don't recall updating that code for ng | ||
bkeeler_: With difficulty. :-/ | |||
bkeeler_ | Eep | ||
really? | |||
jnthn | yeah, it's a pita | ||
bkeeler_: Are you doing something within Rakudo? | |||
bkeeler_ | yeah | ||
jnthn | ah, then it's less bad | ||
Do get_hll_global to retrieve your parent's type object | 20:07 | ||
pmichaud attempts a fix to Mu.CREATE | |||
jnthn | Then use find_method on that to get hold of the method | ||
And then invoke what you get. | |||
bkeeler_ | thanks | ||
jnthn | Alternatively, give your PIR method a .lex '__CANDIDATE_LIST__', $P0 or so | ||
And then you can do a call to callwith or nextwith | 20:08 | ||
pmichaud | oh dear, looks like fixing CREATE might be a bit more involved. | 20:09 | |
jnthn | :-/ | 20:10 | |
pmichaud: I'm sorta here (but cooking and eating) but cna take any questions. | |||
pmichaud | do we have type attributes on attributes working yet? | ||
e.g., my Foo $!x; | |||
jnthn | pmichaud: I fear not. | ||
pmichaud | okay, that might actually help then :-) | 20:11 | |
jnthn | rakudo: class Foo { has Int $.x }; Foo.new(x => 1/2) | ||
p6eval | rakudo 64305d: ( no output ) | ||
jnthn | rakudo: class Foo { has Int $.x }; Foo.new(x => 1/2).x.say | ||
p6eval | rakudo 64305d: OUTPUT«0.5» | ||
jnthn | yes, NYI | ||
Feel free to rip out whatever code is there for doing those. | |||
It'll have to be re-done anyway. | |||
frettled | jnthn: Is orc implemented? | 20:12 | |
pmichaud | yeah -- it was being done previously with an attrinit hash or something | ||
oh, an itype hash | |||
frettled | jnthn: because if it isn't, then we have... NYI-orc | ||
jnthn | pmichaud: that's dobutless gone/changing. | 20:14 | |
frettled: :-P | |||
20:15
ggoebel left
|
|||
mberends | new $*PROGRAM_NAME and @*ARGS seem to be working, spectesting before committing glue/run.pir :) | 20:17 | |
colomon | mberends: I just pushed a couple of mods. | ||
dalek | kudo/master: 2df2463 | (Solomon Foster)++ | t/spectest.data: Turn on S32-array/kv.t. |
||
colomon | These. :) | ||
mberends | :) thanks for the heads up :) | ||
jnthn | mberends++ | 20:18 | |
colomon | Oh, I guess the other two were pushed an hour ago. | ||
20:19
ggoebel joined
|
|||
jnthn | Now Rakudo has a pirate's favorite feature again. | 20:19 | |
bkeeler_ | That would be spelled @*AAAARRRRRRRRRG | ||
20:19
ggoebel left
|
|||
jnthn | :-D | 20:19 | |
pmichaud | > my $b = x => [1,2]; say $b.kv.elems; | 20:20 | |
2 | |||
colomon | \o/ | ||
jnthn | \o/ | ||
pmichaud | > my $x = bar => [ baz => 42, sloth => 43 ]; say $x.kv.elems; | ||
2 | |||
colomon | That will win us back four more test cases, I think. :) | ||
pmichaud | spectesting. | ||
jnthn | rakudo: sub foo($a) { say $a.perl }; foo(<a b c>) | ||
p6eval | rakudo 64305d: OUTPUT«Too many positional parameters passed; got 3 but expected 1current instr.: 'foo' pc 182 (EVAL_1:77)» | ||
pmichaud | yes, but it may break a lot of other stuff. | 20:21 | |
jnthn | pmichaud: Dunno if you know how to fix that one. | ||
pmichaud | jnthn: I do. | ||
jnthn | OK, I'll not worry about it then. :-) | ||
20:22
ignacio__ left
|
|||
pmichaud | I can do that next. :-) | 20:22 | |
jnthn | I've got Rakudo time after some nom...anyone got anything they'd especially like me to look at? | ||
Otherwise, it's just the usual "make more tests pass again" | |||
20:22
ruoso left
|
|||
bkeeler_ | My grammar patch is aaaaalllmost ready for review if you'd like | 20:22 | |
m-locks | does that ncurses stuff work? anybody made any scripts and try it out? | 20:23 | |
this wild idea of an ncurses database-editor/spreadsheet app crossed my mind | |||
20:25
aartist- joined
20:26
uniejo left,
ignacio_ joined
|
|||
jnthn | bkeeler_: I suspect pmichaud++ would like a look at that too before it goes in, but I'm happy to give it a first pass, when you're ready. | 20:27 | |
bkeeler_ | sweet | ||
Pretty close now, just need to make it set $/ properly | |||
pugssvn | r29848 | colomon++ | [t/spec] Unfudge keys_values.t. | 20:31 | |
TimToady | Any.Str makes 'Any()', but ~Any make '' with a warning that is supressed for ~= | 20:35 | |
colomon | TimToady: is that spec or a suggestion? | 20:36 | |
20:39
mj41_ joined
|
|||
pmichaud | and is that true only for Any? | 20:39 | |
how about Str ? | |||
20:39
mj41_ is now known as mj41
|
|||
TimToady | it's true for any type object | 20:40 | |
pmichaud | and I'm not sure it helps for the ~@array case, which doesn't explicitly call prefix:<~> | ||
(unless Array.Str is supposed to explicitly use prefix:<~> somehow) | |||
dalek | kudo/master: 9a1d71b | (Martin Berends)++ | src/glue/run.pir: [glue/run.pir] when running as a main program, create $*PROGRAM_NAME and @*ARGS |
20:41 | |
mberends | jnthn: please review the use of 2 x unless, Parcel, splice and !STORE just pushed. They were cribbed from builtins/Array.pir:59 .sub '&circumfix:<[ ]>' | ||
TimToady | use [~] if that's what you want | ||
I don't see why ~@array can't use .Str instide | |||
s/t// | |||
pmichaud | okay, so then my @array = 1..3; @array[1] = Any; say ~@array; # "1 Any() 3" ? | 20:42 | |
TimToady | seems fine to me | ||
pmichaud | colomon: there's your answer, then :-) | ||
jnthn: | 20:43 | ||
colomon | Oh my. So Rakudo is right and the tests are wrong, eh? | ||
I guess it's a pretty simple fix. | |||
pmichaud | > sub foo($a) { say $a.perl; }; foo(<1 2 3>); | ||
("1", "2", "3") | |||
spectesting now. | |||
colomon | Except that it will break when we switch from Mu to Any.... | ||
pmichaud | colomon: the correct answer now is Any() | ||
colomon | (The tests, I mean.) | 20:44 | |
TimToady | unless declared Mu | ||
pmichaud | the tests should test for Any(), yes :-) | ||
correct, unless declared Mu. | |||
colomon | So rakudo and the tests are both wrong! \o/ | ||
20:44
cjk101010 left
|
|||
jnthn | mberends: will do after nom :-) | 20:44 | |
pmichaud: yay! | |||
TimToady | btw, ~ is really .Stringy, and + is really .Numeric | 20:46 | |
pmichaud | oops, you're right -- thanks for the correction/reminder :-) | 20:47 | |
20:48
payload left
|
|||
pmichaud | so most of the places we've been doing .Str should really be .Stringy ? | 20:48 | |
TimToady | if you want undef -> '' semantics, yes | ||
pmichaud | well, I mean even for things like Seq and Array and the like | ||
and Rat | 20:49 | ||
currently I think we have Rat.Str as the code for stringifying a Rat. I'm guessing that should be Rat.Stringy instead? | |||
TimToady | the most important place for .Str is in print/say | ||
since .Str doesn't even autothread | 20:50 | ||
so you can stringify junctions | |||
everything else is somewhat negotiable, but the desire to autothread will push these towards .Stringy | |||
pmichaud | Stringy autothreads, while Str doesn't? | 20:51 | |
TimToady | correc | ||
t | |||
that is, Junctions provide a .Str method to the user | |||
but not a .Stringy one | |||
20:51
ignacio_ left
|
|||
pmichaud | so what happens with ~(3|4) then? | 20:51 | |
it autothreads to produce "3"|"4" ? | 20:52 | ||
TimToady | you get ~3 | ~4 | ||
pmichaud | okay. | ||
lisppaste3 | bkeeler_ pasted "Grrrrrr" at paste.lisp.org/display/95618 | ||
bkeeler_ | Can someone take a look at that paste and tell me what I'm doing wrong? | ||
Specfically the $/ assigning part | |||
pmichaud | so, what's the code path for ~@array, then? | ||
it goes from prefix:<~>(@array) to become @array.Stringy ? | 20:53 | ||
TimToady | calls Array.Stringy | ||
pmichaud | that in turn forwards to Array.Str, or is Array.Stringy the base method? | ||
TimToady | and that can do whatever we prefer internally, but it would be nice not to duplicate [~] | 20:54 | |
well, it wouldn't dup anyway | |||
since ~ puts spaces | |||
pmichaud | doesn't Array.Stringy put spaces also? | ||
TimToady | yes | ||
but for each element, we have to decide what to call | 20:55 | ||
and .Str seems okay for that to me | |||
~« being available for distributing .Stringy | |||
pmichaud | okay, I'm totally confused on the relationship between .Str and .Stringy. I understand that they produce different things in junctions, but for other types I don't really know if we should be focusing on .Str or .Stringy | 20:56 | |
bkeeler_: what are you trying to implement? | |||
bkeeler_ | Trying to get the match object stuck into $/. It's the last thing holding me up here | 20:57 | |
TimToady | .Str is low-level, force me to a specific type for impending output | ||
.Stringy is make it okay to do subsequent string ops on me | |||
and more abstract | |||
20:57
snarkyboojum joined
|
|||
TimToady | and ~ is abstract | 20:57 | |
pmichaud | and Array.Stringy is abstract, but it still chooses to force .Str on its elements? | ||
TimToady | as is the implied ~ in leg and + in <=> | 20:58 | |
dalek | kudo/master: 795e94c | (Solomon Foster)++ | t/spectest.data: Turn on S32-array/keys_values.t. |
||
kudo/master: 72a95fc | (Solomon Foster)++ | src/core/Any-list.pm: Quick lazy implementations of Any.keys and Any.values, plus matching protos. |
|||
TimToady | it could be argued either way | ||
pmichaud | okay | ||
TimToady | in a sense ~Array is 'outputting' to a string | ||
not making the bits available for subsequent string processing individually | |||
pmichaud | I understand the meaning behind .Str and .Stringy now; we'll see where we can take it in implementation | ||
jnthn back | 20:59 | ||
20:59
crazed left
|
|||
TimToady | likely it's one of those decisions that's not going to be completely right either way | 20:59 | |
bkeeler_ | pmichaud: though I saw in the latest p6 phone minutes that you were also planning on getting grammars done, so I guess I might be duplicating effort :/ | ||
pmichaud | bkeeler_: you almost certainly don't want to be using find_caller_lex -- I think it's a bit out of date | ||
bkeeler_ | Ahh, good to know | 21:00 | |
pmichaud | also, I don't think that it's Grammar.parse's responsibility to be setting $/ | ||
I think that normally comes from ~~ | |||
bkeeler_ | What's the proper way then? | ||
pmichaud | although I guess it doesn't come from ~~ in the case of matching against a grammar. | 21:01 | |
TimToady | ~~ seems too high | ||
pmichaud | looking | ||
TimToady | it's whatever takes a regex and applies it to a string | ||
pmichaud | that would likely be Regex.match, I guess? | ||
TimToady | or Regex.ACCEPTS | 21:02 | |
bkeeler_ | Hmm, well that simplifies things then. I can just ditch Grammar.parse and let it fall through to Regex::Cursor.parse | ||
21:03
crazed joined
|
|||
pmichaud | bkeeler_: in the case of a grammar, it's already a cursor | 21:03 | |
bkeeler_ | Indeed | ||
pmichaud | but yes, it's Regex.ACCEPTS that is setting $/ | ||
(in current implementation) | |||
currently it's doing a direct bind -- that probably needs to become an assignment. | |||
bkeeler_ | pmichaud: I guess the tests need updating then. They assume $/ is set after calling .parse on a grammar | ||
21:04
synth left
|
|||
pmichaud | I'm open for a spec clarification there. :-) | 21:04 | |
jnthn | mberends: Looks sane to me. | ||
pmichaud | but I'm used to seeing: my $parse = MyGrammar.parse(...) | 21:05 | |
which would imply to me that $/ shouldn't be set. | |||
bkeeler_ | I'm fine with that | ||
TimToady | maybe there's some kind of .updatematch that can slip into the pipeline and set $/ | ||
takes a Match (or Cursor?) en passant and sets $/ | |||
so while .subst() might not set $/, .subst().updatematch might | 21:06 | ||
21:06
ignacio_ joined
|
|||
TimToady | well, give or take a few levels of caller :/ | 21:06 | |
21:06
crazed left
|
|||
pmichaud | in which case I'd just prefer to see $/ = .subst | 21:06 | |
TimToady | or CALLER::<$/> or .. | ||
pmichaud | right | ||
TimToady | I think it's defined a rebinding though | 21:07 | |
pmichaud | anyway, Regex.ACCEPTS seems right-ish for the moment | ||
and I think that Grammar.parse should not be setting $/ by default | |||
mberends | jnthn: thanks, although you'll have to show me why it needs to be that way next week ;) | ||
TimToady | since $/ refers to the outer $/ until rebound | ||
jnthn | :-) | ||
pmichaud | yes, rebind, not assignment | 21:08 | |
jnthn | mberends: You could also have done $P2 = '&circumfix:<[ ]>'($P1), but it all works out the same in the end, I expect. | ||
TimToady | see S05:816 | ||
pmichaud | jnthn/mberends: in UNIT_START, any particular reason you know of that args has to be :slurpy ? | 21:10 | |
mberends | jnthn: fine, may try that some time. starting to look at a tied %*ENV next | ||
pmichaud | could perhaps save an RPA | ||
colomon | subst has to set $/ internally, no? (with no effect, one would hope, on the calling level's $/) | ||
mberends | pmichaud: nope, it was already there | ||
pmichaud | mberends: yes, I'm wondering if I put it that way just for convenience. | ||
anyway, as-is is fine now | |||
mberends | :) | 21:11 | |
pmichaud | I suspect the direct call to &circumfix:<[ ]> might be a bit simpler | ||
in particular, the Array that gets built might need transform_to_p6opaue | |||
*to_p6opaque | |||
jnthn | Yeah, there is that... | ||
pmichaud | (which &circumfix:<[ ]> would handle for you) | ||
mberends | that step seemed to be redundant since the args were probably all strings... | 21:12 | |
pmichaud | jnthn: I've been wondering if we should force a transform_to_p6opaque in Mu's init_pmc vtable.... | ||
jnthn | pmichaud: I didn't want to do that for performance reasons, that's all. | 21:13 | |
pmichaud | well, why do we do it now? | ||
(you're avoiding the extra sub invocation, fine) | |||
jnthn | Do it now to get the correct dispatcher. | ||
pmichaud | maybe we should make a p6opaque_new dynop, then. | ||
jnthn | wfm | ||
bkeeler_ | t/spec/S05-grammar/action-stubs.t ..Result: PASS | 21:14 | |
Woot | |||
jnthn | pmichaud: I'm a little concerned that integration/man-or-boy.t is has a fail...it suggests something closure-y ain't quite right still. :-/ | 21:15 | |
pmichaud | oh, I'm sure it's not. | ||
Currently we aren't cloning closures when something does $a = { ... } | |||
jnthn | Ah. | 21:16 | |
That'd do it. | |||
pmichaud | because we changed assignment to change references instead of make copies. | ||
It may be as simple as defining Block.item or some such | |||
pugssvn | r29849 | bkeeler++ | :action should be :actions | 21:17 | |
r29849 | Grammar.parse doesn't assign to $/, just use return value | |||
r29849 | rules have implicit {*} at the end | |||
21:18
jferrero joined
|
|||
jnthn | heh | 21:20 | |
What does anyone make of these tests: | |||
# things that should be valid | |||
# these tests are probably going to fail if declaring a magical var ever becomes unallowed | |||
eval_lives_ok 'my $!', '$! parses ok'; | |||
eval_lives_ok 'my $/', 'as does $/'; | |||
pmichaud | fail, unless they have an implicit 'proto' | ||
bkeeler_ | jnthn, pmichaud: Want to take a preliminary skim of this grammar patch while I see what other tests I can make pass? | ||
pmichaud | bkeeler_: yes, please | 21:21 | |
jnthn | aye | ||
bkeeler_ | drangle.com/~bruce/grammar.patch | ||
jnthn | pmichaud: Will update them. :-) | ||
pmichaud | bkeeler_: this patch doesn't handle regex signatures? | 21:22 | |
dalek | kudo/master: 46bc261 | jonathan++ | t/spectest.data: Turn on S02-magicals/progname.t, thanks to patch from mberends++. |
||
aartist- | I know parrot is VM, but is it included in Rakudo? | ||
bkeeler_ | Hmm, can they take signatures? | ||
pmichaud | bkeeler_: yes. they're just like methods. | ||
bkeeler_ | Ahh. I guess that wouldn't be too difficult | 21:23 | |
pugssvn | r29850 | jnthn++ | [t/spec] Update/correct a test file. | ||
pmichaud | it bugs me a little that we seem to be duplicating so much of the method actions code | ||
seems like that should be re-used or refactored | |||
bkeeler_ | pmichaud: Good point, I can look at that | ||
pmichaud | instead of copy-paste | ||
aartist- | xb | 21:24 | |
jnthn | aartist-: No, though Rakudo uses Parrot. | ||
21:24
ignacio_ left
|
|||
jnthn | aartist-: Also it's Configure script knows how to get and build Parrot for you. | 21:24 | |
PerlJam | deja vu | ||
jnthn | *its | ||
bkeeler_ | pmichaud: I tried to take the past block and make it use the metamodel to compose the methods, but one problem is that it emits two methods. I can't intercept the !PREFIX__ one, so it ends up being emitted as a regular pir method | 21:25 | |
not sure what to do about that | |||
pmichaud | that's okay, actually -- it's strictly internal. | ||
you don't need to wrap it in a Code object of any sort. | |||
bkeeler_ | OK, good to know | 21:26 | |
pugssvn | r29851 | jnthn++ | [t/spec] Oops, fudge fail in last patch. | ||
pmichaud | in fact, it's probably better if the metamodel doesn't know anything about it | ||
jnthn | So long as it doesn't expect it to be a method on the class itself. | 21:27 | |
bkeeler_ | I wasn't sure where to stick '&make', so I put it in control.pir. That also uses find_caller_lex, so I guess I need to change that to whatever the new way is | ||
pmichaud | ...&make ? | ||
oh, that | |||
it might go in src/cheats somewhere | |||
dalek | kudo/master: 6373c3b | jonathan++ | t/spectest.data: Another test file we can run again. |
21:28 | |
pmichaud | control.pir definitely doesn't feel right for that, though. | 21:29 | |
bkeeler_ | Agreed. I hemmed and hawed about it for a few minutes and could't make up my mind | ||
pmichaud | generally I put such global functions either in cheats, or into the builtins/class file that is most closely associated | ||
bkeeler_ | So I just stuck it somewhere temporary | ||
pmichaud | so perhaps &make goes in src/builtins/grammar.pir or src/builtins/regex.pir | ||
anyway, whenver not sure where to put something, src/cheats is always a safe bet | 21:30 | ||
(because then we have to revisit it to figure out where it should really go.) | |||
bkeeler_ | Grammar.pir sounds reasonable though | ||
pmichaud | for example, I have &infix:<,> in Parcel.pir, because it constructs parcels | 21:32 | |
and &circumfix:<[ ]> is in Array.pir, because it constructs arrays | |||
so &make perhaps goes into Match.pir, since it modifies match objects | |||
that would seem to make the most sense. | |||
bkeeler_ | Done | ||
21:33
pmurias left
|
|||
bkeeler_ | What's the new alternative to find_caller_lex then? | 21:33 | |
pmichaud | find_dynamic_lex is the correct one | ||
bkeeler_: why is your patch modifying ClassHOW ? | |||
that seems.... wrongish | |||
bkeeler_ | Because it's not properly polymophic the way it is | ||
GrammarHOW ends up making a new ClassHOW at compose time | 21:34 | ||
pmichaud | oh, that could be. | ||
I had forgotten about GrammarHOW objects | |||
(I still tend to think of grammars as always being simple classes.) | |||
bkeeler_ | All GrammarHOW does is make it derive from Grammar by default | 21:35 | |
jnthn | *nod* | ||
Yes, I can believe it has that issue. | |||
21:37
synth joined
|
|||
pmichaud | anyway, I was somewhat hoping that we could get the regex doe to share the method_def code | 21:37 | |
s/doe/code/ | |||
bkeeler_ | Seems reasonable | 21:38 | |
pmichaud | also, we definitely want to have a regex_def rule, to match STD.pm | ||
instead of just regex_declarator | |||
21:38
ignacio_ joined
21:39
ignacio_ left
|
|||
bkeeler_ | OK, I'll take a look at STD and see how it does thing | 21:39 | |
pmichaud | (should always start by looking at STD :-) | ||
bkeeler_ | I started by making the most minimal changes to Grammar.pm that I could get away with, heh | 21:40 | |
pmichaud | Grammar.pm ? | ||
ouch ouch ouch | 21:41 | ||
who added src/builtins/Grammar.pir ? | |||
pmichaud hopes it wasn't him | |||
bkeeler_ | Grammar.pir was there already | ||
pmichaud | right, I mean historically | ||
bkeeler_ | Grammar.pir could actually be rewritten in perl, it doesn't do anything special | 21:42 | |
pmichaud | Grammar.pir is loading PGE :-( | ||
bkeeler_ | It was, I commented that out | ||
pmichaud | which means we're getting some significant additional footprint and startup cost :-( | 21:43 | |
21:43
gbarr joined,
gbarr left
|
|||
jnthn | pmichaud: Heh, at least the fix is easy. | 21:43 | |
bkeeler_ | Though if Grammar.pir moves to core/Grammar.pm we need another home for &make, heh | 21:44 | |
pmichaud | make can still go into Grammar.pm :-) | ||
looks like jnthn added Grammar.pir :-) :-) | |||
that definitely needs to disappear | |||
I'm not sure Grammar.pir can become .pm -- we still need it to inherit from somewhere other than Any | 21:45 | ||
jnthn | :-( :-( | ||
Sorry. | |||
I think I put it back when I was madly meta-model hacking. | |||
bkeeler_ | class Grammar is Regex::Cursor { method parsefile($f) {...} } ? | ||
I'll give it a try and see if it works | 21:46 | ||
21:50
Trashlord left
|
|||
pmichaud | that won't work | 21:50 | |
Regex::Cursor is outside of our metamodel | |||
it's a striclty internal classname. | |||
*strictly | |||
bkeeler_ | Hmmm | ||
pmichaud | that's why it needs to be done from PIR. | 21:51 | |
bkeeler_ | So where does it go, if not Grammar.pir? | ||
pmichaud | Grammar.pir is fine -- it's just that the current Grammar.pir has issues :) | ||
bkeeler_ | It has fewer issues after my patch I hope | ||
21:52
computerquip left
|
|||
bkeeler_ | Hmm, we fail some tests because you can't say <Foo::bar> in a regex | 21:55 | |
I guess that's a Regex core issue though | |||
pmichaud | yes | ||
haven't put that back into the engine yet | |||
bkeeler_ | I'll leave that ball in your court then | 21:56 | |
Time to pop some nosh in the microwave, brb... | 21:57 | ||
21:58
pmurias joined
|
|||
pugssvn | r29852 | lwall++ | [STD] my $a, $b now gives better message as suggested by masak++ | 21:59 | |
TimToady | std: my $a, $b; | 22:03 | |
p6eval | std 29851: OUTPUT«===SORRY!===Variable $b is not predeclared at /tmp/JeirIQYHFi line 1:------> my $a, $b⏏;FAILED 00:01 108m» | ||
pmichaud | rakudo: my $a, $b; | 22:06 | |
p6eval | rakudo 6373c3: OUTPUT«Symbol '$b' not predeclared in <anonymous>current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)» | ||
22:06
deathmask joined
22:07
deathmask_ joined
|
|||
deathmask_ | hi | 22:07 | |
22:07
Su-Shee left
|
|||
deathmask_ | Is there anybody alive? | 22:07 | |
Tene | Yes! | ||
deathmask_ | how would you check the existance of a file in Perl 6? | 22:08 | |
pmichaud | afk for a bit | ||
deathmask_ | is -e supposed to work? | 22:09 | |
Rakudo does not like it. | |||
TimToady | rakudo: '.' ~~ :e | ||
Tene | if '/etc/passwd' ~~ :f | ||
p6eval | rakudo 6373c3: OUTPUT«Method 'e' not found for invocant of class 'Perl6Str'current instr.: 'perl6;Enum;ACCEPTS' pc 344011 (src/gen/core.pir:47146)» | ||
Tene | rakudo: say '/etc/passwd' ~~ :f | ||
p6eval | rakudo 6373c3: OUTPUT«Method 'f' not found for invocant of class 'Perl6Str'current instr.: 'perl6;Enum;ACCEPTS' pc 344011 (src/gen/core.pir:47146)» | ||
TimToady | alpha: '.' ~~ :e | ||
p6eval | alpha 30e0ed: ( no output ) | ||
TimToady | alpha: say '.' ~~ :e | ||
p6eval | alpha 30e0ed: OUTPUT«1» | ||
m-locks | alpha does it | 22:10 | |
TimToady | appears not to be implemented in the new master yet | ||
Tene | deathmask_: looks like the latest branch of rakudo, which rewrites quite a bit, doesn't have file tests added back in yet. | ||
but it's :e instead of -e in Perl 6. | |||
jnthn | May be able to pop those back quite trivially. | ||
22:10
deathmask left
22:11
vorner left
|
|||
TimToady | and it's a pattern match, not a function | 22:11 | |
deathmask_ | why? | ||
TimToady | so you can say things like $filename ~~ :e & :f & :w | ||
you can gets against a junction of tests | 22:12 | ||
s/gets/test/ | |||
deathmask_ | ok | ||
TimToady | and you get negated tests out of it | ||
alpha: say '.' ~~ :!f | |||
p6eval | alpha 30e0ed: OUTPUT«0» | ||
TimToady | ooh, bug | ||
Tene | alpha: say '/etc/passwd' ~~ :f | 22:13 | |
p6eval | alpha 30e0ed: OUTPUT«1» | ||
Tene | alpha: say '/etc/passwd' ~~ :d | ||
p6eval | alpha 30e0ed: OUTPUT«0» | ||
jnthn | alpha: say '/etc/passwd' ~~ :!f | ||
p6eval | alpha 30e0ed: OUTPUT«1» | ||
TimToady | seems to be ignoring the ! | ||
jnthn | yeah! | ||
fail! | |||
deathmask_ | what is alpha? | 22:14 | |
TimToady | previous version of rakudo | ||
before the refactor | |||
Tene | deathmask_: alpha was the last release of the previous development line of rakudo, before the big refactor we're recovering from. | ||
TimToady | which gained some cool new stuff, but broke a few things | ||
22:15
computerquip joined
|
|||
deathmask_ | I guess you know what you are doing. | 22:15 | |
TimToady | std: my $a, $b; | ||
p6eval | std 29851: OUTPUT«===SORRY!===Variable $b is not predeclared at /tmp/3fo27q2btd line 1:------> my $a, $b⏏;FAILED 00:01 106m» | ||
TimToady | hmm, still not updated | 22:16 | |
22:16
aartist- left
|
|||
deathmask_ | ok | 22:17 | |
So when are you going to fix it? | |||
TimToady | file tests? | 22:18 | |
deathmask_ | yes | ||
PerlJam | deathmask_: as soon as someone finds the tuits. | ||
deathmask_ | tuits? | ||
PerlJam | deathmask_: everything that was in alpha and more will be available for the Rakudo Star release in April. | ||
22:19
jonasbn left
|
|||
mberends | deathmask_: definitely within 2 weeks, because there is a Perl 6 Hackathon in Copenhagen soon, perfect for this kind of patch. | 22:19 | |
deathmask_ | what is next after star? | ||
bkeeler_ wishes he could go | |||
PerlJam | deathmask_: What do you mean? | ||
dalek | kudo/master: 2ab6b38 | jonathan++ | src/pmc/perl6multisub.pmc: Fix .clone on multis. |
22:20 | |
kudo/master: abd99af | jonathan++ | src/core/Any-str.pm: Add back sprintf. |
|||
deathmask_ | I wonder how you will call the next Rakudo? | ||
kudo/master: d798874 | jonathan++ | t/spectest.data: We now pass S32-str/sprintf.t again. |
|||
deathmask_ | Rakudo Gold? | ||
bkeeler_ | *+1? | ||
deathmask_ | Rakudo Bronz? | ||
mberends | Rakudo ** | ||
PerlJam | deathmask_: let's get Rakudo Star out first before we start thinking up names for the next distribution. | 22:21 | |
bkeeler_ | I'm sure lue will come up with a million different names for it ;) | ||
TimToady | well, the subsequent ASCII characters are: + , - . | ||
deathmask_ | I am not sure about -? | ||
Tene | ★ | 22:22 | |
diakopter | considering star can mean zero or more, plus could mean 1 more than that | ||
PerlJam | I'd like to riff on the celestial theme personally. | ||
Rakudo Nebula | |||
:) | |||
TimToady | Black Hole | ||
snarkyboojum | Nova | 22:23 | |
deathmask_ | that has negative connotations I htink | ||
22:23
clintongormley left
|
|||
deathmask_ | I mean black hole | 22:23 | |
TimToady | certainly in russia it does... | ||
snarkyboojum | Rakudo Naked Singularity | ||
TimToady | Brown Dwarf | 22:24 | |
snarkyboojum | heh | ||
jnthn | Red Giant | ||
PerlJam | Rakudo Planet | ||
TimToady | Green Giant...oh wait... | ||
snarkyboojum | Uranus (ambiguous pronunciation) | ||
PerlJam | Rakudo-do-do | ||
TimToady | the milky 道 | ||
22:25
supernovus joined
|
|||
sjohnson | heh | 22:25 | |
TimToady | speaking of supernovas... | ||
PerlJam | he must've felt a disturbance in the force | 22:26 | |
TimToady | Rakudo That's No Moon | ||
deathmask_ | Rakudo Diamond. | ||
supernovus | Anyone had sucess building a recent version of mod_parrot that works with Parrot 2.0 (specifically, the build of parrot 2.0 that the January release of Rakudo builds with gen-parrot) ? | ||
Uh oh, was someone speaking of me? | 22:27 | ||
TimToady | we were just debating what comes after Rakudo Star | ||
PerlJam | supernovus: you probably want to ask in #parrot about mod_parrot | ||
deathmask_ | ok... | 22:28 | |
supernovus | PerlJam: Thanks, that seems appropriate. I'm playing with mod_perl6 to see if it will speed up page requests versus a CGI script using #!/usr/local/bin/perl6 which is, um, kinda slow at the moment ;-) | ||
deathmask_ | I am off, bye... | 22:29 | |
PerlJam | supernovus: there's always fastcgi :) | ||
Tene | deathmask_: mod_parrot was last updated on september 7 | 22:30 | |
So, probably not. | |||
erm. | |||
supernovus: mod_parrot was last updated on september 7, so probably not | |||
TimToady | std: my $a, $b; | 22:31 | |
Tene | supernovus: I just checked, and no, it doesn't compile. | ||
p6eval | std 29852: OUTPUT«===SORRY!===Variable $b is not predeclared (declarators are tighter than comma, so maybe your 'my' signature needs parens?) at /tmp/4aNZCAr1oz line 1:------> my $a, $b⏏;FAILED 00:01 108m» | ||
PerlJam | std: our $a, $b; | ||
p6eval | std 29852: OUTPUT«===SORRY!===Variable $b is not predeclared (declarators are tighter than comma, so maybe your 'our' signature needs parens?) at /tmp/oQPWP3CJUK line 1:------> our $a, $b⏏;FAILED 00:01 107m» | ||
deathmask_ | good luck! | ||
PerlJam | std: our ($a,$b), $c; | 22:33 | |
p6eval | std 29852: OUTPUT«===SORRY!===Variable $c is not predeclared at /tmp/ss4Ms0BlP2 line 1:------> our ($a,$b), $c⏏;FAILED 00:01 108m» | ||
TimToady | :P | ||
sjohnson | std: our ($a,$b,$c); | 22:35 | |
p6eval | std 29852: OUTPUT«ok 00:01 107m» | ||
Tene | std: our ($a, my $b, my ($c, our $d)); | ||
p6eval | std 29852: OUTPUT«===SORRY!===In parameter declaration, typename 'my' must be predeclared (or marked as declarative with :: prefix) at /tmp/pndjEhalzd line 1:------> our ($a, my⏏ $b, my ($c, our $d));FAILED 00:01 108m» | ||
22:35
deathmask_ left
|
|||
TimToady | it doesn't try to catch every possible permutation, just the common mistakes | 22:35 | |
won't catch this either: | 22:36 | ||
PerlJam | TimToady: could you do the same trick for temp? | ||
TimToady | std: my $a, Int $b | ||
p6eval | std 29852: OUTPUT«===SORRY!===Confused at /tmp/ryRVfVES6G line 1:------> my $a, Int ⏏$b expecting any of: bracketed infix infix or meta-infix statement modifier loopFAILED 00:01 107m» | ||
TimToady | std: my $a, Int $b; | ||
p6eval | std 29852: OUTPUT«===SORRY!===Confused at /tmp/C0bHkYoOUf line 1:------> my $a, Int ⏏$b; expecting any of: bracketed infix infix or meta-infix statement modifier loopFAILED 00:01 107m» | ||
TimToady | PerlJam: I hope temp isn't used often enough to warrant it. | 22:37 | |
PerlJam | probably not. local doesn't get used much anymore these days. | ||
supernovus | Well, time to see if I can make FastCGI and Perl 6 get along. Should be fun :-) | ||
PerlJam | so much that I think there's a large part of the perl community that doesn't even know that local exists. | ||
supernovus: good luck! | 22:38 | ||
jnthn | my local is where I go for a pint, no? | 22:39 | |
TimToady | I don't like lo-cal pints | ||
PerlJam | jnthn: let's find out. | ||
std: my local is where I go for a pint | |||
p6eval | std 29852: OUTPUT«===SORRY!===Malformed my at /tmp/Kowmpm8JED line 1:------> my ⏏local is where I go for a pint expecting any of: scoped declarator typenameFAILED 00:01 105m» | 22:40 | |
PerlJam | you're malformed. | ||
jnthn | Thanks, always good to know. | ||
:-P | |||
TimToady | std: constant local is where I go for a pint | ||
p6eval | std 29852: OUTPUT«===SORRY!===Missing initializer on constant declaration at /tmp/4sCFdtWAFK line 1:------> constant local is where ⏏I go for a pint expecting traitFAILED 00:01 105m» | ||
supernovus | PerlJam: Thanks. So far my fun side project to port my several-year-old non-Moose Perl 5 based CMS to Perl 6 has been interesting, including writing a data definition language that kinda resembles YAML... | 22:41 | |
PerlJam | supernovus: have you written an article or anything about the experience? | ||
supernovus: if not, would you consider it? | 22:42 | ||
supernovus: if you look at docs/ROADMAP in the rakudo repo, there's an entry that says "attention-grabbing examples" yours might be one of those. | 22:43 | ||
:-) | |||
supernovus | PerlJam: Not yet. I plan to do so shortly though. I will also expand my original article about my port of RSpec and Cucumber to Perl 6. | ||
PerlJam | supernovus++ | ||
supernovus: you get exponential karma if that causes any ruby wonks to start hacking Perl 6 ;) | 22:44 | ||
colomon | "Tests=24896" -- we're getting there.... | 22:45 | |
jnthn | colomon: Let's do 25,000 today! | ||
colomon | That was my goal -- one of many goals for today yet unfinished. :) | 22:46 | |
jnthn | Damm, can we pretend that my today doesn't end in 15 mins? | ||
TimToady | let's see, that'll make 49896 total... | ||
jnthn | TimToady: :-P | ||
colomon | jnthn: Today doesn't end until you go to sleep. That's one of the rules. :) | ||
TimToady | nap & | ||
jnthn | \o/ | ||
PerlJam | uhoh TimToady's day just ended. | 22:47 | |
jnthn, colomon: also, you've got several hours yet where it's still Feb 25 somewhere on the planet. | 22:48 | ||
jnthn | I somehow thought getting calling_sets.t to pass again was gonna be easy. :-/ | ||
OH! | 22:50 | ||
Duh. | |||
supernovus | PerlJam: I'm sure I can write up some good articles. The two "big" projects I've worked on so far have been VERY different experiences. PSpec+Pickle were based on the PSpec+Cucumber documentation and examples alone, whereas my website engine is a port of my own existing project (so I am a lot more familar with the existing codebase, and know what I want to keep, and what I want to do differently...) | ||
jnthn | .+ and .* were fine, the test had a multi taking a Num, which was now a Rat. | 22:51 | |
pmichaud | std: constant local is where i go for a pint | 22:53 | |
p6eval | std 29852: OUTPUT«===SORRY!===Missing initializer on constant declaration at /tmp/MWKkO8a47G line 1:------> constant local is where ⏏i go for a pint expecting traitFAILED 00:01 105m» | ||
pmichaud | hmmm, I somewhat hoped it would get past the "i", at least :-) | 22:54 | |
std: i | |||
p6eval | std 29852: OUTPUT«ok 00:01 105m» | ||
pugssvn | r29853 | jnthn++ | [t/spec] Tweaks to a test, in light of Num -> Rat for literals like 2.5. Wish I hadn't written so many multi tests that relied on Int ~~ Num and 1.5 ~~ Num. :-/ | 22:55 | |
22:55
ggoebel joined
|
|||
pmichaud | rakudo: sub foo($a) { say $a.perl; }; foo <1 2 3>; | 22:55 | |
p6eval | rakudo d79887: OUTPUT«Too many positional parameters passed; got 3 but expected 1current instr.: 'foo' pc 182 (EVAL_1:77)» | 22:56 | |
ggoebel | perl6: say(3).WHAT | ||
p6eval | elf 29852, pugs, rakudo d79887: OUTPUT«3» | ||
pmichaud | spectesting fix, will commit then | ||
jnthn | colomon: spectesting, got another 30 passes coming. :-) | ||
pmichaud | (I like 1-line fixes :) | ||
jnthn | My fixes for this test were not too long. :-) | 22:57 | |
ggoebel | rakudo: .WHAT | ||
p6eval | rakudo d79887: ( no output ) | ||
jnthn | (calling-sets.t) | ||
ggoebel | say .WHAT | ||
22:57
IllvilJa left
|
|||
ggoebel | rakudo: say .WHAT | 22:57 | |
p6eval | rakudo d79887: OUTPUT«Mu()» | ||
ggoebel | rakudo: say 3.WHAT | 22:58 | |
p6eval | rakudo d79887: OUTPUT«Int()» | ||
PerlJam | ggoebel: say(3).WHAT is the same as say(3) and then calling .WHAT on the value that say returns (and then discarding it) | ||
(in case you missed it) | |||
ggoebel | okay... just scratching an itch... (I did miss it btw) | ||
pugssvn | r29854 | colomon++ | [t/spec] Fix delete.t in light of ~Any discussion, and fudge for current Rakudo. | ||
jnthn | hmmm...when/how has S02-whitespace_and_comments\one-pass-parsing.t broked? | 22:59 | |
ggoebel | say NaN.WHAT | ||
22:59
lestrrat is now known as lest_away
|
|||
ggoebel | rakudo: say NaN.WHAT | 22:59 | |
bkeeler_ | It was passing for bogus reasons anyway | ||
p6eval | rakudo d79887: OUTPUT«Num()» | ||
PerlJam | ggoebel: you can also /msg the p6eval bot :) | ||
jnthn | bkeeler_: ah, ok | ||
colomon | just pushed a test file with another 23 passing tests. | 23:00 | |
PerlJam | 4~4~/win 22 | ||
jnthn | \o/ | ||
bkeeler_ | And it started not passing when grammars starting working | ||
pmichaud | jnthn: what do you say to the notion that 'empty type property' means 'Any' ? | ||
ggoebel | Interesting that NaN is a Num | ||
dalek | kudo/master: 740ce02 | (Solomon Foster)++ | t/spectest.data: Turn on S32-array/delete.t. |
||
ggoebel | colomon++ | ||
jnthn | pmichaud: 'empty type property'? | 23:01 | |
oh, sorry, I get it now | |||
pmichaud: Sounds sane. | |||
supernovus | Well, just rebuild rakudo master, and tried it with my CMS. Alas, it still apparently has issues with "use": "load_bytecode" couldn't find file 'Webtoo.pir' | ||
jnthn | supernovus: Yes, Rakudo master's use still has issues. Sorry. | 23:02 | |
There's always alpha for now. | |||
pmichaud | jnthn: that seems easier than writing the code to attach 'Any' to all of the untyped variables. | ||
jnthn | pmichaud: aye | ||
pmichaud | supernovus: I may be able to bump up the priority a bit on 'use' | ||
jnthn | pmichaud: Costs us some extra checks of course. | ||
mberends | supernovus: is that file in the current directory? there are no paths yet. | ||
pmichaud | it's not that difficult | ||
colomon | lives_ok { for %hash.pairs -> $pair { | ||
$pair.value += 100; | |||
} }, 'aliases returned by %hash.pairs should be rw (1)'; | |||
Is that still right? | |||
pmichaud | afaik, yes. | 23:03 | |
23:03
masak joined
|
|||
masak | aloha, #perl6! | 23:03 | |
mberends | pmichaud: +1 to 'use' priority, it will be useful for proto very soon | ||
bkeeler_ | hallo masak! | ||
23:04
hanekomu left
|
|||
masak | bkeeler_: hey there! :) | 23:04 | |
mberends | masak: ahola too! | ||
supernovus | jnthn: I have a copy of the January release that I use for daily stuff, and keep trying out master to see how it's coming along. | ||
jnthn | supernovus: Aha, cool. | ||
masak hangs a lei around mberends' neck | |||
pmichaud | supernovus++ | ||
jnthn | pmichaud: +1 for use too | ||
pmichaud | .oO( masak++ is in Hawai'i ? ) |
||
jnthn | pmichaud: I suspect plenty of folks could use it. | ||
supernovus | pmichaud: The libraries are kept in 'lib' which my script has a BEGIN { @*INC.push: './lib' } at the top of it... | ||
pugssvn | r29855 | colomon++ | [t/spec] Fudge failing test. | ||
jnthn | hejhejitsmasak | ||
masak looks out window | |||
pmichaud: nope. | |||
not Hawai'i. | 23:05 | ||
jnthn: 'hejhej' decidedly does not have the same ring to it as 'lol' or 'yay'... :/ | |||
jnthn: 'hejhej' sounds almost resigned to my Swedish ears. | |||
jnthn | masak: Meh. Swedish. | ||
;-) | |||
23:06
iblechbot left
|
|||
mberends | supernovus: try copying the module files to the current dir and ignore directories. That's how master can read in Test.pir right now. | 23:06 | |
masak | jnthn: it's like saying 'hej, but I've been saying "hej" to you for the past twelve months...' | ||
jnthn | masak: You gotta remember it's all new to me. I'm still at the point where rulltrappa is a hilarious word. | ||
;-) | |||
masak | jnthn: the whole concept of rulltrappa is pretty hilarious. | ||
can't be bothered to walk upstairs? invent a flight of stairs which moves! | 23:07 | ||
jnthn: has someone told you about 'rulltårta' yet? | |||
jnthn | masak: No, what's that one? | 23:08 | |
supernovus | mberends: Okay, I'll try a few combinations. I do have namespaces going on, my Webtoo.pm loads roles in the Webtoo:: namespace, and there are plugins in a Websight:: namespace which load a role stored in Websight.pm (convoluted, yes...) so I'm not sure how well it will work without directories, but I'll give it a try and report back. | ||
jnthn | tårta is some kinda cake, no? | ||
mberends | masak: is that a Swiss Roll that went North? | ||
masak | jnthn: sv.wikipedia.org/wiki/Rulltårta | ||
mberends: no idea. | |||
jnthn | nice | ||
Yes, we'd call it Swiss Role in English. | |||
23:50
ilogger2 joined
|
|||
mberends | lichtkind: the wiki main page especially is far more attractive now, well done! | 23:51 | |
masak | lichtkind: let me just say now that the quality I admire most with you is your unrelenting JFDIness. | ||
lichtkind | mberends: thanks but i got help, conrads back :) | ||
masak: i dont understand | |||
:( | |||
masak | lichtkind: I like how you get things done. | 23:52 | |
lichtkind: also, sorry again about the November bug. we used to be three active devs on that project, now it seems we're back to one... barely. :/ | |||
it's less fun that way, and more of a chore. | |||
also, this bug seems especially unfair, since I'm not aware of changing anything in the code or the configuration. | 23:53 | ||
23:53
synth joined
|
|||
diakopter | masak: [backlog] the bugs I mentioned? | 23:53 | |
masak | diakopter: oh, I saw you mention that you had bugs. didn't actually see any. URL? | 23:54 | |
diakopter looks | |||
some/all could be dupes | |||
masak | sure. | ||
that's a risk I'm willing to take. :) | 23:55 | ||
mberends | lichtkind: I promise to expand the implementation wiki pages, but need sleep now | ||
colomon is suddenly imagining a "Masak: Bug Hunter" theme song... | |||
diakopter | rakudo: my Int (Str $x); say $x.WHAT # unspecced behavior? | ||
p6eval | rakudo a215ee: OUTPUT«Int()» | ||
23:55
synth left
|
|||
lichtkind | mberends: gut nacht, süsse träume | 23:55 | |
masak | diakopter: whoa. | ||
23:56
synth joined
|
|||
masak | never seen that one. | 23:56 | |
diakopter | rakudo: my $::x # who knows on this one | ||
p6eval | rakudo a215ee: OUTPUT«Symbol '$x' not predeclared in <anonymous>current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)» | ||
colomon | Tests=25015 | ||
masak submits the Int (Str $x) one | |||
diakopter | rakudo: my $a = sub { say $^a + $^a }; $a(4); # first of 2 | ||
p6eval | rakudo a215ee: OUTPUT«Not enough positional parameters passed; got 1 but expected 2current instr.: '_block48' pc 329 (EVAL_1:133)» | ||
lichtkind | masak: what i especially like about the last entrys thast the wiki no tells a bit about which parrot guy did what, a world i head to access before | ||
masak | std: my $::x | ||
p6eval | std 29857: OUTPUT«ok 00:01 107m» | ||
diakopter | rakudo: my $a = sub { say $^a + $^a }; $a(4, 5); # second of 2 | 23:57 | |
p6eval | rakudo a215ee: OUTPUT«10» | ||
masak submits rakudobug | |||
23:57
synth left
|
|||
diakopter | rakudo: my $b = {.0000000000000000000000000000000000000000000000000000000000000000000000001 => $b}.perl; say $b | 23:57 | |
p6eval | rakudo a215ee: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 11current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (ext/nqp-rx/src/stage0/Regex-s0.pir:907)» | ||
diakopter | whaaa | 23:58 | |
different from yesterday | |||
yesterday it said | |||
masak | I don't like those. | ||
diakopter | rakudo 88f57f: OUTPUT«{Pair.new(:key("Inf"), :value(Mu))}» | ||
masak | ok. | ||
diakopter | first and second of 2? | ||
masak | diakopter: there seems to be a space between the zeroes. is that intentional? | 23:59 | |
diakopter | ahah | ||
dalek | kudo/master: 852213b | (Solomon Foster)++ | t/spectest.data: Turn on S32-hash/pairs.t and S32-list/grep.t. |
||
23:59
arlinius joined
|
|||
diakopter | rakudo: my $b = {.0000000000000000000000000000000000000000000000000000000000000000000000001 => $b}.perl; say $b | 23:59 | |
p6eval | rakudo a215ee: OUTPUT«{Pair.new(:key("Inf"), :value(Mu))}» | ||
masak | diakopter: yeah, submitted the $::x and sub { $^a + $^a } as separate tickets. | ||
masak submits rakudobug | |||
diakopter | there was another one with $^a and $^a |