»ö« | 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. |
|||
00:00
snarkyboojum left
|
|||
supernovus | Okay, so for anything that old master could do, that new master cannot, is this the best place to report things like that? | 00:04 | |
TimToady | you could do a lot worse | ||
supernovus | Well, I'll let you know what I dig up then :-) | 00:05 | |
jnthn | supernovus: Feel free to file a ticket in RT via the usual rakudo bug email address, too. | ||
There's many things to fix up, and many spectets to get working and uncomment in t/spectest.data. What passes by in the channel will give a sense of what matters to people most, though. | 00:08 | ||
00:08
pmurias left
00:09
snarkyboojum joined,
lue left
|
|||
supernovus | jnthn: okay, thanks, I'll browse the RT and make sure I'm not duplicating anything. The Int versus Integer, Str versus Perl6Str "bug" is currently holding up a large portion of my PSpec testing, but I'll test individual portions of it otherwise. I was using a lot of "funky" perl6 features in the PSpec code :-) | 00:11 | |
00:11
lue joined
|
|||
supernovus | Which, if anyone is interested in a Perl 6 port of RSpec and Cucumber (not too serious mind you) you can find it at github.com/supernovus/PSpec/ it works perfectly (albeit very slowly) under the January release of Rakudo, but is completely borked in the new master. | 00:13 | |
lue | It seemed to. I ran gmake w/o recompiling parrot though :| | ||
Am going to recompile parrot now. | 00:14 | ||
supernovus will be back later. | |||
jnthn | supernovus: Many things are broken in the new master. OTOH, some things work that isn't before. We'll have it patched up in a while. | ||
s/isn't/didn't/ | |||
supernovus: BTW, PSpec looks interesting...I'm too tired to seriously look at it now, but I'll look more another time. :-) | 00:15 | ||
supernovus | jnthn: I know, I just figure I'll help by at least reporting anything I find. I may not be ready to dive into the code yet (at least the .pir code, any actual Perl 6 code I could take a look at), but I'd like to help out in some fashion :-) | ||
00:15
old_gray_bear left
|
|||
jnthn | supernovus: Reports are welcome. We're trying to write more and more of it in Perl 6 or NQP rather than PIR too. :) | 00:17 | |
jnthn -> sleep | 00:23 | ||
lue | night jnthn | ||
00:34
MaLiLL0 joined
|
|||
MaLiLL0 | hi | 00:35 | |
00:37
chromatic left
00:38
MaLiLL0 left
|
|||
spinclad | std: my ::A = role {}; class B does A {}; my $a = role {}; class C does $a {}; | 00:46 | |
p6eval | std 29739: OUTPUT«===SORRY!===Illegal redeclaration of symbol 'A' (from line 1) at /tmp/CdQUX1tD62 line 1:------> my ::A ⏏= role {}; class B does A {}; my $a = roFAILED 00:01 107m» | ||
spinclad | std: my $a = role {}; class C does $a {}; | ||
p6eval | std 29739: OUTPUT«===SORRY!===Unable to parse class definition at /tmp/D9EbVbDlqI line 1:------> my $a = role {}; class C does ⏏$a {}; expecting module_nameFAILED 00:01 107m» | ||
spinclad | rakudo: my $a = role {}; class C does $a {}; | 00:47 | |
p6eval | rakudo ee1e51: OUTPUT«Malformed package declaration at line 11, near "does $a {}"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
spinclad | std: my A = role {}; class B does A {}; | 00:48 | |
p6eval | std 29739: OUTPUT«===SORRY!===In my declaration, typename 'A' must be predeclared (or marked as declarative with :: prefix) at /tmp/EICqoSn9pT line 1:------> my A⏏ = role {}; class B does A {};FAILED 00:01 105m» | ||
00:56
snarkyboojum left
|
|||
colomon | Is master unborked again (from the chromatic patches)? | 01:03 | |
I think I see that one of the patches disappeared.... | |||
01:04
cdarroch left
|
|||
colomon | rakudo: say 'hi' | 01:14 | |
p6eval | rakudo ee1e51: OUTPUT«hi» | ||
colomon | so p6eval is using the patches. | 01:15 | |
01:17
meppl left
01:19
chromatic joined,
snarkyboojum joined
01:25
dolmen left
|
|||
lichtkind | diakopter: would you say that sprixel is faster then rakudo? | 01:25 | |
01:30
ignacio_ joined
01:34
explorer__ left
01:35
xomas left
|
|||
colomon | errr, rakudo master still borked. | 01:56 | |
lichtkind | goodnight | 01:57 | |
mberends: do you know anything how fast sprixel is? | |||
01:58
lichtkind left
01:59
ihrd joined
02:00
ihrd left
02:02
cognominal left
02:03
REPLeffect joined
|
|||
colomon | or, rakudo master isn't borked, but Makefile.in is. Huh. | 02:07 | |
02:09
cognominal joined
|
|||
chromatic | colomon, you can edit line 523 and get rid of ../.. before $(PMC_DIR) | 02:09 | |
If that helps, feel free to commit. | |||
colomon | chromatic: actually, it's the spectest stuff that's borked. | ||
I'm about to commit a fix. | 02:10 | ||
02:10
tjc joined
|
|||
dukeleto | does anybody know about timtowtdi.org ? | 02:11 | |
colomon | chromatic: We hacked old master (ie alpha) to always use an older version of the spectests. Somehow that leaked through into your patches. | 02:12 | |
chromatic | Ah, that's what it was. | ||
I remember that. | |||
colomon | Anyway, I've reversed that, and I'm just taking one more spectest run before pushing. | 02:13 | |
chromatic | Thanks. | ||
colomon | No worries. :) | ||
And thanks for cleaning up the code. | 02:14 | ||
pushed | |||
pugs_svn | r29740 | colomon++ | [t/spec] Additional tests for trim-leading and trim-trailing. | 02:15 | |
colomon | I'm going to pull a fresh copy and make sure it all works, I think. | 02:16 | |
chromatic | So far so good in my fresh copy. | 02:17 | |
colomon | :) | ||
02:19
aindilis joined
|
|||
dalek | kudo/master: f483b59 | (Solomon Foster)++ | src/core/Any-str.pm: Fix shortcomings in the previous trim-leading and trim-trailing implementations. |
02:20 | |
kudo/master: 4716fbc | (Solomon Foster)++ | build/Makefile.in: Undo the leak of the alpha spectest hack into master. |
|||
chromatic | 142 wallclock seconds for a spectest run; must be fewer tests running now than before. | 02:23 | |
colomon | by "before", you mean with the old master? | 02:26 | |
chromatic | yes | ||
colomon | oh, yes, we're running 20,000 fewer tests. | 02:27 | |
02:27
ShaneC left
02:28
lue left
|
|||
colomon | my clean build comes out fine, so I think we're good again! | 02:31 | |
02:32
wknight8111 left
|
|||
diakopter | lichtkind: that is a poor question. | 02:33 | |
02:36
lue joined
|
|||
colomon | rakudo: my $match = "abcd" ~~ /(bc)/; "sdsdad" ~~ /(d)/; $/ = $match; say $/.perl | 02:40 | |
p6eval | rakudo 4716fb: OUTPUT«Cannot assign to readonly valuecurrent instr.: '&infix:<=>' pc 15648 (src/builtins/Junction.pir:169)» | ||
pmichaud | currently $/ is readonly, I think. | 02:43 | |
I noticed that earlier. | |||
diakopter | rakudo: ?????????????????????????????????????????????????????????? | ||
pmichaud | I have to redo much of the assignment stuff | ||
Juerd | Hmmm, assigning to elements of $/ would be a fun way to do substitutions :) | ||
p6eval | rakudo 4716fb: ( no output ) | ||
colomon | pmichaud: Is it supposed to be? | 02:44 | |
I'm still trying to figure out how to do a full-fledged version of subst. | |||
pmichaud | no, I don't believe it's supposed to be that way | ||
02:45
lue left
|
|||
diakopter | rakudo: ; | 02:45 | |
p6eval | rakudo 4716fb: OUTPUT«get_pmc_keyed() not implemented in class 'Integer'current instr.: 'perl6;Perl6;Actions;_block1195' pc 160181 (src/gen/perl6-actions.pir:480)» | ||
colomon | :/ that's a LTA error message. :) | ||
diakopter | rakudo: ()() | 02:49 | |
02:49
lue joined
|
|||
p6eval | rakudo 4716fb: OUTPUT«invoke() not implemented in class 'ResizablePMCArray'current instr.: '_block14' pc 29 (EVAL_1:0)» | 02:49 | |
colomon | pmichaud: I see two places in the code with store_dynamic_lex, '$/' -- but I don't see any sign of read-only-ness at either spot? | ||
pmichaud | colomon: read-only is the default | 02:50 | |
a variable is read-write (to the programmer) only if the rw property is set | |||
it needs to be done at the time the $/ is created, in Actions.pm | |||
colomon | ah (to read-only is the default) | 02:51 | |
As to the last bit, I don't know how to filter out all the $/'s in the code to find the actual creation point.... | 02:52 | ||
pmichaud | it's the same place that $! is created | ||
but as I said above, I'll have to redo much of the assignment stuff | 02:53 | ||
I was going to do it tonight, but I'm feeling LTA at the moment :-( | |||
colomon | :( | ||
pmichaud | some sort of cold/something | ||
should be over it by tomorrow morning. | |||
colomon | I was a zombie for about ten days in Jan. with one... ugh. | ||
02:55
lue left
|
|||
colomon | I hope you do feel better in the morning. | 02:57 | |
pmichaud | yes, it's been bugging me a bit since Friday morning; today's the worst so I'm hoping I'm near the end :) | 02:58 | |
colomon | What's your thinking on the Parrot types leaking through into Rakudo? | 02:59 | |
Particularly the trig issues we've been having... | |||
pmichaud | eventually it'll clean up | ||
colomon | rakudo: say sin(asin(0.5)) | ||
p6eval | rakudo 4716fb: OUTPUT«too many positional arguments: 2 passed, 1 expectedcurrent instr.: 'sin' pc 223266 (src/gen/core.pir:5095)» | ||
colomon | what I don't get is exactly what triggers it: | 03:00 | |
rakudo 0.5.asin.sin | |||
rakudo: say 0.5.asin.sin | |||
p6eval | rakudo 4716fb: OUTPUT«0.5» | ||
pmichaud | rakudo: say PARROT(asin(0.5)) | ||
p6eval | rakudo 4716fb: OUTPUT«Float» | ||
03:00
mssm left
|
|||
colomon | oh, I see. | 03:00 | |
pmichaud | rakudo: say PARROT(0.5.asin) | ||
p6eval | rakudo 4716fb: OUTPUT«Float» | ||
pmichaud | hmmmm | 03:01 | |
rakudo: say sin(0.5.asin) | |||
p6eval | rakudo 4716fb: OUTPUT«too many positional arguments: 2 passed, 1 expectedcurrent instr.: 'sin' pc 223266 (src/gen/core.pir:5095)» | ||
colomon | when we call sin(asin(0.5)), that becomes 0.5.asin('degrees').sin('degrees') | ||
s/degrees/radians/g | |||
pmichaud | looking | ||
colomon | rakudo: 0.5.asin('degrees').sin('degrees') | ||
p6eval | rakudo 4716fb: ( no output ) | ||
colomon | except that works. | 03:02 | |
pmichaud | where are the functions defined? | ||
colomon | any-num.pm and num.pm | ||
though obviously we're picking up Float.sin from somewhere in parrot | 03:03 | ||
pmichaud | multi method Num() { self; } | ||
isn't converting Parrot Float into a Num | |||
colomon | right | ||
pmichaud | just a sec | 03:04 | |
colomon | rakudo: say PARROT(0.5.asin.Num) | ||
p6eval | rakudo 4716fb: OUTPUT«Float» | ||
pmichaud | add a src/cheats/parrot/num.pir that puts a Num method in the Float class | 03:05 | |
(which returns the Float as a Num) | |||
.namespace ['Float'] | 03:06 | ||
.sub 'Num' :method $P0 = root_new [.RAKUDO_HLL;'Num'] assign $P0, self .return ($P0) | |||
.end | |||
argh, lost newlines | |||
.namespace ['Float'] | |||
.sub 'Num' :method | |||
$P0 = root_new [.RAKUDO_HLL;'Num'] | |||
assign $P0, self | |||
.return ($P0) | |||
.end | |||
that way Float.Num will always be sure to return a Rakudo Num | 03:07 | ||
do we not have HLL type mapping in place for floats, though? | |||
I thought we did. | |||
colomon | I don't know. That's dark magic as far as I'm concerned. | ||
pmichaud | that appears to not be working as we'd expect | 03:08 | |
colomon | one question: right now, if you call .Num on a Float, we think it calls Num.Num? | ||
pmichaud | yes. because of the way we map parrot classes onto rakudo types, all of the rakudo methods get installed into the parrot class | ||
(unless the parrot class already has one) | |||
colomon | ah, cool. | ||
pmichaud | so, since parrot's Float doesn't have a .Num method, we force the one from Num in there | 03:09 | |
colomon | jnthn and I were experimenting and found similar problems with Ints -- actually more common, but less troublesome, it seemed. | ||
pmichaud | however, since parrot's Float already has a .sin method, the one from Num doesn't make it there | ||
colomon | everything that calls upgrade_to_num_if_needed returns an Integer. | ||
pmichaud | this is only going to get worse, because the Parrot team seems to be steadily convering internal vtable calls (invisible) to method calls (visible) | 03:10 | |
mberends | travel .nl -> .uk, ttyl | ||
pmichaud | good travels, mberends++! | ||
mberends | :-) | ||
03:10
mberends left
|
|||
colomon | okay, building with Float.num now. | 03:13 | |
03:14
wolf2k_ubuntu left
|
|||
pmichaud | I think there must be a parrot bug here somewhere. | 03:14 | |
colomon | Hmmm, doesn't seem to actually do anything. | 03:15 | |
pmichaud | right | 03:16 | |
it's likely not doing anything | |||
the problem seems to be that the hll_map isn't doing the right thing | |||
I'm checking that now. | |||
colomon | How do I stick a "say" into PIR to make sure it is getting called? | 03:17 | |
pmichaud | pir::say("something") # works | ||
I suspect it's not getting called at all, now that I think about it. | |||
colomon | errr, wouldn't pir::say be something you stuck into P6 code? | 03:18 | |
pmichaud | oh | ||
in PIR itself, just say "something" | |||
colomon | bingo, danke | ||
pmichaud | ...something is very wrong with this picture. | ||
> say PARROT(pir::sin__Nn(0.5)); | 03:19 | ||
Num | |||
so where is the Float coming from? | |||
colomon | asin | ||
rakudo: say PARROT(pir::asin__Nn(0.5)); | |||
p6eval | rakudo 4716fb: OUTPUT«Num» | ||
pmichaud | 'fraid not. :) | ||
colomon | oh, it's coming from from-radians | 03:20 | |
pmichaud | need to rebuild | ||
colomon | jnthn and I worked that out the other day. | ||
pmichaud | where is that defined? | ||
colomon | Any-num, I think. | ||
but it's even more frightening, I think it boils down to a self call. | 03:21 | ||
sorry I forgot about that. | |||
rakudo: say PARROT(pir::asin__Nn(0.5)!from-radians('radians')) | |||
p6eval | rakudo 4716fb: OUTPUT«Float» | ||
pmichaud | okay, that looks like a pct bug/issue | 03:22 | |
colomon | pct? | ||
pmichaud | compiler toolkit | ||
I'm guessing that PCT is handling the num conversion, and it's generating code to make a Float | |||
should be 'box' instead | |||
03:23
wolf2k_ubuntu joined
|
|||
pmichaud | checking | 03:23 | |
atan $N6044, $N6043 | |||
new $P6045, 'Float' | |||
set $P6045, $N6044 | |||
yup | |||
Evil. | |||
colomon | okay, so Float.Num isn't getting called, and in !from-radians self is already a Float when it hits the when 'radians' clause. | 03:25 | |
pmichaud | the immediate call to !from-radians is causing PCT to box the num register into a Float | 03:26 | |
colomon | but I suspect you're two steps ahead of me. | ||
rakudo: my $a = pir::asin__Nn(0.5); say PARROT($a); my $b = $a!from-radians('radians'); say PARROT($b); | 03:28 | ||
p6eval | rakudo 4716fb: OUTPUT«ObjectRef->NumObjectRef->Num» | ||
colomon | Does that imply we could fix it just by making the trig methods more verbose? | ||
pmichaud | well, I view that as more "workaround" than "fix" | ||
I'm looking to see if I can fix PCT | |||
short answer seems to be "yes", but I have some tests to run | 03:29 | ||
colomon | \o/ | ||
03:33
__rnddim__ joined
|
|||
__rnddim__ | Beh. I can't be lue, the server thinks lue is logged in. | 03:34 | |
diakopter | __rnddim__: search a www index for: freenode nick recover | 03:36 | |
pmichaud | ugh, my computer seems to be so slow these days :-( | 03:38 | |
running parrot 'make test' | 03:39 | ||
__rnddim__ | well, I finally compiled perl6! | ||
RandalSchwartz | is there a perl6 git now? I'm still using the svn | 03:40 | |
pmichaud | __rnddim__: \o/ | ||
RandalSchwartz: for the most feature-full version of Rakudo, grab the tarball | |||
RandalSchwartz | Yeah - I know about that | ||
just wondering if p6 has cut over to git as well | 03:41 | ||
pmichaud | but yes, rakudo is hosted on github | ||
parrot is still svn | |||
RandalSchwartz | soon to change? :) | ||
pmichaud | not likely | ||
there's a lot of resistance to switching to git from some of the parrot devs | |||
RandalSchwartz | sad | 03:42 | |
pmichaud | there's a git mirror of the parrot svn somewhere, but I've not used it | 03:43 | |
supernovus | Well, my observation so far: the new master is faster than the old one, but so far the majority of test scripts I've tried (that work perfectly under the old master), die in long exploding crashes. | 03:44 | |
chromatic | trac.parrot.org/parrot/wiki/GitTransition | ||
pmichaud | supernovus: yes, I'm not surprised that most things crash at this time. we're still getting some of the base pieces in place. | ||
__rnddim__ | pmichaud: I know. It's amazing. (hang on, changing to lue...) | 03:45 | |
03:45
__rnddim__ is now known as lue
|
|||
pmichaud | colomon: change to pct seems to pass parrot and nqp-rx tests... now just need to try it with rakudo | 03:45 | |
(building/testing now) | 03:46 | ||
colomon | \o/ | ||
RandalSchwartz | hmm. current rakudo master broken | ||
2010-01-899-g4716fbc | |||
this is weird - dyld: Library not loaded: /Volum | |||
what is /Volum ?? | 03:47 | ||
colomon | supernovus: what's really impressive, from my point of view, is the number of tests that have stopped crashing in the last week... | ||
lue | how would I submit any spectests I run? | ||
pmichaud | RandalSchwartz: you may need a fresh clone from the rakudo repository. We did some delete/rename of the master branch yesterday. | ||
RandalSchwartz | on perl Configure.pl --gen-parrot && make | ||
so I should git clean? | |||
colomon | lue: you mean your results? or tests that you have written? | ||
lue | yes, results. | 03:48 | |
RandalSchwartz | git clean -dfx first | ||
supernovus | I'm keeping my January build of Rakudo for day to day stuff, but will be testing the new master and reporting anything that doesn't already have a bug assigned to it. | ||
pmichaud | hmmm, pct change broke rakudo build, though. :-( | ||
colomon | lue: If you're getting errors, nopaste them here. | ||
lue | haven't run them yet, just wanted to know if there's anything I needed to do before I started. | 03:49 | |
RandalSchwartz | after git clean -dfx, checking now | ||
all new parrot fetch | |||
colomon | lue: nah, just go for it! | ||
RandalSchwartz | ahh - seems to be getting further | 03:52 | |
parrot is fully configuring | |||
pmichaud | looks like the pct fix runs smack-dab into another bug | ||
RandalSchwartz | that might have been the problem. parrot, not rakudo | ||
pmichaud | looks like switching PCT to use the 'box' opcode gives us lots of pain with TT #784 | 03:55 | |
and #1040 | |||
chromatic | How certain are you? | 03:56 | |
pmichaud | very | ||
chromatic | Alright, I'll work on that. | ||
RandalSchwartz | building a lot better | ||
pmichaud | Multiple Dispatch: No suitable candidate found for 'subtract_int', with signature 'PIP->P' | ||
RandalSchwartz | had to do the git clean | ||
might be a useful thing to tell people | |||
pmichaud | RandalSchwartz: I sent messages to the mailing lists; probably needs a note on rakudo.org | 03:57 | |
RandalSchwartz | git clean -dfx is handy | ||
ooh, I have a perl6 binary | |||
yeah, and it works | 03:58 | ||
so that was the right mix | |||
03:59
tjc left
|
|||
pmichaud | oh, also TT #562 | 03:59 | |
colomon: so, short answer seems to be that I can't easily fix the num register to Num conversion in Rakudo at the moment. | 04:01 | ||
colomon | pmichaud: understood. but we've probably learned a good bit in the process, right? :) | ||
pmichaud | colomon: oh, absolutely. And you might be able to get better results by fixing up from-radians | ||
rather than fixing all of the places that call it | 04:02 | ||
colomon | Hmmm... I'm not sure I have a notion of how to fix it? | ||
pmichaud | looking | ||
colomon | but that certainly sounds like it could be a big win. | ||
pmichaud | maybe change | 04:03 | |
03:58 -!- tjc [~tomasz@188-220-52-224.zone11.bethere.co.uk] has quit [Quit: Leaving] | |||
arggggh | |||
when /:i radians/ { self } # Convert to radians. | |||
to have "self + 0" or "+self" instead of just "self" | |||
supernovus | Hmm, I have a file called "dice.pm" and one called "dice.p6" which begins with "use dice;" In the new master, it dies with: "load_bytecode" couldn't find file 'dice.pir' | 04:04 | |
pmichaud | i.e., something that forces "self" to be a num | ||
supernovus: I'm not sure if new master knows to look in PERL6LIB yet | |||
colomon | rakudo: say PARROT(asin(0.5) + 0) | ||
p6eval | rakudo 4716fb: OUTPUT«Num» | ||
colomon | oooo, lovely. | ||
pmichaud | rakudo: say PARROT(asin(0.5)) | 04:05 | |
p6eval | rakudo 4716fb: OUTPUT«Float» | ||
pmichaud | rakudo: say PARROT(+asin(0.5)) | ||
p6eval | rakudo 4716fb: OUTPUT«Num» | ||
pmichaud | looks like either works :) | ||
colomon | trying this now. | ||
then I'm going to sleep. | 04:06 | ||
pmichaud | yes, I should get sleep also | ||
colomon | I think if this works we might get all the trig tests back. | ||
though I may leave them out for a bit, because it's nice to have spectest run quickly. :) | |||
> say sin(asin(0.5)) | 04:08 | ||
0.5 | |||
dalek | kudo/master: 65e2d3d | (Solomon Foster)++ | src/core/Any-num.pm: Tweak radians cases of to- and from-radians so that they properly return a Num instead of a Float. |
04:12 | |
colomon | afk # sleep -- will try to bring up trig tests tomorrow. | 04:15 | |
04:35
Schwern joined
04:48
ignacio_ left
|
|||
pugs_svn | r29741 | lwall++ | [Numeric] make it possible to have fast trig functions | 04:51 | |
04:53
supernovus left
|
|||
TimToady | phenny: tell colomon I revised the trigbase stuff in the spec yet again, but rakudo is still wrong. :) | 04:57 | |
phenny | TimToady: I'll pass that on when colomon is around. | ||
05:02
ignacio_ joined
|
|||
pugs_svn | r29742 | lwall++ | [Numeric] typo in previous patch | 05:03 | |
05:06
stephenlb left
05:10
zorgnax joined
05:13
ignacio_ left
05:14
cognominal left,
cognominal joined
05:16
wolf2k_ubuntu left
05:27
ignacio_ joined
05:33
quester joined
|
|||
quester | pugs: my @x=<f a c e b g d >; say @x.sort; | 05:34 | |
p6eval | pugs: OUTPUT«abcdefg» | ||
quester | rakudo: my @x=<f a c e b g d >; say @x.sort; | ||
p6eval | rakudo 65e2d3: OUTPUT«Method 'sort' not found for invocant of class 'Array'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
quester | IIRC, @array.sort worked last week... | ||
bkeeler | The ng branch has become the new master, and there's a fair bit of regression | 05:35 | |
quester | bkeeler: Ah, so... that would explain it. Thanks. | 05:36 | |
05:40
athenot left
|
|||
TimToady | alpha: you there yet? | 05:42 | |
p6eval | alpha 30e0ed: OUTPUT«Confused at line 10, near "?"in Main (file <unknown>, line <unknown>)» | ||
TimToady | alpha: my @x=<f a c e b g d >; say @x.sort; | ||
p6eval | alpha 30e0ed: OUTPUT«abcdefg» | ||
TimToady | that's the old rakudo master | ||
quester | TimToady: Thank you! Do you recall where the appropriate git incantation to download alpha would be documented? | 05:44 | |
TimToady | I think there's a tarball of it somewhere | ||
RandalSchwartz | git fetch origin | ||
git checkout origin/alpha | |||
presuming you're already cloned | 05:45 | ||
lue | (someone should change the topic to include alpha:) | ||
RandalSchwartz | if not, you have to add the clone step | ||
git clone git://github.com/rakudo/rakudo.git | 05:46 | ||
cd rakudo | |||
git fetch | |||
git checkout origin/alpha | |||
there's the whole thing | |||
for ques | |||
quester | 05:47 | ||
05:47
synth joined
|
|||
lue | I wonder how this regression will be explained to (relatively) typical users of rakudo? | 05:47 | |
quester | RandalSchwartz: Thank you very much. I'm trying it now (as my eensie Sempron CPU melts under the strain) | ||
RandalSchwartz bows | |||
RandalSchwartz hits head on desk | |||
ouch! | |||
quester | hugme: hug RandalSchwartz | 05:48 | |
hugme hugs RandalSchwartz | |||
TimToady | lue: it will be explained as progress, of course :) | ||
RandalSchwartz | is that *the* hugme? :) | ||
hey TimToady | |||
lue | you know, the ones who don't contribute to its development. | ||
TimToady | hugme: hug RandalSchwartz real hard! | 05:49 | |
hugme hugs RandalSchwartz real hard! | |||
quester | Ummm... I think it's an artificial substitute. (Or have I just violated the Man Code?) | ||
RandalSchwartz | not the guy I know from nashville who goes by "hug me", ok | ||
lue | *cough* progress. *cough* | ||
hugme: hugme | |||
hugme | lue: | ||
RandalSchwartz | as in, there is a specific individual who uses that handle | ||
lue | hugme: hug hugme | 05:50 | |
hugme hugs hugme | |||
dukeleto | recursive hugs? | ||
05:50
cognominal left
05:51
cognominal joined
|
|||
quester | RandalSchwartz: No. I'm a long way from Nashville, both literally and figuratively. This "hugme" is a just bot on this channel. | 05:51 | |
lue | hugme: hug someone | ||
hugme hugs someone | |||
RandalSchwartz | ok - just curious | ||
haven't seen the IRL hug me since last dragoncon | 05:52 | ||
lue | hugme: | ||
hee hee :) | |||
what's the phenny bot for? | 05:53 | ||
TimToady | phenny for your thoughts | ||
lue | phenny: erm... | 05:54 | |
isn't it phenny for your bots? | |||
TimToady | phenny: help | 05:55 | |
phenny | TimToady: Hi, I'm a bot. Say ".commands" to me in private for a list of my commands, or see inamidst.com/phenny/ for more general details. My owner is sbp. | ||
lue | It comes with a manual!? aww... | 05:56 | |
TimToady | also available with an automatic | ||
lue | phenny: beats | 05:57 | |
TimToady | .u ☻ | 05:58 | |
phenny | U+263B BLACK SMILING FACE (☻) | ||
lue | dalek: exterminate Windows | 05:59 | |
...darn. It should do that. | |||
phenny: .beats | 06:02 | ||
.beats | 06:03 | ||
phenny | @293 | ||
06:09
cognominal left
06:10
dakkar joined
06:18
lue left
06:29
kaare joined,
kaare is now known as Guest4533
06:42
kidd` left
06:56
justatheory left
07:00
jferrero joined
07:02
yves joined,
Schwern left
07:04
Schwern joined
07:08
cognominal joined
07:09
jferrero left
07:10
patspam left
07:11
ignacio_ left
07:12
patspam joined
07:13
patspam left
07:19
uniejo joined
07:22
Su-Shee joined
07:27
mssm joined
07:28
ignacio_ joined
07:31
Su-Shee left
07:37
Su-Shee joined,
quester left
07:38
xinming_ joined
07:43
masak joined
|
|||
masak | good morning, #perl6! | 07:44 | |
TimToady | morning is still 16 minutes away | ||
masak | I can go again, if you like. | ||
TimToady | lemme think about it a while | 07:45 | |
masak | .oO( no-one expects the Swedish morning inquisition ) |
||
07:45
quester joined
|
|||
masak backlogs | 07:46 | ||
quester | pugs: ("1"|"2").perl.say; | ||
p6eval | pugs: OUTPUT«("1" | "2")» | ||
quester | alpha: ("1"|"2").perl.say; | ||
p6eval | alpha 30e0ed: OUTPUT«any("1", "2")» | ||
quester | rakudo: ("1"|"2").perl.say; | ||
p6eval | rakudo 65e2d3: OUTPUT«Could not find non-existent sub prefix:?current instr.: '&infix:<===>' pc 11746 (src/builtins/Parcel.pir:226)» | ||
quester | rakudo: say "another minor regression..." | 07:47 | |
p6eval | rakudo 65e2d3: OUTPUT«another minor regression...» | ||
masak | hm. it does something, at least. | ||
TimToady | probably trying to compute identity of set elements | ||
masak 's finger hovers over submit button on that one | |||
quester | rakudo: (1|2).perl.say; | ||
p6eval | rakudo 65e2d3: OUTPUT«any(1, 2)» | ||
masak | oh! | 07:48 | |
that alters things a bit. | |||
TimToady | rakudo: say "1" === "2" | ||
p6eval | rakudo 65e2d3: OUTPUT«Could not find non-existent sub prefix:?current instr.: '&infix:<===>' pc 11746 (src/builtins/Parcel.pir:226)» | ||
quester | masak: That's what I said... "oh!" | ||
masak submits rakudobug | |||
wonder how &infix:<===> is defined. | |||
TimToady | rakudo: say "1" eqv "2" | 07:49 | |
masak | ah. it does a .tailcall to 'prefix:?' | ||
p6eval | rakudo 65e2d3: OUTPUT«0» | ||
TimToady | rakudo: say "1" === "1" | 07:50 | |
p6eval | rakudo 65e2d3: OUTPUT«Could not find non-existent sub prefix:?current instr.: '&infix:<===>' pc 11746 (src/builtins/Parcel.pir:226)» | ||
quester | masak: Thanks. Are you just emailing the bug reports to [email@hidden.address] | 07:53 | |
masak | quester: that's the way, yes. thinking of joining forces with me? :) | 07:54 | |
quester | Well, it seems like an attractive idea, when $work < all($time_avaliable) # rarely, alas... | 07:56 | |
masak | nod. | ||
quester | s/avaliable/available/ | ||
diakopter | mmm. zucchini bread and banana bread. | 07:57 | |
masak | we're at a fortuitous point in time where there's very much low-hanging fruit in Rakudo, thanks to the ng merge. | 07:58 | |
diakopter | Perl 6 Junctions are kinda like Icon generators, /me muses | 07:59 | |
masak | and the more spectests we manage to make pass before Thursday, the less of a regression the transition will constitute. | ||
quester | masak: Is it generally better to just reproduce bugs here or send them to RT? When I started I had no idea that the developers kept such a close eye on traffic to/from the rakudo bot. And yes, I've gotten a bit of squashed fruit in my hair that way. | ||
diakopter | masak: oh, I thought you meant the bugreports waiting to be sent were LHF | ||
g'morning | 08:00 | ||
masak | quester: since I try to keep a mental model of the contents of RT, I always appreciate if people who are on the channel anyway signal their submitting a bug somehow, such as with '/me submits rakudobug'. helps avoid duplicates. | ||
diakopter: yeah, that too. :) but I was referring to features. the one I just submitted, with prefix:<?>, ought to be dead simple. g'morning. | 08:01 | ||
08:02
clausi joined
|
|||
diakopter yawn | 08:05 | ||
eth | |||
masak | hugme: hug hugme recursively | 08:06 | |
hugme hugs hugme recursively | |||
masak | lucklily, recursive hugs don't blow the stack. | ||
diakopter | fixed oodles of bugs in sprixel's codegen today. realized (more thoroughly) how these compilation techniques are more widely applicable to compiling functional&imperative languages. | 08:07 | |
masak | diakopter: sounds interesting. if you had a blog, I would be a subscriber. | ||
diakopter | integrating the OPP stressed a lot of the codepaths permutations with which I hadn't yet manually experimented. | 08:08 | |
I do, and you are! it's at irc.pugscode.org | |||
masak | guess I'll have to make do with the c... yes. :) | ||
diakopter | porting AND refactoring/rewriting simultaneously is somewhat error-prone. | 08:09 | |
masak | yes. | 08:10 | |
not sure I'd count that as refactoring, the definition of which involves keeping the phenotype constant :) | |||
diakopter | its behavior is around 50% recognizable | ||
cross-genus fertilization | 08:11 | ||
08:11
iblechbot joined
|
|||
diakopter | eh, more like cross-phylum fertilization. | 08:12 | |
masak | heh, genera and phyla are purely human-made categories anyway :) | 08:13 | |
diakopter | finished up circumfix and postcircumfix... this week I expect to be able to add the precedence level climbing and associativity handling, and I'll also think about list associativity. | 08:15 | |
masak | those things all bear thinking about. I remember having lots of fun doing it, though. | 08:17 | |
diakopter | all the scaffolding for precedences and associativity is there (the proper stack, I mean contentual); it shouldn't take but a couple hours. | 08:18 | |
sleep& | |||
masak | nod. at least in a bottom-up implementation, it all comes down to whether and how many times to reduce before handling the just-matched op or term. | 08:20 | |
08:27
fridim joined
08:29
ignacio_ left
08:35
Schwern left
08:48
lue joined
08:51
fridim left
|
|||
mathw | Morning | 08:51 | |
08:51
fridim joined
08:53
lue left
|
|||
masak | mathw: \o | 08:53 | |
mathw | o/ | ||
quester | Good night, all. Thanks again, masak. | 08:54 | |
masak | quester: g'night! | ||
moritz_ | good morning | ||
masak | moritz_: morning! how goes the writing of papers? | ||
moritz_ | masak: slides, not papers | 08:55 | |
masak: it's making progress | |||
masak | ah. slides. | ||
08:56
quester left
|
|||
masak should start procrastinating slides for OSD in Copenhagen soonish | 08:57 | ||
09:03
finanalyst joined
|
|||
finanalyst | rakudo: my $x="abcd"; say ?($x ~~ /c/) | 09:05 | |
p6eval | rakudo 65e2d3: OUTPUT«1» | ||
finanalyst | rakudo: my $x="abcd"; my $y = "c"; say ?($x ~~ /$y/) | ||
p6eval | rakudo 65e2d3: OUTPUT«0» | 09:06 | |
moritz_ | NYI it seems | ||
finanalyst | I thought the ng - now main - branch was supposed to implement this | ||
09:06
masak` joined
|
|||
moritz_ | nqp-rx does | 09:07 | |
but I've never seen it in ng | |||
09:07
masak left
|
|||
moritz_ | though it should be much easier to implement than in auld master | 09:07 | |
masak` | I've only seen the /{$y}/ case so far, showcased yesterday by jnthn++. | 09:08 | |
09:08
masak` is now known as masak
|
|||
moritz_ | it doesn't try to match the return value of the closure, does it? | 09:09 | |
09:09
chromatic left,
snarkyboojum left
|
|||
masak | no, it just runs the closure. | 09:09 | |
(at that point in the matching process) | 09:10 | ||
moritz_ | rakudo: my $x="abcd"; my $y = "c"; say ?($x ~~ /<{$y}>/) | ||
p6eval | rakudo 65e2d3: OUTPUT«1» | ||
moritz_ | rakudo: my $x="abcd"; my $y = "d"; say ?($x ~~ /<{$y}>/) | ||
p6eval | rakudo 65e2d3: OUTPUT«1» | ||
diakopter | masak: | 09:11 | |
rakudo: ???????????????????????????????????????????????????????????????????????????????? | |||
parse timeout | |||
p6eval | rakudo 65e2d3: ( no output ) | ||
moritz_ | (even the timeout feels quicker today :-) | ||
masak | diakopter: was that directed specifically at me? :) | ||
diakopter | oh oops, 'scuse me | 09:12 | |
masakbot: see above | |||
masak | diakopter: yes, but why? | ||
all I see is you tormenting the implementation... | |||
diakopter | seems to me that's worthy of a bugreport | ||
masak | sure, as soon as I figure out what's wrong with it. | ||
diakopter | (*I'd* want to know about a parse timeout) | ||
moritz_ | mailto:rakudobug@perl.org | 09:13 | |
masak | it's not so much a bug in Rakudo, is it? | ||
diakopter | yesbut | ||
masak | more of a bug in p6eval. | ||
diakopter | LOL | ||
I think I see your point | |||
unfortunately | |||
. | |||
masak | I agree that it'd be nice to have the information in question from p6eval. | 09:14 | |
timeouts are historically difficult to get right in the evalbot. | |||
diakopter | o wait | ||
what | |||
how could that be a bug in p6eval | 09:15 | ||
masak | p6eval waits X seconds to get a result back from Rakudo. | ||
when it gets nothing, it reports 'no output'. | |||
diakopter | I'm confused | ||
rakudo: ??????????? | 09:16 | ||
p6eval | rakudo 65e2d3: OUTPUT«Confused at line 11, near "??????????"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
diakopter | rakudo: ???????????????????????? | ||
p6eval | rakudo 65e2d3: OUTPUT«Confused at line 11, near "??????????"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
masak | I run your 'program' locally, and it gives me 'Confused'. yes, like that. | ||
diakopter | rakudo: ????????????????????????????????? | ||
p6eval | rakudo 65e2d3: OUTPUT«Confused at line 11, near "??????????"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
diakopter | rakudo: ???????????????????????????????????????????????????????? | ||
masak | but throw enough confusion at it, and it won't have time to report its confusion :) | ||
p6eval | rakudo 65e2d3: ( no output ) | ||
diakopter | how long does it take your local one to report Confused on the long one above | 09:17 | |
masak times it | |||
diakopter falls into the clockface | 09:18 | ||
masak | this feels quadratic to me :) | 09:19 | |
diakopter sniffs | |||
moritz_ | so it's still in P :-) | 09:20 | |
masak | add it to the FAQ: consider not writing 80 question marks one after the other in your program. | ||
moritz_: I might be wrong. maybe it's exponential, even. | |||
diakopter | std: ???????????????????????????????????????????????????????????????????????????????? | ||
p6eval | std 29742: OUTPUT«===SORRY!===Found ?? but no !!; possible precedence problem at /tmp/OyMt0rmORS line 1 (EOF):------> ????????????????????????????????????????⏏<EOL> expecting any of: POST bracketed infix infix or meta-infix postfix | ||
.. postfix_prefix_meta_… | |||
masak | STD++ # fast, honest | 09:21 | |
diakopter | std: ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? | ||
p6eval | std 29742: OUTPUT«===SORRY!===Found ?? but no !!; possible precedence problem at /tmp/EwYX5aZ8Ie line 1 (EOF):------> ????????????????????????????????????????⏏<EOL> expecting any of: POST argument list bracketed infix infix or meta-infix | ||
.. postfix postf… | |||
diakopter claps | |||
let me rephrase. | |||
09:22
mssm left
|
|||
diakopter | if I were the parser-generator's/interpreter's author/maintainer, *I'd* want to know about seemingly exponential behavior when parsing 80 question marks. | 09:22 | |
dalek | kudo/master: c3aaa2e | moritz++ | t/spectest.data: turn on two more passing tests |
||
masak | diakopter: waiting for Rakudo to finish parsing 80 question marks, I tend to agree :) | 09:23 | |
masak submits rakudobug | |||
diakopter | pugs: ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? | 09:24 | |
p6eval | pugs: OUTPUT«***  Unexpected "?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????… | ||
diakopter | elf: ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? | ||
p6eval | elf 29742: OUTPUT«Parse error in: /tmp/9i6BePrM5Qpanic at line 1 column 0 (pos 0): Can't understand next input--giving upWHERE: ??????????????????????????????WHERE:/\<-- HERE STD_red/prelude.rb:99:in `panic' STD_red/std.rb:76:in `scan_unitstopper' STD_red/std.rb:224:in `comp_unit' | ||
..STD_red… | |||
diakopter puts the question marks on hiatus | |||
oh, I think I was supposed to be sleeping | 09:25 | ||
masak | Rakudo isn't back with an answer yet locally, and my computer has grown unresponsive. | 09:26 | |
it has now gobbled 1.5 GB of RAM. | |||
diakopter | odd that it could be an infinite loop.... it hasn't run out of memory yet//!??!? | ||
oh | |||
so not quite infinite... | |||
masak | no, but quite resource-intensive... :) | 09:27 | |
diakopter | rakudo: say .88888888888.WHAT | 09:30 | |
p6eval | rakudo 65e2d3: OUTPUT«No applicable candidates found to dispatch to for 'infix:<div>'current instr.: 'perl6;Rat;new' pc 293868 (src/gen/core.pir:32153)» | ||
masak submits rakudobug | 09:31 | ||
moritz_ | rakudo: my $a; $a++ ++; | ||
p6eval | rakudo 65e2d3: OUTPUT«Confused at line 11, near "$a++ ++;"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
masak | std: my $a; $a++ ++ | 09:32 | |
p6eval | std 29742: OUTPUT«===SORRY!===Postfix found where infix expected (omit whitespace?) at /tmp/gZDxl3djpw line 1:------> my $a; $a++ ⏏++ expecting any of: bracketed infix infix infix or meta-infixFAILED 00:01 110m» | ||
diakopter | rakudo: my $a != 3; | ||
p6eval | rakudo 65e2d3: OUTPUT«Use of type object as valuecurrent instr.: 'perl6;Perl6Exception;throw' pc 13865 (src/builtins/Seq.pir:28)» | ||
diakopter | that seems ok I think | ||
masak | feels a bit harsh to die at using a type object as a value, but yes. | 09:33 | |
diakopter | rakudo: my $a eqv $a; | ||
p6eval | rakudo 65e2d3: OUTPUT«Multiple Dispatch: No suitable candidate found for 'is_equal', with signature 'PP->I'current instr.: '&infix:<eqv>' pc 332782 (src/gen/core.pir:46376)» | ||
09:33
sjohnson sets mode: +o masak
|
|||
masak | sjohnson: many thanks. | 09:33 | |
sjohnson | ( `ー´) | 09:34 | |
diakopter | there's that gaim/pidgin/gtk buffer overrun | ||
dalek | kudo/master: e3a4d9a | moritz++ | t/spectest.data: Turn on 18 more passing test files ulimit -v 1048576 perl tools/update_passing_test_data.pl And then looking closer at lines that start with [SPA] |
||
diakopter | I've been meaning to report it to #pidgin | ||
pugs_svn | r29743 | moritz++ | test for RT #63644 now passes | ||
diakopter | masak: is that a bug? my $a eqv $a | 09:35 | |
moritz_ | rakudo: my $a eqv $a | ||
masak | diakopter: looks like it | ||
p6eval | rakudo c3aaa2: OUTPUT«Multiple Dispatch: No suitable candidate found for 'is_equal', with signature 'PP->I'current instr.: '&infix:<eqv>' pc 332782 (src/gen/core.pir:46408)» | ||
masak submits rakudobug | |||
moritz_ | should be True | ||
09:36
mssm joined
|
|||
diakopter | rakudo: 1 !== 1; | 09:37 | |
p6eval | rakudo c3aaa2: OUTPUT«Cannot assign to readonly valuecurrent instr.: '&infix:<=>' pc 15648 (src/builtins/Junction.pir:169)» | ||
diakopter | I don't see the infix:<=> | ||
masak | is there really a !== operator? I thought it was != | 09:38 | |
moritz_ | they are aliases | ||
masak | ok. | ||
moritz_ | you can apply the ! meta operator to infix:<==> | ||
diakopter | pugs: say 1 !== 0; | ||
p6eval | pugs: OUTPUT«1» | ||
diakopter | alpha: say 1 !== 0; | 09:39 | |
p6eval | alpha 30e0ed: OUTPUT«1» | ||
moritz_ resolves a ticket that ng closed | 09:41 | ||
s/closed/fixed/ | |||
09:41
wayland76 joined
|
|||
diakopter | rakudo: say 5 * * | 09:41 | |
p6eval | rakudo c3aaa2: OUTPUT«Method 'Num' not found for invocant of class 'Block'current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)» | ||
moritz_ | rakudo: 5 * *; say "alive" | 09:42 | |
p6eval | rakudo c3aaa2: OUTPUT«Method 'Num' not found for invocant of class 'Block'current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)» | ||
moritz_ | no Whatever currying it seems | ||
diakopter | rakudo: say "alive"; say (5 * *) | ||
p6eval | rakudo c3aaa2: OUTPUT«aliveMethod 'Num' not found for invocant of class 'Block'current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)» | ||
diakopter | rakudo: say "alive"; say (5 * *).WHAT | 09:43 | |
p6eval | rakudo c3aaa2: OUTPUT«aliveMethod 'Num' not found for invocant of class 'Block'current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)» | ||
09:43
sjohnson sets mode: +o wayland76
|
|||
diakopter | rakudo: say 6 >== 2 | 09:45 | |
p6eval | rakudo c3aaa2: OUTPUT«Cannot assign to readonly valuecurrent instr.: '&infix:<=>' pc 15648 (src/builtins/Junction.pir:169)» | ||
diakopter | rakudo: say $_ >== 2 | ||
p6eval | rakudo c3aaa2: OUTPUT«Use of type object as valuecurrent instr.: 'perl6;Perl6Exception;throw' pc 13865 (src/builtins/Seq.pir:28)» | ||
moritz_ | it shouldn't be an exception, just a warning | ||
diakopter | weird.. it's using *any* operator as an assignment operator, not just infix | ||
09:45
quester joined
|
|||
diakopter | I mean, not just non-boolean-returning :) | 09:46 | |
pugs: say $_ >== 2 | |||
p6eval | pugs: OUTPUT«1» | ||
diakopter | alpha: say $_ >== 2 | 09:47 | |
p6eval | alpha 30e0ed: OUTPUT«No applicable candidates found to dispatch to for 'prefix:='in Main (file <unknown>, line <unknown>)» | ||
diakopter | std: say $_ >== 2 | ||
p6eval | std 29742: OUTPUT«===SORRY!===Can't make assignment out of >= because chaining operators are diffy at /tmp/exxpzOapIW line 1:------> say $_ >==⏏ 2FAILED 00:01 106m» | ||
diakopter | ah, a non-LTA error | ||
masak submits rakudobug | 09:48 | ||
jnthn | morning | 09:49 | |
masak | moritz_++ # closing the first RT ticket reported when alpha was master | ||
jnthn: \o | |||
diakopter submits morning | |||
Lo | 09:50 | ||
that's supposed to be me waving g'night | |||
moritz_ | good night | ||
masak | diakopter: g'night! | 09:51 | |
diakopter passes the fuzzer baton to masak | |||
masak | what am I supposed to do with this? it looks like a flashlight. | 09:52 | |
rakudo: say .8.WHAT | |||
p6eval | rakudo c3aaa2: OUTPUT«Rat()» | ||
masak | rakudo: say .88.WHAT | ||
p6eval | rakudo c3aaa2: OUTPUT«Rat()» | ||
masak | rakudo: say .8888.WHAT | ||
p6eval | rakudo c3aaa2: OUTPUT«Rat()» | ||
masak | rakudo: say .88888888.WHAT | ||
p6eval | rakudo c3aaa2: OUTPUT«Rat()» | ||
masak | rakudo: say .888888888.WHAT | 09:53 | |
p6eval | rakudo c3aaa2: OUTPUT«Rat()» | ||
masak | rakudo: say .8888888888.WHAT | ||
p6eval | rakudo c3aaa2: OUTPUT«Rat()» | ||
masak | rakudo: say .88888888889.WHAT | ||
p6eval | rakudo c3aaa2: OUTPUT«No applicable candidates found to dispatch to for 'infix:<div>'current instr.: 'perl6;Rat;new' pc 293196 (src/gen/core.pir:31937)» | ||
09:55
iblechbot left
|
|||
jnthn | masak: Shine light on bugs, of course. | 09:55 | |
masak | jnthn: dang, for a while I was hoping I'd get to tase the bugs. | 09:56 | |
quester | masak: Hello...? | ||
masak | quester: hi...? | ||
quester | I patched the ("1"|"2") bug (or "1" === "2" bug), it's just one line. Could I give it to you now or just wait until tomorrow when I have enough time to wade through the correct patch-submission procedure? | ||
moritz_ | quester: just nopaste the patch somewhere | 09:57 | |
masak | quester: as I said over privmsg, whichever method you prefer. | ||
moritz_ | we currently have enough developers online so that it won't get lost | ||
quester | Okay, give me a minute and I'll nopaste it... | ||
09:58
payload left
|
|||
masak | rakudo: 5 eqv 5 | 09:59 | |
p6eval | rakudo c3aaa2: ( no output ) | ||
moritz_ | rakudo: say abs("-10") | ||
p6eval | rakudo c3aaa2: OUTPUT«10» | ||
masak | rakudo: Mu eqv Mu | ||
p6eval | rakudo c3aaa2: OUTPUT«Multiple Dispatch: No suitable candidate found for 'is_equal', with signature 'PP->I'current instr.: '&infix:<eqv>' pc 332782 (src/gen/core.pir:46408)» | ||
jnthn guesses it updates an operator call name | 10:00 | ||
lisppaste3 | quester pasted "Patch for "1" === "2" and ("1"|"2")" at paste.lisp.org/display/95030 | 10:03 | |
quester | ... and were all patches that easy!!! | 10:06 | |
moritz_ | I currently have another spectest running, when that's finished I'll try the patch | 10:07 | |
masak | oh! I already applied it. | 10:08 | |
(and pushed) | |||
moritz_ | even better :-) | ||
dalek | kudo/master: 4730a80 | masak++ | src/builtins/Str.pir: fixed tailcall to prefix:<?> |
||
pugs_svn | r29744 | moritz++ | remove lots of fudges that rakudo does not need anymore | 10:09 | |
jnthn | moritz++ # getting our test count back up again! :-) | ||
quester | Thanks, everyone. | 10:10 | |
moritz_ | quester++ # patching rakudo | 10:11 | |
10:15
cognominal left
|
|||
quester | Good night, everyone. (For real, this time.) | 10:15 | |
10:17
quester left
|
|||
mathw | what's the test count now? | 10:18 | |
10:20
fridim left,
IllvilJa left
|
|||
jnthn is doing a spectest run at the moment | 10:20 | ||
moritz_ counts | |||
10:22
sjohnson sets mode: +o mathw,
riffraff joined,
payload joined
|
|||
jnthn | hmm | 10:23 | |
t\spec\S16-io\basic-open.t .................................... Failed 4/9 subtests | |||
moritz_ | passed on linux | 10:24 | |
masak | all tests successful here. | 10:25 | |
yay, 4813 tests passing! | |||
jnthn | Whee. | ||
moritz_: oh, it's line-endings issue. | |||
# got: "This is a test line.\r" | |||
# expected: "This is a test line." | |||
masak wonders how an updated rakudo.org/status would look | 10:26 | ||
10:26
wayland76 left
|
|||
moritz_ | 4457 passing tests as counted by test_summary.pl | 10:26 | |
10:27
payload left
|
|||
masak | oh. I should say 4813 tests running, some of which pass and some of which are todo. | 10:27 | |
mathw | bloody line endings | 10:28 | |
10:28
payload joined
|
|||
mathw | this month's rakudo release is going to be a bit of a regression isn't it :) | 10:29 | |
I'm waiting for someone to blog about how it shows Perl 6 has failed | |||
masak | that seems extremely likely. | ||
mathw | we'll have to get out the hugmobile again | 10:30 | |
masak | we have a hugmobile? o.O | 10:31 | |
mathw | of course! | ||
masak tries to picture the hug analogue of images.google.se/images?q=batmobile | |||
10:32
riffraff left
|
|||
masak | the corresponding image search on 'hugmobile' are much less consistent. | 10:32 | |
mathw | that's because it's invisible | 10:33 | |
masak | ooooh. | ||
I don't like riding inside invisible cars. freaks me out. | |||
I look down, and there's the road hurtling by below me, at 110 km per hour. :/ | 10:34 | ||
moritz_ | it seems masak is not used to the autobahn | ||
masak | moritz_: sure, but usually in a visible vehicle. | 10:35 | |
moritz_ | then I'm surprised you only mention 110 km/h :-) | ||
masak | it's what the Swedish main roads usually have as a speed limit. | 10:36 | |
mathw | I remember the autobahn | ||
it was... interesting | |||
given that the speed limit in the UK tops out at 70mph | |||
so people on motorways don't tend to do more than about 85 | 10:37 | ||
10:37
riffraff joined
|
|||
pugs_svn | r29745 | moritz++ | unfudge passing test for rakudo | 10:38 | |
jnthn | rakudo: say Junction ~~ Any | 10:42 | |
p6eval | rakudo 4730a8: OUTPUT«1» | ||
jnthn | No wonder auto-threading is busted! | ||
masak | :D | 10:43 | |
jnthn | Fixed locally. | 10:44 | |
> sub foo($x) { say $x }; foo(1|2) | |||
1 | |||
2 | |||
\o/ | |||
masak | jnthn++ | 10:45 | |
frettled | oohoo | 10:48 | |
jnthn | Heh. We pass test 1 of autothreading.t and then explode. | ||
mathw | it's better than passing none of them :) | 10:51 | |
jnthn | ng: say 0 == Mu | 10:52 | |
rakudo: say 0 == Mu # gah :-) | |||
p6eval | rakudo 4730a8: OUTPUT«Use of type object as valuecurrent instr.: 'perl6;Perl6Exception;throw' pc 13865 (src/builtins/Seq.pir:28)» | ||
10:55
drbean joined
|
|||
jnthn | Oh ouch. | 10:57 | |
rakudo: say Mu ~~ Any | |||
p6eval | rakudo 4730a8: OUTPUT«1» | ||
jnthn | That one is fixed too. | 10:58 | |
However, fixing it causes us to fail tests like... | |||
ok( ?(Mu ?^ 1 == True), '?^ works'); | |||
Because infix:<?^>($x, $y) doesn't let you pass Mu as the first arg with this fixd | 10:59 | ||
*fixed | |||
:-| | |||
masak | that's as it should be, methinks. | 11:00 | |
Mu will probably have its own set of multi variants. | |||
jnthn | > say ?(Mu ?^ 1 == True) | ||
No applicable candidates found to dispatch to for 'infix:<?^>' | |||
11:00
iblechbot joined
|
|||
jnthn is not aMused. | 11:00 | ||
masak: That's going to be...quite a few variants. | 11:01 | ||
We got away with it before since undef ~~ Any. | |||
11:01
IllvilJa joined
|
|||
mathw | Is Junction ~~ Mu? | 11:02 | |
jnthn | Yes | ||
Everything ~~ Mu | |||
mathw | thought so | ||
* ~~ Mu | |||
jnthn | I guess in a sense we want Mu:U variants. | ||
So they only catch undefineds. | |||
But :(Mu:U $x, $y), :($x, Mu:U $y) and :(Mu:U $x, Mu:U $y) feels...well, weird. | 11:03 | ||
masak | rakudo: class A {}; multi sub infix:<~~>(A, Mu) { False }; say A ~~ Mu | 11:04 | |
p6eval | rakudo 4730a8: OUTPUT«0» | ||
jnthn wonders what he's missing | |||
masak | not Everything ~~ Mu :) | ||
mathw | masak: cheat | ||
masak sniggers | |||
jnthn | :-P | ||
mathw | jnthn: it seems like there should be some elegant way of handling this | ||
jnthn | Right. | ||
My dilema is that the patch that fixes up auto-threading is a Parrot one. | |||
The Parrot release goes out today. | 11:05 | ||
If we don't get that patch in, auto-threading will be broken for the release, unless we can find some hack. | 11:06 | ||
If it does go in, however, it breaks some tests we're passing at the moment. | |||
And I don't immediately have a fix for that to hand. | 11:07 | ||
mathw | I think the autothreading fix is more important | ||
you or someone else might fix those other things before we release | |||
(I really shouldn't say 'we', but...) | 11:08 | ||
jnthn | Any other votes? :-) | ||
mathw | but without the Parrot fix, autothreading's busted until next month | ||
11:08
finanalyst left
|
|||
jnthn | In a release, yes. | 11:09 | |
mathw | well, true | 11:10 | |
of course it does depend on if Parrot will accept the patch into the release | 11:11 | ||
jnthn | It's a patch to a bit of p6object (it's ACCEPTS method) that I'm pretty sure will affect nobody else. | 11:12 | |
Especially as the fix is to s/Perl6Object/Mu/, and surely no other HLL will have had an object called Perl6Object at the top of their class hierarchy. :-) | |||
(Plus I have a commit bit, so no trouble getting it in before the release.) | 11:13 | ||
Actually | 11:14 | ||
We're only going to regress on tests in one file. | 11:15 | ||
t\spec\S03-operators\boolean-bitwise.t | |||
The 2 other files I got failures in I think I can patch up | |||
mathw | why is there a class called Perl6Object in Parrot? | ||
jnthn | Since // probably really should accept Mu arguments, since it's the "is this defined" operator. :-) | ||
mathw: There isn't. | |||
mathw | heh yes it should | ||
11:15
riffraff left
|
|||
jnthn | I think a => Mu as a pair constructor should work too. | 11:16 | |
So fixing up the => operator also gets us back the other one. | |||
So yeah, just one test. | |||
mathw | yes, you should be able to put Mu in a pair | ||
jnthn | Right | 11:17 | |
Between those, only need to regress on a couple of tests in that bitwise operator. | |||
mathw | then I'd say it's worth doing | ||
just like I said before | |||
jnthn | Yeah, now I've got it down to 1 test file, I'm more confident. | ||
mathw | And remarkably, this is actually an issue I can understand :) | 11:19 | |
jnthn didn't actually set out to fix up junction auto-threading today, but is glad he caught it before the Parrot release. | 11:21 | ||
Parrot commit done, Rakudo ones coming. | |||
11:22
meppl joined
|
|||
mathw | \o/ | 11:22 | |
hugme: hug jnthn | 11:23 | ||
hugme hugs jnthn | |||
mathw | I do think it's worse to have autothreading broken than a few bitwise operator tests... but that's my priorities being reflected | ||
I've never used a bitwise operator in Perl 6 :) | 11:24 | ||
jnthn | They're only broken if you pass Mu to them anyway. | ||
Only have to skip 2 tets. | 11:25 | ||
pugs_svn | r29746 | jnthn++ | [t/spec] Fudge a couple of tests we're going to temporarily regress for bitwise operators being given Mu; couple of fudges in a junctions test that we can now pass much of again. | 11:29 | |
jnthn | gah, nearly typed "git push origin ng" again! | 11:30 | |
11:31
pmurias joined
|
|||
jnthn | Well, we win back a junctions test file after all that, so a net win. :-) | 11:31 | |
dalek | kudo/master: 2b2da10 | jonathan++ | src/core/operators.pm: Tweak a couple of signatures that should have Mu in. |
11:35 | |
kudo/master: 5aca279 | jonathan++ | build/PARROT_REVISION: Bump PARROT_REVISION to get auto-threading fix. |
|||
kudo/master: 31260a4 | jonathan++ | t/spectest.data: Turn S03-junctions/boolean-context.t back on again. |
|||
mathw | \o/ | 11:36 | |
I used to think, how can you make three commits that quickly | |||
then i realised it's just because you've pushed three commits all at once | |||
and then I remembered how much I love that model | |||
jnthn | git. Making you look like a ninja coder to those who don't know the model. :-) | 11:37 | |
mathw | yes | 11:39 | |
jnthn | OK, so what did I akshaully set out to do today in Rakudo... :-) | 11:43 | |
xinming_ | It seems, perl6 synopsis changed quite a lot. | 11:46 | |
What methods does arglist object will have? | 11:47 | ||
colomon | (wow, that's a lot of backlog this morning!) | 11:48 | |
phenny | colomon: 04:57Z <TimToady> tell colomon I revised the trigbase stuff in the spec yet again, but rakudo is still wrong. :) | ||
jnthn | colomon: \o/ | ||
colomon | \o | 11:56 | |
mathw | o/ | ||
colomon | interesting changes to TrigBase overnight. | 11:58 | |
moritz_ likes it | 12:00 | ||
jnthn | Seems to avoid dealing with strings. | ||
On every call | |||
jnthn thinks he's working out a way to implement prefix:<|> | 12:01 | ||
Let's see if it'll fly. | |||
colomon | \o/ | ||
jnthn: it's always been supposed to be an enum on every call. (or at least, always since I started looking at it last year) | 12:02 | ||
(trigbase, I mean) | |||
Well, last night's work got us a couple more sin.t tests... | 12:03 | ||
jnthn | Nice. | ||
colomon | and the next one that fails fails because I never implemented Complex.asin in ng. | 12:06 | |
12:07
mssm left
|
|||
jnthn | Getting the trig tests back should be a sizable win. | 12:09 | |
colomon | sin.t is up to 1620 here and still running.... | ||
1782 tests, that's the complete file, PASS | 12:10 | ||
jnthn | :-O | ||
\o/ | |||
colomon | It will take a little bit to get them all on-line, but the big question is, do we want to turn on 17,000 more spectests today? Might be worth waiting a day or two, just to give ourselves faster spectest runs. :) | 12:11 | |
12:11
finanalyst joined
|
|||
jnthn | colomon: Let's try and do it before the release. | 12:12 | |
colomon | Yeah, that's what I was thinking. :) | ||
jnthn | It'll look better to say we dropped from 30,000ish to 20,000ish. | ||
colomon | ;) | ||
jnthn | Compared to 30,000ish to 5,000ish. :-) | ||
Of course, we know full well that it's just because trig has Awesome Coverage compared to other areas. :-) | 12:13 | ||
finanalyst | jnthan: I just cloned new rakudo and tried smart matching with a variable. $x ~~ /{$y}/ works but not $x ~~ /$y/. Am I write in assuming the /$y/ form should work? | 12:14 | |
moritz_ | finanalyst: $x ~~ /{$y}/ does not do what you think | ||
jnthn | {$y} is not matching the variable though. | ||
moritz_ | it always matches | ||
12:15
cjk101010 joined
|
|||
jnthn | rakudo: my $y = 'x'; 'xxx' ~~ /$y/; say $/ | 12:15 | |
p6eval | rakudo 31260a: OUTPUT«» | ||
jnthn | hmm | ||
It should work. | |||
finanalyst | rakudo: my $x='abcd'; my $y='c'; my $z='f'; say ?($x~~/{$y}/); say ?($x~~/{$z}/) | 12:16 | |
p6eval | rakudo 31260a: OUTPUT«11» | ||
finanalyst | mmmm | ||
jnthn | oh | ||
It may be a case of NYI | |||
Looking at the PIR code that the regex compiles to. | 12:17 | ||
colomon | It never worked in alpha, did it? | ||
finanalyst | previously, using a variable inside a regex caused an error | ||
jnthn | No. | ||
Right. | |||
Now it *looks* liek it's parsing it as $ y | |||
As in, anchor, followed by literal | 12:18 | ||
colomon | 'Z'zs;a q | ||
qzx | |||
jnthn | colomon: Aye, agree. :-) | ||
colomon | I got up to blow my nose, and my little guy took over the computer keyboard. :) | ||
finanalyst | and there was i trying to figure out some new perl6 golf! | 12:19 | |
moritz_ | colomon: you wouldn't be so egoistic to claim it all for yourself, would you? | ||
colomon | moritz_: claim what? | 12:20 | |
jnthn | std: 'Z'zs;a q | ||
p6eval | std 29746: OUTPUT«===SORRY!===Two terms in a row at /tmp/5CZjYw1eJG line 1:------> 'Z'⏏zs;a q expecting any of: POST bracketed infix infix or meta-infix postfix postfix_prefix_meta_operator statement modifier loopFAILED | ||
..00:01 107m» | |||
moritz_ | colomon: the keyboard | ||
jnthn | Some training to go. :-) | ||
colomon | moritz_: :) | 12:21 | |
finanalyst | I was looking at the ROADMAP now that ng -> main. It could do with a bit of TCL by an active developer. Also I note that REPL is given high priority. Does that include being able to define my @x=<a b c> on one line and then reference it on another line? | 12:26 | |
12:26
araujo joined
|
|||
jnthn | finanalyst: I gave it a little bit, but yes, it needs some more. | 12:27 | |
finanalyst: And yes, that is the big thing we want to achieve in the REPL improvements. | |||
finanalyst | good. i use it alot to understand what can and cant be done | 12:28 | |
12:29
araujo left
12:31
araujo joined
12:32
finanalyst left
12:34
araujo left,
araujo joined
|
|||
colomon has slowed the spectest to a crawl.... | 12:38 | ||
masak | long meeting & | 12:41 | |
12:41
masak left
|
|||
moritz_ | I suddenly get Bad plan in S03-junctions/boolean-context and S32-num/sign.t | 12:42 | |
jnthn | oddness | 12:44 | |
I wonder if I messed up fudging of the junctions one. | |||
dalek | kudo/master: 0afe11b | moritz++ | t/spectest.data: list-quote-junction.t now passes again |
||
jnthn | oh | ||
the plan is 1..45 and we get to 47 | |||
huh. | |||
colomon | reverse seg fault bug. ;) | 12:45 | |
jnthn | oh | ||
colomon | it randomly writes additional tests for you. | ||
jnthn | There's a DOES 3 further up | ||
pugs_svn | r29747 | jnthn++ | [t/spec] Add a missing #?DOES to fix up test count. | 12:46 | |
jnthn | moritz_: That's one of 'em sorted out, at least. Not sure on the sign.t | ||
moritz_ | Nominal type check failed for parameter '$x'; expected Any but got Mu instead | 12:48 | |
current instr.: 'sign' pc 232299 (src/gen/core.pir:8530) | |||
in sign.t | |||
colomon | I've just fixed all the turned off Complex trig functions here, and locally turned on the trig tests again. But it's time to go skiing, so it'll be a few hours before I can report results. :) | 12:49 | |
moritz_ | I wonder if the test is valid | ||
sign(Mu) | |||
sign(Int) should work | |||
jnthn | colomon: Have fun! | ||
moritz_: Oh. That's probably a victim of the fix I did to ensure that Mu ~~ Any is false...I get fails in sign.t due to NaN issues though, so I musta not noticed it. | 12:50 | ||
pugs_svn | r29748 | moritz++ | [t/spec] change sign(Mu) to sign(Int) | ||
12:50
_jaldhar left
|
|||
moritz_ | jnthn: are undefined values excluded from type checks? | 12:51 | |
jnthn | No | ||
moritz_: I wonder if they should be. | |||
moritz_ | well | ||
jnthn | I mean, undef before was a special case. | ||
moritz_ | Mu ~~ Any # type-checks an undefined value | 12:52 | |
jnthn | Yeah... | 12:53 | |
The problem was that all defined things were matching Any | |||
Which broke junction auto-threading. | |||
ooh, btw: | |||
> our sub foo($a, $b, :$c) { say "$a $b $c"; } | |||
> my $c = \(1,2,:c(3)); foo(|$c) | |||
1 2 3 | |||
(We never had that one working before. :-)) | 12:54 | ||
moritz_ | wow | ||
jnthn | foo(|@a) and foo(|%h) should just be degernate cases of that now | 12:56 | |
yay, those two work as well :-) | 12:58 | ||
takadonet | morning all | 13:03 | |
13:03
bluescreen joined
13:04
orafu left,
orafu joined
|
|||
jnthn | morning, takadonet | 13:04 | |
dalek | kudo/master: a6e4c1f | jonathan++ | src/ (3 files): Get prefix:<|> working in argument lists. All of foo(|@a), foo(|%h) and foo($c) work - the last of those never worked properly in alpha (it now passes along both positional and named parts of the capture). |
13:07 | |
takadonet | nicely done jnthn | 13:08 | |
jnthn | Hopefully. :-) | ||
We'll see how it holds up. :-) | |||
13:09
dakkar left
|
|||
moritz_ | to the masak bombardement? | 13:09 | |
jnthn | Indeed. | ||
I'll have a look at S02-builtin-data-types/capture.t later on. | 13:10 | ||
Lunch and then Slovak class/test now. | |||
13:11
dakkar joined
|
|||
moritz_ | whenever I write 'while (my ($k, $v) = each %hash) { ... }' in Perl 5 I *so* miss Perl 6 | 13:12 | |
pmichaud | good morning, #perl6 | 13:19 | |
moritz_ | \o/ | 13:20 | |
jnthn | morning Pm | 13:22 | |
moritz_ | jnthn: good luck with your test | 13:23 | |
jnthn | moritz_: Thanks! :-) | 13:25 | |
13:26
bluescreen left
|
|||
jnthn afk | 13:26 | ||
mathw | woo | 13:32 | |
exciting stuff since I wandered off, I see | |||
13:33
brunov joined
13:36
crazed left
13:37
crazed joined
13:40
iblechbot left
13:41
bluescreen joined,
payload left
13:46
pmurias left
13:49
payload joined
|
|||
pmichaud | on the prefix:<?> fix.... shouldn't that be &prefix:<?> ? | 13:50 | |
moritz_ | rakudo: say (3 == 3).WHAT | 13:51 | |
p6eval | rakudo a6e4c1: OUTPUT«Bool()» | ||
mathw | \o/ | ||
moritz_ | seems to work as is - or do I misremember the place where it matters? | ||
pmichaud | I just know that internally we prefix all of our subs (including operators) with & now. | ||
and 4730a80 doesn't seem to be doing that. | 13:52 | ||
PerlJam | greetings. | ||
pmichaud | greetings, PerlJam | ||
PerlJam | What's new? | ||
moritz_ | about 20 new passing test files | 13:53 | |
mathw | jnthn fixed some things in master | ||
it was exciting | |||
PerlJam | moritz_: \o/ | ||
mathw | there was lots of test poking | ||
it's a great spectator sport, this | |||
13:58
lue joined
13:59
lue left
14:04
wanradt_ joined
14:08
arlinius left
14:10
huf is now known as tokensuggester,
[synth] joined
14:14
synth left,
wanradt_ left,
Guest4533 left,
kaare joined
14:15
kaare is now known as Guest166
14:25
xomas joined,
xomas left,
xomas joined
14:28
dakkar left
14:33
lue joined
|
|||
dalek | kudo/master: fd288ff | pmichaud++ | src/builtins/Str.pir: Internal call in Str.pir to prefix:<?> should have &-prefix. |
14:41 | |
lisppaste3 | colomon pasted "results of spectest run while skiing" at paste.lisp.org/display/95043 | ||
14:42
wanradt_ joined
|
|||
moritz_ | so... they all die somewhere inbetween? | 14:42 | |
14:46
ignacio_ joined
|
|||
colomon | moritz_: Half of them die. (versus all of them dying this morning.) | 14:46 | |
and "Tests=19066" even with half of the trig tests dying mid-test. | |||
14:46
lue left
|
|||
colomon | I'm taking a pause to bring my master up-to-date, there have been a lot of changes since the last time I pulled. :) | 14:47 | |
Then I'll take a look at fixing the remaining trig issues. | |||
pugs_svn | r29749 | moritz++ | [t/spec] two unfudges for rakudo (prefix:<|> and .grep with junctions | 14:48 | |
r29750 | colomon++ | Take off a now-incorrect argument type declaration, and clean up test descriptions a bit. | 14:49 | ||
14:49
jackyf joined
|
|||
colomon | blast, forgot the [t/spec] | 14:49 | |
we bumped parrot again? | 14:53 | ||
mathw | jnthn bumped parrot earlier to require the fix he put in there which restored autothreading in master | 14:54 | |
don't ask me why a parrot fix was needed, I didn't understand that bit | |||
pmichaud | bumping parrot is actually fairly common | 14:55 | |
it's only in the last 2-3 months that it's been uncommon, mainly because we've been redoing things that didn't impact parrot | |||
mathw | which is good, because it indicates growing maturity in parrot | 14:56 | |
pmichaud | maybe. | 14:57 | |
mathw | or alternatively a disturbing lack of parrot development, but I don't think it's that :) | ||
pmichaud | actually, from an HLL perspective I suspect that it is that. | ||
colomon | or more likely, a temporary immaturity in rakudo development. ;) | ||
mathw | because the HLL interfaces aren't changing? | ||
pmichaud | chromatic++ has been good about pushing parrot development from a hll perspective, but not much else | ||
mathw: because rakudo has been focusing on redoing "simple" things, and not anything that pushes its own boundaries or the boundaries of parrot | 14:58 | ||
mathw | ah | ||
:( | |||
14:59
uniejo left
|
|||
pmichaud | as we're starting to move the new rakudo version along into more complex things and catch up with the Perl 6 spec, I suspect we'll see more impacts on parrot (and thus more PARROT_REVISION bumps) | 14:59 | |
15:00
UjinT34 left
|
|||
mathw | \o/ | 15:01 | |
15:03
tokensuggester is now known as huf
|
|||
dalek | kudo/master: 626ff56 | pmichaud++ | src/Perl6/Grammar.pm: Add a more useful nyi error message for supersede. |
15:04 | |
colomon | Hmmm, wonder why master doesn't have Num.acosec? | ||
15:07
tjc joined
|
|||
moritz_ | because nobodoy implemented it? | 15:08 | |
15:09
dugg joined
|
|||
colomon | moritz_: more precisely, because I didn't port it from alpha. until just now. | 15:09 | |
jnthn back | |||
pmichaud | wb jnthn++ | 15:10 | |
jnthn | yay it's pmichaud++ :-) | ||
ooh, somebody wanted me in the backscroll... | |||
dalek | p-rx: 5c81874 | pmichaud++ | build/PARROT_REVISION: Bump PARROT_REVISION. |
15:13 | |
p-rx: 7db921a | pmichaud++ | (2 files): Add simple form of \cnnn processing. |
|||
p-rx: 9bf03df | pmichaud++ | (2 files): Add \c[nn,nn,nn] form of character specification. |
|||
jnthn | pmichaud: Mwaha...is that the named character thing that there's hundreds of tests for? :-) | 15:14 | |
jnthn survived his test o/ | |||
Need a cuppa...then I can hack again. :-) | 15:15 | ||
15:15
wanradt_ left
|
|||
pmichaud | .u A | 15:19 | |
phenny | U+0041 LATIN CAPITAL LETTER A (A) | ||
pmichaud | .u o | 15:20 | |
phenny | U+006F LATIN SMALL LETTER O (o) | ||
pmichaud | .u | ||
phenny | pmichaud: 1 SPACE (U+0020) | ||
pmichaud | .u 3 | 15:21 | |
phenny | U+0033 DIGIT THREE (3) | ||
jnthn | .u ҉ | 15:22 | |
phenny | U+0489 COMBINING CYRILLIC MILLIONS SIGN (҉) | ||
jnthn | .u ≸ | 15:24 | |
phenny | U+2278 NEITHER LESS-THAN NOR GREATER-THAN (≸) | ||
dalek | p-rx: b72372c | pmichaud++ | (2 files): Add \c[UNICODE CHAR NAME] literals. |
||
jnthn | ...otherwise know as equals? ;-) | ||
colomon | So apparently most of the trig file failures at this point reflect functions I skipped when I ported the Num trig functions to ng. | ||
15:25
alester joined
|
|||
jnthn | colomon: Does that mean it's just a simple matter of implementing those ones? :-) | 15:25 | |
colomon | jnthn: Bingo. | 15:26 | |
I've already got three of them working again. | |||
jnthn | \o/ | ||
mathw | colomon++ | ||
colomon | sec looks like it will be more trouble, so I skipped it for the moment. and cosec blew a zillion tests (possible because of sec). | 15:27 | |
hmmm, cotanh just blew a bunch of tests too, maybe that last one-liner wasn't actually right.... :\ | 15:28 | ||
oh, right, missed the letter "a" in there. *blushes* | 15:30 | ||
ooo, still problems though. Interesting, this one is being tricksy. | 15:32 | ||
bbkr | .u Ł | 15:33 | |
phenny | U+0141 LATIN CAPITAL LETTER L WITH STROKE (Ł) | ||
bbkr | yay :) | ||
jnthn | nqp: say "\c[LATIN CAPITAL LETTER L WITH STROKE]" | 15:34 | |
p6eval | nqp: OUTPUT«Confused at line 1, near "say \"\\c[LA"current instr.: 'parrot;HLL;Grammar;panic' pc 500 (src/cheats/hll-grammar.pir:197)» | ||
jnthn | aww | ||
ETOOSOON | |||
dalek | p-rx: 61e9bd4 | pmichaud++ | src/Regex/P6Regex/ (2 files): Add \c[...] literals to regexes. |
15:35 | |
pmichaud | nqp: say("\c[LATIN CAPITAL LETTER L]") | 15:37 | |
p6eval | nqp: OUTPUT«» | ||
pmichaud | too soon (earlier attempt forgot parens on "say") | ||
nqp: say("\c65") | |||
p6eval | nqp: OUTPUT«» | ||
15:40
justatheory joined
15:43
nihiliad joined,
mssm joined
|
|||
diakopter | oh, I might've disabled the nqp updating/rebuilding | 15:49 | |
re-enabled | 15:51 | ||
sigh. too many parrots. | 15:52 | ||
src/ops/core_ops_switch.c:14268: warning: dereferencing type-punned pointer will break strict-aliasing rules | 15:53 | ||
pugs_svn | r29751 | jnthn++ | [t/spec] Re-fudging of capture.t; we pass more of it than alpha ever did. :-) | ||
jnthn | That's just not punny. | 15:54 | |
15:56
hudnix left,
Psyche^ joined
|
|||
diakopter | ./parrot runtime/parrot/library/PGE/Perl6Grammar.pir --output=compilers/pge/PGE/builtins_gen.pir compilers/pge/PGE/builtins.pg | 15:57 | |
15:57
clausi left
|
|||
diakopter | Unknown PMC type to thaw 0 | 15:57 | |
current instr.: 'parrot;PGE;Perl6Grammar;Compiler;__onload' pc 24 (runtime/parrot/library/PGE/Perl6Grammar.pir:76) | |||
15:57
jferrero joined
|
|||
diakopter | make: *** [runtime/parrot/library/PGE.pbc] Error 1 | 15:57 | |
===SORRY!=== | |||
dalek | kudo/master: 2795c05 | jonathan++ | t/spectest.data: Turn S02-builtin_data_types/capture.t back on. |
15:58 | |
15:59
hudnix joined
16:01
Patterner left,
Psyche^ is now known as Patterner
|
|||
diakopter | (trying to build parrot again) | 16:08 | |
nqp: say("\c65") | 16:11 | ||
p6eval | nqp: OUTPUT«A» | ||
diakopter | nqp: say("\c[LATIN CAPITAL LETTER L]") | ||
p6eval | nqp: OUTPUT«L» | ||
diakopter | nqp: say("\c[NEITHER LESS-THAN NOR GREATER-THAN]") | ||
p6eval | nqp: OUTPUT«≸» | ||
jnthn | nqp: say("\c[REVERSED ROTATED FLORAL HEART BULLET]") | 16:14 | |
p6eval | nqp: OUTPUT«☙» | ||
jnthn | nqp: say("\c[GAS PRINCESS]") | 16:15 | |
p6eval | nqp: OUTPUT«Unrecognized character name GAS PRINCESScurrent instr.: 'parrot;HLL;Actions;charname' pc 17150 (gen/hllgrammar-actions.pir:1)» | ||
jnthn | aww! | ||
Whee. | 16:16 | ||
> our sub foo(|$c) { say $c[0]; say $c[1]; say $c<a>; } | |||
> foo(4, 2, :a(99)) | |||
4 | |||
2 | |||
99 | |||
colomon | Off to fetch noms, but I'm going to leave spectest running with trig turned on again to see where we are now. | 16:18 | |
pmichaud | oh, I can do better on the error message there. | 16:20 | |
jnthn | Awesomize! | 16:23 | |
dalek | p-rx: 42d216f | pmichaud++ | src/stage0/ (3 files): Update bootstrap files. |
||
pmichaud | yes, it should at least give the line number | ||
jnthn | Yeah | ||
Oh Awesome. | 16:24 | ||
> our sub foo(|$c ($p, :$a)) { say "Cap: {$c[0]} {$c<a>}"; say "UnP.: $p $a"; } | |||
> foo(4, :a(2)) | |||
Cap: 4 2 | |||
UnP.: 4 2 | |||
Capture unpacks. :-D | 16:25 | ||
pmichaud | Win! | ||
TimToady | \o/ | ||
PerlJam | Are we using () now for packing/unpacking instead of [] ? | 16:26 | |
jnthn | PerlJam: Depends what you want to unpack. | ||
16:26
uniejo joined
|
|||
TimToady | they're much the same, but [] emphasizes linear listiness | 16:27 | |
jnthn | PerlJam: A signature :([...]) will (should!) tell the multi-dispatcher that it wants Positional there too, I think. | ||
PerlJam | will sub foo (($head, *@tail)) { ... } work? | ||
pmichaud | > say ?('A' ~~ /<isLu>/) | ||
1 | |||
> say ?('a' ~~ /<isLu>/) | |||
0 | |||
...excellent :) | |||
jnthn | Lu? | 16:28 | |
pmichaud | "Letter uppercase" | ||
PerlJam | er, the call would be foo(@array) | ||
jnthn | Ah :-) | ||
TimToady | it shouldn't work without *$head | ||
pmichaud | there are ~1K tests of unicode character properties | ||
TimToady | that is, the array would be bound as a whole to $head otherwise | ||
jnthn | PerlJam: Don't think so. | ||
PerlJam | TimToady: okay, but the "extra" parens don't tend to evaporate as they do in Perl 5 ? | ||
jnthn | TimToady: The extra parens in there probably mean something, mind... | 16:29 | |
rakudo: sub foo (($head, *@tail)) { say $head; } my @x = 1,2,3; foo(@x) # wonder... | |||
p6eval | rakudo 2795c0: OUTPUT«Confused at line 11, near "sub foo (("current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
jnthn | std: sub foo (($head, *@tail)) { say $head; } my @x = 1,2,3; foo(@x) # wonder... | ||
p6eval | std 29751: OUTPUT«===SORRY!===Missing semicolon or comma after block at /tmp/XOnL9dwo6g line 1:------> ub foo (($head, *@tail)) { say $head; } ⏏my @x = 1,2,3; foo(@x) # wonder... expecting any of: bracketed infix infix or meta-infix statement | ||
..modifier lo… | |||
jnthn | oh duh | 16:30 | |
rakudo: sub foo (($head, *@tail)) { say $head; }; my @x = 1,2,3; foo(@x) # wonder... | |||
p6eval | rakudo 2795c0: OUTPUT«1» | ||
jnthn | heh. | ||
It works because the nested parens imply it's a subsignature on the first argument, I guess. | |||
diakopter | rakudo: sub foo ((($head, *@tail))) { say $head; }; my @x = 1,2,3; foo(@x) # wonder... | ||
p6eval | rakudo 2795c0: OUTPUT«Method 'list' not found for invocant of class 'ResizablePMCArray'current instr.: 'perl6;ClassHOW;attributes' pc 3520 (src/metamodel/ClassHOW.pir:48)» | ||
PerlJam | so ... that's what I thought would happen, but it's surprising (to me) that it be that way. | 16:31 | |
jnthn | diakopter: heh hen. | ||
*heh | |||
diakopter: I'm not quite sure what it's doing there. :-) | |||
pmichaud | well, '.list' is still suspect in rakudo | 16:32 | |
I'll work on that some more after lunch. | |||
jnthn | Ah, OK. | ||
I need to re-visit the object introspection. | |||
diakopter | commute& | ||
jnthn | (Not put much effort into it yet...) | 16:33 | |
Whee, we pass all but one of capture.t now :-) | |||
jnthn notes that between c[...] and trig, we could potentially win back an awful lot of tests today | 16:35 | ||
pmichaud | and .sort should be on deck as well :) | ||
jnthn | \o/ | ||
That capture stuff knocks another lump of work of my "last bits my grant needs" list. :-) | 16:36 | ||
In fact, the only major task left now is the | |||
TimToady | the problem with allowing () subsigs any old where is it makes it impossible to catch the -> () {...} braino | ||
jnthn | my (...signature here...) := foo() | ||
TimToady | which we're going to get a lot of, given that Ruby made it optional | ||
jnthn | TimToady: I was a little surprised we used (...) sub subsigs and not {...} when I first saw them, or didn't require a : on the start, fwiw. | 16:37 | |
TimToady: "just parens" surprised me. | |||
TimToady | we can't use {...} because then we can't detect the { that ends a -> sig | ||
jnthn | s:1st/sub/for/ | ||
Good point. | |||
Can we require the colon before them? | |||
PerlJam | +1 require colon | 16:38 | |
TimToady | and the spec actually only docs the () form after a $top | ||
we could, though people will then write $foo:(stuff) and get confused | |||
jnthn | I thought I copied from std. :-P | ||
TimToady | you probably did | ||
jnthn | I'd expect people to write $foo :(stuff) | 16:39 | |
Unless they were being stingy with the spacebar | |||
Or does it mean something different without the space? | |||
TimToady | any identifier may be continued with an adverb | ||
jnthn | oh? | 16:40 | |
TimToady | Module:ver<1.2.3> | ||
PerlJam | Can we give a reasonable message when they do $foo:(stuff) ? | ||
TimToady | yes | ||
jnthn | std: my $foo:ver(1) = 42; | ||
p6eval | std 29751: OUTPUT«ok 00:01 107m» | ||
dalek | p-rx: 4fc27f3 | pmichaud++ | src/HLL/Actions.pm: Unrecognized charname should .panic instead of pir::die. |
||
p-rx: bbfd1a7 | pmichaud++ | src/stage0/ (3 files): Update bootstrap with improved panic message for charnames. |
|||
jnthn | wtf! | ||
PerlJam | Hmm. | ||
jnthn | I'm not sure if that's awesome or horrid. :-) | ||
std: my $foo:ver(1) = 42; say $foo; | 16:41 | ||
pmichaud | "Yes." | ||
p6eval | std 29751: OUTPUT«ok 00:01 107m» | ||
PerlJam | jnthn: I lean towards "awesome" on that one :) | ||
jnthn | std: my $foo:ver(1) = 42; my 4foo:ver(2) = 69; say $foo; | ||
p6eval | std 29751: OUTPUT«===SORRY!===Malformed my at /tmp/WR3WZStLTf line 1:------> my $foo:ver(1) = 42; my ⏏4foo:ver(2) = 69; say $foo; expecting scoped declaratorFAILED 00:01 107m» | ||
jnthn | std: my $foo:ver(1) = 42; my $foo:ver(2) = 69; say $foo; | ||
p6eval | std 29751: OUTPUT«ok 00:01 107m» | ||
PerlJam | awesome in a perly way | ||
jnthn | Which $foo? :-) | ||
Juerd | What is :ver? Are those versioned variables? | 16:42 | |
jnthn | Juerd: Any adverb will do. | ||
Juerd | my $ver = $foo.commit; | ||
jnthn | Juerd: I just thought version variables were a mind-bendingly curious idea. :-) | ||
Juerd | my $diff = $foo:ver($ver - 1).diff; | 16:43 | |
:P | |||
TimToady | S02:3139 | ||
Juerd | $foo:ver(42).tag("Release 0.05") | ||
pugs_svn | r29752 | jnthn++ | [t/spec] Unfudge a bunch of capture tests that we can now pass. :-) | 16:44 | |
TimToady | one of the reasons we got rid of :by was that I knew people were going to write 1..$x:by(3) | ||
dalek | kudo/master: 13ccd20 | jonathan++ | src/b (2 files): Implement captures in signatures. |
||
TimToady | std: my $x = 100; say 1..$x:by(3); | ||
p6eval | std 29751: OUTPUT«Potential difficulties: Variable $x:by(3) is not predeclared at /tmp/jziosL12Qy line 1:------> my $x = 100; say 1..$x:by(3)⏏;ok 00:01 107m» | 16:45 | |
Juerd | I still do think :by is easier to grasp at first, but the ... thing is much nicer overall. | ||
pmichaud | oh, I like 1, 4, 7 ... $x better :) | ||
(yes, that assumes $x > 7) | |||
Juerd | pmichaud: I think non-programmers will guess what it means, and programmers will stare at it and eventually look up the ... operator, and then facepalm themselves. | 16:46 | |
pmichaud | Juerd: sounds like we're hitting our target, then :) | ||
jnthn | rakudo: my @a = 1, 1, 2, 3, 5, 8, ... *; for 1..10 { say @a[$_] } | ||
p6eval | rakudo 2795c0: OUTPUT«No exception handler and no messagecurrent instr.: '&fail' pc 15882 (src/builtins/Junction.pir:299)» | ||
TimToady | me too, I think I'll go back in time and tell my older self to spec it...hang on...done | ||
jnthn | Aww! | ||
TimToady | now, we don't do fibonacci | ||
*no | |||
jnthn | Worth a try. :-) | ||
PerlJam | TimToady: tell you're *older* self back in time? | 16:47 | |
Juerd | no fibonacci; # program dies when Perl detects any fibonacci sequence | ||
pmichaud | and there was an extra comma | ||
PerlJam | TimToady: oh, right ... you're Doctor Who | ||
pmichaud | actually, TimToady is not of the mortal realm, according to some presentations I've seen :) | ||
TimToady | well, or the real Merlyn | ||
16:47
iblechbot joined
|
|||
TimToady | std: my @a = 1, 1, 2, 3, 5, 8, ... *; for 1..10 { say @a[$_] } | 16:47 | |
p6eval | std 29751: OUTPUT«ok 00:01 108m» | 16:48 | |
PerlJam | pmichaud: does the extra comma hurt? Seems like another one of those places where Perl should be smart enough to DTRT | ||
TimToady | it fails when it evaluates the ... | ||
so likely to be detected eventually | |||
pmichaud | because the ... is in term position, and that means something else. | ||
PerlJam | of course, if it works, then you'll have people doing this too: my @a = 1, 1, 2, 3, 5, 8, ..., *; | 16:49 | |
TimToady | anyway, fibonacci is just 1,1...&[+] anyway | ||
I wonder if we can force *+* to do that somehow | 16:52 | ||
jnthn | rakudo: my @a = 1, 1 ... &infix:<+>; for 1..10 { say @a[$_] } | ||
p6eval | rakudo 2795c0: OUTPUT«Symbol '&infix:<+>' not predeclared in <anonymous>current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)» | ||
jnthn | damm | ||
fail | |||
PerlJam | Perl 6 is where all the Tolkien quotes belong. A "regular" programming language is just the story of one character, Perl 6 is the story of a whole host of characters of varying species. | ||
TimToady | if we rename WhateverCode to Curry1, then a Curry1 could produce a Curry2 | 16:54 | |
except it's really a kind of anticurry | 16:56 | ||
in *+2 it's the 2 that's the curried arg | 16:57 | ||
not the * | |||
16:57
tjc left
|
|||
TimToady | maybe Whatever1 and Whatever2 | 16:58 | |
pmichaud | Thing1 and Thing2 | ||
TimToady | or Whatever[$n] as generic | ||
pmichaud | whee!! t/spec/S05-mass/properties-general.t passes! | 17:02 | |
All tests successful. | 17:03 | ||
Files=1, Tests=594, 91 wallclock secs ( 0.07 usr 0.00 sys + 84.48 cusr 6.74 csys = 91.29 CPU) | |||
dalek | kudo/master: 79e7b62 | pmichaud++ | build/PARROT_REVISION: Bump PARROT_REVISION to get latest \c[...] fixes. |
||
kudo/master: fdcde82 | pmichaud++ | (3 files): Add <isLu> and other <isProp> subrules. |
|||
kudo/master: cdf816d | pmichaud++ | src/b (2 files): Merge branch 'master' of [email@hidden.address] |
|||
kudo/master: 6ef9f8e | jonathan++ | t/spectest.data: S12-class/basic.t should not be in the regressed files list - we run it. |
|||
kudo/master: b73e000 | pmichaud++ | t/spectest.data: Merge branch 'master' of [email@hidden.address] |
|||
TimToady | to generalize, we need the arg that *isn't* Whatever to accept a Whatever[n] and do the correct transform to Whatever[n+1] | ||
and this is starting to sound more like the autothread-outside-of-Any kind of deal | 17:04 | ||
jnthn | pmichaud: Nice! :-D | ||
pmichaud | of course, it takes 1.5 minutes to run the test... but it passes! | ||
17:05
k23z__ joined
|
|||
TimToady | such that you only write Whatever args if you want to capture control of it, but otherwise let the system rewrite your currying for you | 17:05 | |
but for now, I think we should conservatively say that *+* is illegal, rather than taking it to mean {$^a + $^a} | 17:06 | ||
pmichaud | rakudo: say "\c[LATIN CAPITAL LETTER A]" | 17:07 | |
p6eval | rakudo 13ccd2: OUTPUT«» | ||
pmichaud | not yet updated, I guess. | ||
TimToady | currying two different args will be more powerful | ||
pmichaud | rakudo: say "\c65" | ||
p6eval | rakudo 13ccd2: OUTPUT«» | ||
pmichaud | oh well | ||
lunch tie | |||
TimToady | and then we could write fib as 1,1 ... *+* | ||
pmichaud | *time | ||
TimToady | and then maybe we don't have to put in a special rule that &[op] is binary even if op is list associative | 17:08 | |
or maybe the compiler should simply know what it can curry at compile time | 17:09 | ||
since speed would be kinda nice | 17:10 | ||
and then anything the compiler doesn't recognize falls back to runtime Whatever dispatch | |||
PerlJam | Would that be the only construct that triggers a compiler time curry? | 17:12 | |
TimToady | Arity[1] and Arity[2] maybe | ||
PerlJam | We still have the closure form for other stuff though, right? So I guess that's all that matters. | 17:13 | |
TimToady | PerlJam: we don't need a lot of them, given {$^a+$^b} is also available | ||
PerlJam | right. | ||
+1 compile time curry :) | |||
TimToady | and it might be culturally frowned upon to overuse * * * | 17:14 | |
PerlJam | though I'm still leery of too many syntactic shenanigans | ||
TimToady | this seems to be settling in to a very common idiom, however | 17:15 | |
and see how often currying is used in, say, Haskell | |||
but they have to do tricks like (x+) to indicate missing args | 17:16 | ||
$x + * is much clearer | |||
17:17
pjcj joined
|
|||
TimToady | well, something to think about, anywhoo | 17:19 | |
I guess the way to disable any current *+* recognition is to remove sigs that recognize WhateverCode | 17:20 | ||
either that, or give them the Arity2 semantics | 17:21 | ||
in any case, probably should fix the spec first | 17:22 | ||
jnthn | .oO( mmm...curry ) |
17:24 | |
17:28
pausenclown_ joined
|
|||
pausenclown_ | hi | 17:28 | |
17:28
ignacio_ left
|
|||
pausenclown_ | alpha: grammar X { rule TOP { \[ \# {*} } }; class X { }; XML::Parser::Chars::Grammar.parse( "[#x0041-#x005A] | [#x0061-#x007A] | [#x0030-#x0039] | #x002D | #x002E | #x005F", :action( X.new ) ); | 17:28 | |
p6eval | alpha 30e0ed: OUTPUT«Re-declaration of type X at line 10, near "; XML::Par"in Main (file src/gen_setting.pm, line 1671)» | ||
pausenclown_ | alpha: grammar X { rule TOP { \[ \# {*} } }; class X { }; X.parse( "[#x0041-#x005A] | [#x0061-#x007A] | [#x0030-#x0039] | #x002D | #x002E | #x005F", :action( Y.new ) ); | ||
p6eval | alpha 30e0ed: OUTPUT«Re-declaration of type X at line 10, near "; X.parse("in Main (file src/gen_setting.pm, line 1671)» | ||
pausenclown_ | alpha: grammar X { rule TOP { \[ \# {*} } }; class Y { }; X.parse( "[#x0041-#x005A] | [#x0061-#x007A] | [#x0030-#x0039] | #x002D | #x002E | #x005F", :action( Y.new ) ); | 17:29 | |
p6eval | alpha 30e0ed: ( no output ) | ||
pausenclown_ | alpha: grammar X { rule TOP { \[ \# {*} } }; class Y { }; say X.parse( "[#x0041-#x005A] | [#x0061-#x007A] | [#x0030-#x0039] | #x002D | #x002E | #x005F", :action( Y.new ) ); | ||
p6eval | alpha 30e0ed: ( no output ) | ||
pausenclown_ | rakudo: grammar X { rule TOP { \[ \# {*} } }; class Y { }; say X.parse( "[#x0041-#x005A] | [#x0061-#x007A] | [#x0030-#x0039] | #x002D | #x002E | #x005F", :action( Y.new ) ); | 17:30 | |
p6eval | rakudo 13ccd2: OUTPUT«Symbol '$ss_SS_S_S__S_S_s' not predeclared in <anonymous>current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)» | ||
17:30
vojnet joined
|
|||
pugs_svn | r29753 | jnthn++ | [t/spec] Correct mistake in array unpacking test, and make it work without reduction operator. | 17:34 | |
dalek | kudo/master: ed95e25 | jonathan++ | t/spectest.data: Add S06-signature/unpack-array.t to spectest.data. |
17:38 | |
kudo/master: f5d9b53 | jonathan++ | (2 files): Add a first cut implementation of infix:<xx> so we can pass all of S03-operators/repeat.t again. |
|||
diakopter | rakudo: my $foo:ver(1) = 42; my $foo:ver(2) = 69; say $foo; | 17:39 | |
p6eval | rakudo b73e00: OUTPUT«Symbol '$foo' not predeclared in <anonymous>current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)» | ||
jnthn | rakudo: my $foo:ver(1) = 42; say $foo:ver(1) | 17:40 | |
p6eval | rakudo b73e00: OUTPUT«42» | ||
jnthn | Wow. | ||
Copying STD FTW. | |||
PerlJam | that error message doesn't make sense though. | 17:42 | |
jnthn | I'm not sure whether it should be an error. | ||
17:42
Trashlord joined
|
|||
jnthn | I figure it should be. | 17:42 | |
In which case I guess the error isn't so weird. | |||
PerlJam | dunno. i'm not a language designer :) | 17:43 | |
17:43
cosimo joined
|
|||
PerlJam | jnthn: If I've said "my $foo..." and it's complaining about the $foo symbol not predeclared, I'm going to be confused at least once. | 17:44 | |
so, the message is LTA, if expected | |||
17:46
stephenlb joined
|
|||
TimToady | mind you, the symbol installer should canonicalize all those adverbs so that $x:(1) means the same as $x:( 1 ) | 17:48 | |
and such | |||
and STD doesn't do that yet | |||
std: my $x:(1); say $x:( 1 ) | |||
p6eval | std 29752: OUTPUT«Potential difficulties: Variable $x:( 1 ) is not predeclared at /tmp/KDkQ80WVq0 line 1:------> my $x:(1); say $x:( 1 )⏏<EOL>ok 00:01 111m» | ||
TimToady | but one universal canonicalization method should suffice for things like versioned module names as well | 17:49 | |
and the differences between infix:sym« <=> » and infix:sym<\<=\>> | 17:50 | ||
17:50
Chillance joined
|
|||
PerlJam | TimToady: my $a ::= ...;makes the container readonly? Can you rebind? | 17:51 | |
TimToady | it would probably help the optimizer if you couldn't | 17:52 | |
diakopter | everytime someone mentions 'the optimizer' I get these nagging doubts about its existence | 17:54 | |
TimToady | I have no doubts; it doesn't exist | 17:55 | |
PerlJam | diakopter: the null optimizer is still "the optimizer" :) | ||
TimToady | but its type is Optimizer, not Mu :) | 17:56 | |
17:57
jerkmaster left
|
|||
TimToady | maybe we should name our optimizer Socrates, so we can do syllogisms like: if Socrates ~~ Optimizer {...} | 17:57 | |
diakopter | std: sub Socrates() { }; if Socrates ~~ Optimizer {...} | 17:59 | |
p6eval | std 29753: OUTPUT«===SORRY!===Preceding context expects a term, but found infix ~~ instead at /tmp/qiJe7Fsq26 line 1:------> sub Socrates() { }; if Socrates ~~⏏ Optimizer {...}FAILED 00:01 108m» | ||
diakopter | std: sub Socrates() { }; if Socrates < Optimizer {...} | 18:00 | |
p6eval | std 29753: OUTPUT«===SORRY!===(Possible runaway string from line 1)Preceding context expects a term, but found infix < instead at /tmp/nDiJqvUpF7 line 1 (EOF):------> es() { }; if Socrates < Optimizer {...}⏏<EOL> expecting escapeFAILED 00:01 108m» | ||
diakopter | backtracking fail | 18:01 | |
18:01
ggoebel joined,
ggoebel left,
ggoebel joined
|
|||
TimToady | no, that is not supposed to backtrack | 18:01 | |
a listop always expects a term | 18:02 | ||
18:02
jferrero left,
ShaneC joined
|
|||
diakopter | std: sub Socrates() { }; if Socrates() ~~ Optimizer {...} | 18:02 | |
TimToady | and Perl 6 doesn't pay attention to the signature; subs are always listops | ||
p6eval | std 29753: OUTPUT«===SORRY!===Function 'Optimizer' needs parens to avoid gobbling block at /tmp/fsBZEh8foE line 1:------> rates() { }; if Socrates() ~~ Optimizer⏏ {...}Missing block (apparently gobbled by 'Optimizer') at /tmp/fsBZEh8foE line 1 (EOF):------> | ||
..… | |||
TimToady | likewise | ||
diakopter | std: class Socrates { }; class Optimizer { }; if Socrates ~~ Optimizer {...} | 18:04 | |
p6eval | std 29753: OUTPUT«ok 00:01 106m» | ||
diakopter | oh | ||
TimToady | there are lots of ways to declare standalone terms, but sub ain't one of 'em | ||
class, constant, enum, macro... | 18:05 | ||
well, okay, sub term:<Socrates> would work in theory | |||
diakopter | std: class Socrates { }; class Optimizer { }; sub Socrates() { }; if Socrates ~~ Optimizer {...} | ||
p6eval | std 29753: OUTPUT«===SORRY!===Illegal redeclaration of routine 'Socrates' (from line 1) at /tmp/u69Amtr8FL line 1:------> s { }; class Optimizer { }; sub Socrates⏏() { }; if Socrates ~~ Optimizer {...} expecting new name to be definedFAILED 00:01 105m» | ||
justatheory contains multitudes | |||
TimToady | STD is almost as hard to fool as Mother Nature, at least occasionally... | 18:06 | |
18:06
clausi joined
|
|||
diakopter | std: class Socrates { }; class Optimizer { }; sub term:<Socrates> { }; if Socrates ~~ Optimizer {...} | 18:06 | |
p6eval | std 29753: OUTPUT«ok 00:01 109m» | ||
TimToady | not sure STD does term: yet | 18:07 | |
std: class Optimizer { }; sub term:<Socrates> { }; if Socrates ~~ Optimizer {...} | |||
p6eval | std 29753: OUTPUT«ok 00:01 109m» | ||
18:07
nihiliad left
|
|||
TimToady | okay, you can fool it with term: :) | 18:07 | |
I guess it figgers you know what you're doing if you use term: | 18:08 | ||
(what's really going on is that it derives a new grammar at that point, so it doesn't even check if Socrates is defined outside.) | 18:09 | ||
diakopter | O_. | ||
lisppaste3 | colomon annotated #95043 "post-nom trig test results" at paste.lisp.org/display/95043#1 | 18:11 | |
jnthn | colomon: ooh, only two files that still have issues. | 18:13 | |
pmichaud | back from walk | 18:14 | |
jnthn | Tests=22105 :-) | ||
wb, pmichaud | |||
Did you decide not to add the char name tests back to the spectests we run for now, btw, or just a forgotten push? | |||
pmichaud | hadn't decided | 18:16 | |
more precisely, nom > adding tests back | |||
TimToady | シャワー & | ||
PerlJam notices in his scrollback that merlyn is playing with rakudo now. | |||
18:17
jackyf left
18:18
lue joined
|
|||
jnthn | pmichaud: Agree, I'm gonna go cook some in a moment. :-) | 18:18 | |
pmichaud: One thing I was wondering if you may have a moment to glance at... | 18:19 | ||
pmichaud: I can't make Hash a class because the code NQP generates is doing new ['Hash'], not root_new ['parrot';'Hash'] | |||
And if I switch it to a class, we end up associating our new class with the namespace. | 18:20 | ||
pmichaud | I can likely fix NQP | 18:21 | |
but not in time for 2.1.0 release :-| | |||
jnthn | Aww. | ||
OK. | 18:22 | ||
We can do it later | |||
It's not a big deal. | |||
I think we'll get a performance win once it's a class again. | |||
On most method calls (since slurpy hash creation gets cheaper) | |||
18:23
lue left
|
|||
pmichaud | spectesting rakudo against 2.1.0 release now | 18:24 | |
colomon | \o/ | 18:26 | |
18:31
justatheory left,
justatheory joined
18:32
REPLeffect left
|
|||
colomon | pmichaud: I take it 2.1.0 works! | 18:33 | |
pmichaud | mostly -- I'm getting a fail in ord_and_chr.t | 18:34 | |
PerlJam | 2.1.0 has been released? | ||
colomon | same here, before that pull, I think. | ||
pmichaud | but I don't think that's due to the 2.1.0 release. I could be wrong about that. | ||
colomon | pmichaud: agreed, I don't have your 2.1.0 update | ||
and I'm getting a ord_and_chr.t fail. | |||
pmichaud | is "\c[LATIN CAPITAL LETTER A WITH DOT ABOVE]", | 18:35 | |
555, | |||
'.ord defaults to graphemes (2)'; | |||
huh? | |||
how can a string equal 555 ? | |||
pmichaud thinks there must be a missing .ord | |||
dalek | kudo/master: 5245dca | pmichaud++ | build/PARROT_REVISION: Bump PARROT_REVISION to Parrot 2.1.0. PARROT_REVISION frozen until |
18:36 | |
pmichaud | I'm not sure what's happening there -- it's failing inside of "is" | 18:40 | |
I'll ignore it for now and work on assignment, since that's what seems to be tickling this bug. | |||
colomon | assignment! assignment! assignment! | 18:41 | |
pmichaud | rakudo: say "\c65"; # just checking | ||
p6eval | rakudo ed95e2: OUTPUT«A» | ||
pmichaud | yay. | ||
[particle] | rakudo: say "\c555"; | 18:45 | |
p6eval | rakudo ed95e2: OUTPUT«ȫ» | ||
18:45
payload left
|
|||
colomon | big trig push coming through in a minute. | 18:49 | |
(well, already pushed) | |||
18:52
lichtkind joined
|
|||
lichtkind | diakopter: ping | 18:53 | |
dalek | kudo/master: 1e7c195 | (Solomon Foster)++ | src/core/Num.pm: It should be !from-radians, not .from-radians. |
||
kudo/master: 76aa9dd | (Solomon Foster)++ | src/core/Num.pm: Implementation for acotanh. |
|||
kudo/master: 41b9fea | (Solomon Foster)++ | src/core/Num.pm: Implement acotan. |
|||
kudo/master: d1cb483 | (Solomon Foster)++ | src/core/Num.pm: Port alpha's acosec to master. |
|||
kudo/master: cc3f629 | (Solomon Foster)++ | src/core/Complex.pm: Reactive the remainder of the Complex trig functions that were turned off. |
|||
kudo/master: 30f5ef4 | (Solomon Foster)++ | src/core/Complex.pm: Reactive Complex.asin again. |
|||
diakopter | lichtkind: pong | 19:00 | |
colomon | rakudo: say cosech(0.5) | 19:07 | |
p6eval | rakudo ed95e2: OUTPUT«0.886818883970074» | ||
colomon | alpha: say cosech(0.5) | 19:08 | |
p6eval | alpha 30e0ed: OUTPUT«1.91903475133494» | ||
colomon | oh, you got trouble.... | ||
Okay, I think I've got all the trig bugs exorcised. Time to do a full spectest with them again. | 19:14 | ||
PerlJam | \o/ | 19:15 | |
19:16
Schwern joined
|
|||
colomon | which, considering the test speed on them, may mean it's time to take a nap. :) | 19:16 | |
diakopter | colomon: slower than alpha? | 19:17 | |
TimToady | at some point you have to get rid of all those regex matches | ||
pmichaud | ...regex matches? | 19:18 | |
TimToady | /:i ^degrees$ / and such | 19:19 | |
pmichaud | ouch -- yes, those would be slow. | ||
TimToady | the spec doesn't like string bases | ||
19:20
hercynium left
|
|||
TimToady | string basses are cool though | 19:20 | |
jnthn | I guess given $base.lc would be faster. | ||
(As a "on the way to not having string bases" step...) | 19:21 | ||
TimToady | also something to be said for leaving it slow as motivation to fix it right :) | ||
19:25
REPLeffect joined,
lue joined
19:27
REPLeffect left
19:32
betterworld left
19:35
betterworld joined
19:36
lue left
19:48
REPLeffect joined
19:49
REPLeffect left
|
|||
pmichaud | jnthn: ping | 19:54 | |
jnthn | pmichaud: pong | ||
pmichaud | off the top of your head, do you know where the code that handles scalar parameter binding is? | ||
jnthn | Just so happens I have it in front of me. | 19:55 | |
Good timing! | |||
19:55
Trashlord left
|
|||
jnthn | In src/binder/bind.c, see Rakudo_binding_bind_one_param | 19:55 | |
pmichaud: Of note, review the lines below the comment | 19:56 | ||
/* Apply context, unless it's rw or parcel. */ | |||
pmichaud | yes, that will likely change a bit. | ||
jnthn | Also there's quite a few bits of stuff setting flatten still in there. | ||
Well, I just glanced that code and thought "heh, that looks out of date" | 19:57 | ||
TimToady | according to current spec, flattening should generally just mean a call to .get rather than .getobj | ||
19:58
wanradt joined
|
|||
TimToady | though arguably getobj is still misnamed | 19:58 | |
19:59
lue joined
|
|||
TimToady | getsmooth and getchunky :) | 20:00 | |
slurpone and sliceone | |||
actually, using slurpy to mean flatten is probably wrong, since ** is both slicey and "slurpy" | 20:01 | ||
lichtkind | diakopter: excuse me was called to table | ||
TimToady | and slurpy more properly just mean "variadic" | 20:02 | |
PerlJam | slicey and dicey? | ||
TimToady | bite and serving | 20:04 | |
dalek | kudo/master: 61f3368 | jonathan++ | src/binder/bind.c: Cache some type IDs and a commonly used string to win a little performance in the binder (few percent). |
||
TimToady | nibble and bite | 20:06 | |
get and grab | 20:07 | ||
pmichaud | rakudo: say (3.0).perl; | ||
p6eval | rakudo ed95e2: OUTPUT«3/1» | ||
TimToady | smash and grab | ||
pmichaud | rakudo: say (3.0.Num).perl; | ||
p6eval | rakudo ed95e2: OUTPUT«Method 'perl' not found for invocant of class 'Num'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
pmichaud | a-ha! | ||
20:08
rgrau joined
|
|||
TimToady | probably get and getarg is best for now | 20:10 | |
where arg may or may not be a parcel | |||
20:10
lue left
|
|||
pmichaud | current thinking is that my $c = (1,2,3); results in $c being a Seq (not a Parcel)? | 20:13 | |
20:14
crazed left,
crazed joined
|
|||
pugs_svn | r29754 | lwall++ | [Spec] s/getobj/getarg/ to be slightly more accurate | 20:15 | |
frettled | pmichaud: that would be part and parcel of ... :) But yes, that seems more intuitive to me. | ||
pmichaud | is "item foo" the same as (foo).item ? i.e., is there a .item method? | 20:17 | |
20:18
cjk101010 left,
Lorn joined
|
|||
pmichaud | S04:737 says... | 20:19 | |
# $c.item produces ((1,10),(2,20)) -- the saved Parcel itself as one item in item context. | |||
wouldn't that end up being a Seq? | |||
lisppaste3 | bkeeler pasted "patch to correct misspelled supersede" at paste.lisp.org/display/95062 | ||
pmichaud | bkeeler++ # thanks | 20:20 | |
bkeeler | hehe np | ||
lichtkind | congrats to parrot 2.1 | 20:21 | |
does anybody tested sprixel? | |||
i mean did | 20:23 | ||
frettled | and "test", not "tested" :) | ||
pmichaud: now I'm just confused. | 20:24 | ||
pmichaud | frettled: I also, which is why I asked the question. :) | ||
lichtkind | frettled: whud ya wanna frum I? | ||
frettled | lichtkind: tri smi kinisiri pi hiibripliss | 20:25 | |
pmichaud: that makes me feel slightly better, but it doesn't resolve the confusion | |||
frettled tries to re-read that segment of S04 | |||
lichtkind | frettled: i dont speak finish | ||
frettled | nor do I | 20:26 | |
dalek | kudo/master: 74bddc2 | pmichaud++ | src/Perl6/Grammar.pm: Correct misspelled supersede (bkeeler++). |
20:27 | |
kudo/master: 9267d1e | pmichaud++ | src/binder/bind.c: Merge branch 'master' of [email@hidden.address] |
|||
lichtkind | frettled: so was that some sort of triple rot16? | ||
frettled | lichtkind: it was the Norwegian version of a verse from a Danish children's song about three small Chinese double bass players in Copenhagen | 20:28 | |
lichtkind: the song is a vowel substitution game | |||
lichtkind | frettled: its in german too: drijipinisi mit di cintribis | 20:29 | |
frettled | pmichaud: I think I understand what it says | ||
lichtkind | i know this froim childhood | ||
bkeeler | rakudo: my $foo = ("HAI", "THERE"); sub foo($a, ($b, $c)) { say "$a $b $c" }; foo("OH", $foo); | ||
p6eval | rakudo ed95e2: OUTPUT«OH HAI THERE» | ||
bkeeler | Sweet | 20:30 | |
lichtkind | you where at yapc::EU great | 20:31 | |
frettled | pmichaud: it sort of follows from the description of gather, but it's perhaps a bit more convoluted than strictly necessary, and .item seems to say "present this as a single item", which in the case of gather is a Parcel, and in the example, it turns out as a Parcel of Parcels. Does that make sense, or am I way off? | ||
pmichaud | frettled: doesn't match my understanding of things, which could be also off. | 20:32 | |
afk, kid pickup | |||
pugs_svn | r29755 | jnthn++ | [t/spec] Re-fudging of various multi-dispatch tests; we handle the majority of the tests they contain now. | 20:33 | |
bkeeler | rakudo: my $foo = \("HAI", "THERE"); sub foo($a, ($b, $c)) { say "$a $b $c" }; foo("OH", $foo); | ||
p6eval | rakudo ed95e2: OUTPUT«Method 'list' not found for invocant of class 'ResizablePMCArray'current instr.: 'perl6;ClassHOW;attributes' pc 3520 (src/metamodel/ClassHOW.pir:48)» | ||
bkeeler | Are captures supposed to work that way too? | 20:34 | |
frettled | TimToady: Can you think of a way to explain that gather-item-thingy? :) | ||
jnthn | bkeeler: Maybe. | ||
bkeeler: Probably, actually. | |||
Can probably make them do so quite easily, anyway. :-) | 20:35 | ||
bkeeler | jnthn: awesome work on this stuff, by the way, it's a very interesting area of perl6 | 20:36 | |
jnthn | Yes, I look forward to seeing people do some Cool Stuff with it. :-) | ||
20:40
lue joined
|
|||
dalek | kudo/master: 9df5b4a | jonathan++ | t/spectest.data: Turn S06-multi/type-based.t and S06-multi/proto.t back on. |
20:45 | |
kudo/master: 8d9598e | jonathan++ | src/ (3 files): Various corrections to handling of where clauses and type captures, which was the main issue we faced in getting us doing most of S06-multi/type-based.t again. |
|||
20:46
lue left
20:48
REPLeffect joined,
cognominal joined
|
|||
pmichaud | ...getting close to having the new assignment model in place. Only 4 failing test files. | 20:57 | |
btw, I think this assignment model might resolve the gather/take issue :) | 20:58 | ||
Tene | Yay, if it works, I can ignore it and be less intimidated to start working on rakudo again. | ||
frettled | pmichaud: oh? | 20:59 | |
21:00
pmurias joined
21:01
Chillance left
|
|||
dalek | kudo/master: 5c09ebb | jonathan++ | src/core/Bool.pm: Implement Bool.ACCEPTS. |
21:02 | |
kudo/master: cad6d12 | jonathan++ | t/spectest.data: Turn S03-smartmatch/any-bool.t back on. |
|||
jnthn | rakudo: print 4;; say 2; | 21:03 | |
p6eval | rakudo ed95e2: OUTPUT«get_pmc_keyed() not implemented in class 'Integer'current instr.: 'perl6;Perl6;Actions;_block1195' pc 160597 (src/gen/perl6-actions.pir:470)» | ||
jnthn | rakudo: print 4; say 2; | ||
p6eval | rakudo ed95e2: OUTPUT«42» | ||
jnthn | ewwww¬! | ||
lisppaste3 | colomon annotated #95043 "post-nap trig test success report" at paste.lisp.org/display/95043#2 | ||
jnthn | \o/ | 21:04 | |
colomon++ | |||
21:05
lue joined
21:10
xomas left
21:11
xomas joined,
xomas left,
xomas joined
|
|||
pmichaud | 24K tests! | 21:11 | |
(I guess that's 24K examined, not 24K passing) | 21:12 | ||
frettled | heh | ||
colomon | pmichaud: that's try, but there are no fudged trig tests and they are all passing, so there are at least 20K passing tests in there. | 21:13 | |
frettled | Impressive! | 21:17 | |
jnthn | Another ~60 passing coming shortly. :-) | 21:21 | |
pugs_svn | r29756 | jnthn++ | [t/spec] Updates and re-fudging for some return tests. | 21:22 | |
colomon | \o/ | 21:23 | |
jnthn | Ouch! | ||
colomon | Ouch? | ||
jnthn | The Parrot folks have a branch coming up for merge that, amongst other things, appears to rename pmc_new to pmc_new -> Parrot_pmc_new. | ||
er, s/to pmc_new / | 21:24 | ||
frettled | But that's an easy sed -i sentence :) | 21:25 | |
colomon | I suppose I am optimistic to think that might be a giant search and replace? | ||
Tene | no, that should be all it takes. | ||
jnthn | It's probably just search/replace. | ||
At least, I'd very much expect it will be. | 21:26 | ||
Not a huge deal really. | |||
Having to type twice as many characters to create a new PMC bothers me more. ;-) | |||
<- lazy | |||
Tene | :imap ppn Parrot_pmc_new | 21:27 | |
21:27
clausi left
|
|||
dalek | kudo/master: 0161485 | (Solomon Foster)++ | src/core/Any-num.pm: Remove fossil "is export" from Any.sec. |
21:27 | |
kudo/master: 40e481e | (Solomon Foster)++ | src/core/Num.pm: Fix the definition of cosech. |
|||
21:28
hercynium joined
21:29
bluescreen left
21:36
uniejo left
|
|||
bkeeler | rakudo: say given (5) { when 5 { say "Here"; "return value" }; }; | 21:38 | |
p6eval | rakudo ed95e2: OUTPUT«Here» | ||
jnthn | alpha: say given (5) { when 5 { say "Here"; "return value" }; }; | 21:39 | |
p6eval | alpha 30e0ed: OUTPUT«say requires an argument at line 10, near "given (5) "in Main (file src/gen_setting.pm, line 2610)» | ||
bkeeler | Are we not passing the result of the when up? We're supposed to, right | ||
jnthn | Hmm...guess we maybe are. | ||
It throws a control exception after then when block...guess that's what prevents it "just working" here. | 21:40 | ||
colomon | I'm pretty sure returning values from when works, else trig would be very broken. | 21:41 | |
rakudo: say sin(180, "degrees") | 21:42 | ||
p6eval | rakudo ed95e2: OUTPUT«-2.91427878425206e-11» | ||
colomon | rakudo: say sin(pi, "radians") | ||
p6eval | rakudo ed95e2: OUTPUT«1.22464679914735e-16» | ||
colomon | yeah. | ||
21:42
bluescreen joined
|
|||
colomon | (!to-radians is a big given statement) | 21:43 | |
so the above must be some sort of special case. | |||
rakudo: my $a = given (5) { when 5 { say "Here"; "return value" }; }; say $a; | |||
p6eval | rakudo ed95e2: OUTPUT«Confused at line 11, near "my $a = gi"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
colomon | rakudo: sub a() { given (5) { when 5 { say "Here"; "return value" }; }; }; say a(); | 21:44 | |
p6eval | rakudo ed95e2: OUTPUT«Herereturn value» | ||
21:44
bluescreen left
|
|||
jnthn | Sure - the explicit return saves us there :-) | 21:48 | |
pmichaud | rakudo: say( given (5) { when 5 { say 'Here'; 'return value' } } ); | 21:49 | |
p6eval | rakudo ed95e2: OUTPUT«Confused at line 11, near "say( given"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
jnthn | hm | 21:50 | |
pmichaud | it doesn't see given as an expression | ||
jnthn | std: say( given (5) { when 5 { say 'Here'; 'return value' } } ); | ||
p6eval | std 29756: OUTPUT«===SORRY!===Unable to parse argument list; couldn't find final ')' at /tmp/2IOunnA0no line 1:------> say( ⏏given (5) { when 5 { say 'Here'; 'return expecting argument listFAILED 00:01 107m» | ||
pmichaud | given is a statement prefix | ||
and, granted that statements may be allowed there, rakudo doesn't know how to do that yet. | |||
dalek | kudo/master: 3030f55 | jonathan++ | src/Perl6/Actions.pm: Make sure we don't crash and burn if somebody writes double semicolon in their code! |
||
kudo/master: a73f7b3 | jonathan++ | t/spectest.data: Turn S06-advanced_subroutine_features/return.t back on. |
|||
pmichaud | it would be like | 21:51 | |
rakudo: say( if 1 { say 'Here'; 'return value' } ); | |||
p6eval | rakudo ed95e2: OUTPUT«Confused at line 11, near "say( if 1 "current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
jnthn | Yeah | 21:52 | |
pmichaud | mmmm, lots of passes in my assignment branch ... :) | ||
oops, and some failz :-( | |||
jnthn | :-( | 21:53 | |
21:54
ruoso joined
|
|||
pmichaud | ok (5..1) !~~ 3, '(5..1) is the null range'; | 21:54 | |
...huh? | 21:55 | ||
I have no idea what is being tested there. | |||
jnthn | hm | ||
3 !~~ 1..5 would make more sense given the description. | 21:56 | ||
colomon | pmichaud: I asked the same question about those tests a few weeks ago. | ||
bkeeler | ranges are only supposed to be ascending? | ||
colomon | bkeeler: yes | ||
jnthn | Well, that and smart-match doesn't commute. | ||
colomon | maybe they figured that if (5..1) wasn't the null range, it would turn into 1, 2, 3, 4, 5, making the test 1, 2, 3, 4, 5, !~~ 3 ? | 21:57 | |
pmichaud | that doesn't make much sense either | ||
colomon | s/5,/5/; | ||
true. | |||
I think I'd be willing to take out those test on the premise that they must be poorly formed if none of us have a clue what they could have been thinking. :) | 21:58 | ||
pmichaud | that's what I'm thinking | 21:59 | |
colomon | Where are they again? | 22:01 | |
pmichaud | t/spec/*/range.t | ||
colomon | they're in both of the range tests? | ||
pmichaud | whichever one showed up first :) | ||
colomon | range.t, I mean. | 22:02 | |
pmichaud | whichever one showed up first :) | ||
colomon | ah, so S02's maybe. | ||
pmichaud | I just did vi t/spec/*/range.t and that's where I found it :) | ||
colomon | S02-builtin_data_types/range.t | 22:03 | |
lisppaste3 | bkeeler pasted "Fun with trees!" at paste.lisp.org/display/95079 | ||
22:05
Su-Shee left
|
|||
colomon | pmichaud: the other wacky thing in there is the infinite range tests. | 22:05 | |
pmichaud | we can look at those soon, I suspect | ||
running a new spectest on my branch now | |||
jnthn | bkeeler: Ooh, nice. :-) | ||
bkeeler | I tried doing that with captures instead of arrays earlier, but signatures don't unpack captures yet it seems | 22:06 | |
jnthn | It's probably a one-line change to make them do so. | ||
Just gotta remember to do it amongst all the other fun. :-) | 22:07 | ||
pmichaud | yay no failz so far in the local assign branch | ||
has anyone noticed that git is TEH AWESOME? ;-) | |||
jnthn | \o/ | 22:08 | |
pmichaud | being able to do local branches and switch quickly back to master is.... nice. | ||
22:08
k23z__ left
|
|||
jnthn | Assuming and some unspace coming. :-) | 22:08 | |
colomon | pmichaud: the particular thing I was complaining about is that the infinite range tests in that range.t are all double-ended, and assume that *..* really means -Inf..Inf. | ||
pmichaud | colomon: sounds like fossils | 22:09 | |
colomon | pmichaud: yeah. | ||
22:09
k23z__ joined
|
|||
pugs_svn | r29757 | colomon++ | [t/spec] Remove the weird 5..1 !~~ 3 brand of Range tests, on the basis that none of us understand what they heck they mean. | 22:10 | |
lisppaste3 | bkeeler annotated #95079 "Bleh, bug" at paste.lisp.org/display/95079#1 | 22:11 | |
dalek | kudo/master: 88f3c6e | jonathan++ | src/Perl6/Grammar.pm: Add a missing case of unspace. |
22:14 | |
kudo/master: 3603f51 | jonathan++ | src/builtins/Routine.pir: Add back reviewed assuming implementation. |
|||
kudo/master: ff97a28 | jonathan++ | t/spectest.data: Turn two assuming tests back on. |
|||
pmichaud | I wonder if .elems, .Str, .[ ], etc. are generally common to all Iterables. | 22:15 | |
i.e., default versions can be provided in the Iterable role | |||
jnthn | method Num { $.elems } too... | 22:16 | |
pmichaud | yeah | ||
jnthn has a test that fails with "Num not implemented in MapIterator" | |||
Or some such | |||
pmichaud | right | ||
jnthn | Thing is | 22:17 | |
I've seen "sort not implemented in ..." too, I fear. | |||
And then it's like...so how much is common. | |||
pmichaud | well, we haven't implemented sort :-) | ||
jnthn | Well no, but will we just inherit it from Any and it'll DTRT? | ||
pmichaud | for many of these, yes. | ||
many things in Any basically operate on .list | |||
er, $.list | 22:18 | ||
jnthn | OK, good. | ||
pmichaud | but we probably don't want .[ ] to be there. | ||
jnthn | Right. | ||
22:18
hercynium left
|
|||
jnthn | OK, I just wanted to make sure we weren't going to have *everything* in there. :-) | 22:18 | |
pmichaud | yay! spectests pass! | ||
time to merge! | |||
jnthn | \o/ | 22:19 | |
pmichaud | merge conflict in bind.c! oh noez! | ||
jnthn | LOLHALP | 22:20 | |
Sorry, I did a fix in there, and forgot you'd probably be in there too... | 22:21 | ||
jnthn wanted S06-multi/typed-based.t to run again. :-) | |||
pmichaud | no problem, my change was trivially simple | 22:22 | |
22:22
wknight8111 joined
|
|||
pmichaud | okay, merge conflict resolved, now trying spectests again | 22:22 | |
jnthn | I'm probably about done for today, aside from trivial things. | 22:23 | |
Wow, we've had a lot of commits today! | |||
pmichaud | and we have a ton more passing tests | 22:24 | |
I suspect much of S05-mass/ passes now as well. | |||
jnthn | Yes. | ||
pmichaud | and I'm very happy to (apparently) have the new assignment model in place. The more I think about it and work with it, the more I'm convinced that assign-by-reference is the right model for us. | ||
especially since it appears to eliminate a lot of copying. | 22:25 | ||
jnthn looks forward to looking through the patch. | |||
pmichaud | and also since it has the strong potential of fixing gather/take | ||
jnthn | That's also be wonderful. | 22:26 | |
pmichaud | so, my current plan for the evening is (1) finish assign, (2) sort, (3) grammars, and then (4) work through RT | ||
jnthn is very happy, and surprised, that we're going to be able to put out a relesae on Thursday with > 25,000 tests. | |||
22:27
kst joined
|
|||
jnthn | That seemed unimaginable to me a week ago. | 22:27 | |
everyone++ | |||
pmichaud | we probably won't have the metaoperators in the release, but we should be able to get those soon | ||
unless we want to cheat on the metaops :) | |||
22:27
k23z__ left
|
|||
jnthn | I'd settle for division of labour. | 22:28 | |
(You sort out the parsing. ;-)) | |||
pmichaud | heh | ||
well, once the parsing is done, the rest is trivial :) | |||
jnthn | Damm, you didn't fall for my trap. | ||
:-) | |||
pmichaud | yay! spectests pass! | 22:29 | |
oops, have to do it again, forgot to pull some commits | |||
(sigh) | |||
jnthn | Gah, these people who commit patches. Who'd have 'em. | 22:30 | |
pmichaud | at least spectests are currently only taking 233 seconds :) | ||
22:30
cognominal left
22:31
cognominal joined
|
|||
pmichaud | assuming grammars are added in the next 48 hours (and I see no reason they shouldn't be), then this is going to be a very significant release in terms of new features as well :) | 22:31 | |
jnthn | I'm *very* happy to have got prefix:<|> back in above the level we've ever had it before. | 22:32 | |
pmichaud | yes | ||
PerlJam | you guys keep the endorphins flowing :) | 22:33 | |
pmichaud | and I'm sure people will like closures in regexes and variable interpolation | ||
jnthn | Does the latter work? | ||
pmichaud | it will :-) | 22:34 | |
I think it works in ng | |||
jnthn | as in | ||
pmichaud | s/ng/nqp/ | ||
jnthn | rakudo: my $y = 'o'; 'foo' ~~ /$y/; say $/ | ||
p6eval | rakudo ed95e2: OUTPUT«» | ||
jnthn | oh, nqp | ||
OK. | |||
pmichaud | nqp: my $x = 34; "abc345xy" ~~ / $x /; say($/); | ||
p6eval | nqp: OUTPUT«Assignment ("=") not supported in NQP, use ":=" instead at line 1, near " 34; \"abc"current instr.: 'parrot;HLL;Grammar;panic' pc 500 (src/cheats/hll-grammar.pir:197)» | ||
pmichaud | nqp: my $x := 34; "abc345xy" ~~ / $x /; say($/); | ||
p6eval | nqp: OUTPUT«Symbol '$/' not predeclared in <anonymous>current instr.: 'parrot;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)» | ||
pmichaud | nqp: my $x := 34; say("abc345xy" ~~ /$x/); | 22:35 | |
p6eval | nqp: OUTPUT«» | ||
pmichaud | hmmm | ||
well, it at least parsed it :-) | |||
but yes, perhaps wrongly | |||
anyway, it shouldn't be hard to add. | |||
jnthn | When I looked at /$y/ 's PIR, it had parsed $ as anchor and y as literal. | ||
(for Rakudo, not nqp) | |||
pmichaud | yes, that's possible -- especially in Rakudo | ||
yay! pass! | 22:36 | ||
pushed changes | 22:37 | ||
jnthn | :-) | 22:38 | |
pmichaud | nice that this is done. | 22:39 | |
okay, time for a walk, I think. | |||
jnthn | Enjoy :-) | ||
And nice work. :-) | |||
pmichaud++ | |||
dalek | kudo/master: 5594188 | pmichaud++ | src/core/Iterator.pm: Remove incorrect Iterator.Seq, improve Iterator.Str . |
22:40 | |
kudo/master: 9d1d903 | pmichaud++ | src/core/Range.pm: When stringifying or numifying Range, just ask $.iterator directly |
|||
kudo/master: 2bb2172 | pmichaud++ | src/core/Iterator.pm: Add a working version of Iterator.Seq . |
|||
kudo/master: 04f3504 | pmichaud++ | src/ (10 files): Merge branch 'assign' src/binder/bind.c |
|||
kudo/master: 33b1bf9 | pmichaud++ | (10 files): Merge branch 'master' of [email@hidden.address] |
|||
22:43
iblechbot left
|
|||
colomon | pmichaud: the bad news about the trig tests is they make the spectests take 1597 wallclock secs (versus 180 or so without trig) on my system. | 22:44 | |
diakopter | colomon: is that slower than alpha? | 22:45 | |
colomon | though are Enums far enough along I could use them instead of strings for the trig base stuff? | ||
diakopter: no, it's still quite a bit faster, I think. | |||
pmichaud | total time for spectests on my system was about 24 minutes | 22:46 | |
(under alpha) | |||
bkeeler | Would it be worth splitting them out into a 'fullspectest' vs. 'quickspectest' type thing? | ||
At a previous work we had some tests that took a really long time that normally weren't run unless someone had reason to suspect they might have broken them | 22:47 | ||
pmichaud | well, I'd definitely like the trig tests enabled for Thur | ||
bkeeler | And the nightly build thingy ran them so we'd find out by the next day if they broke | ||
pmichaud | (release day) | ||
afk, walk | |||
jnthn | Thing is, sometimes you break stuff that you'd completely not expect to. | ||
bkeeler | Sure, no doubt | 22:48 | |
jnthn | So it'd be quite hard choosing what to put in quickspectest. | ||
bkeeler | In our case the full tests took almost 2 hours, and the quick about 15-20 minutes. It was a tradeoff of a small risk of breaking something, vs a quicker change/test/commit cycle | 22:49 | |
colomon | personally I'd rather figure out how to make it all faster. :) | 22:50 | |
jnthn | ;-) | ||
pugs_svn | r29758 | jnthn++ | [t/spec] Update fudging in S05-mass/rx.t so as to skip a few that Rakudo can't compile (mostly ::, :::, :x(n), :nth(n) and &). | 22:51 | |
jnthn | Unfortunately, we crash and burn only a few tests into it, but it may be an easy fix. | ||
At least we compile though. | 22:52 | ||
PerlJam | bkeeler: we can run individual test files if we need to (for incremental progress) | ||
jnthn | rakudo: 'abc' !~~ /\d+/ | 22:53 | |
p6eval | rakudo ed95e2: OUTPUT«logical_not() not implemented in class 'Capture'current instr.: 'perl6;Mu;REJECTS' pc 1900 (src/builtins/Mu.pir:370)» | ||
22:53
pmurias left,
Guest166 left
|
|||
jnthn | oh wow | 22:55 | |
We'd not switched our prefix<!> to actually use .Bool | |||
colomon | jnthn: right, only just switched <?> to use Bool a few days ago | 22:57 | |
jnthn | Unfortunately, doing so seems to cause us...failures. | 22:58 | |
colomon | like what? the <?> info in the back of my brain might help.... | ||
jnthn | In not.t, we end up with a null PMC access. ;-/ | 22:59 | |
rakudo: say not(not 42) | 23:00 | ||
p6eval | rakudo ed95e2: OUTPUT«1» | ||
jnthn | oh | ||
jnthn ponders what's up | 23:01 | ||
colomon | rakudo: say (not(not 42)).WHAT | 23:02 | |
p6eval | rakudo ed95e2: OUTPUT«Int()» | ||
jnthn | oh, it's crashing inside Test.pm | ||
colomon | right, <?> did that too | 23:03 | |
jnthn | Ah. | 23:04 | |
Inside s. | |||
*is | |||
23:06
k23z__ joined
|
|||
jnthn | rakudo: my $b = 0; my $x = try { ((not $b) + 1).perl } | 23:07 | |
p6eval | rakudo ed95e2: ( no output ) | ||
jnthn | rakudo: my $b = 0; my $x = try { ((not $b) + 1).perl }; say $x | 23:08 | |
p6eval | rakudo ed95e2: OUTPUT«2» | ||
jnthn | That doesn't work locally, I think Pm may have fixed it. | ||
jnthn pulls latest and checks | |||
pmichaud | there's a problem dealing with (native) values that don't have a .perl method | 23:10 | |
bkeeler | Am I right in thinking that "return" should be a prefix operator and not a statement_control? | ||
pmichaud | return is a listop. | ||
it's still listed as statement control left over from the nqp | 23:11 | ||
grammar | |||
but yes, it should be &return | |||
Tene | jnthn: I haven't been reading scrollback... are you talking about exceptions issues? | ||
pmichaud | assignment might be a little unforgiving at the moment -- if something returns a null PMC then the assignment happily assigns it :-) | 23:12 | |
jnthn | pmichaud: I'm not sure it can be &return, fwiw. | ||
pmichaud | jnthn: why not? | ||
jnthn | Tene: Only casual mentions. | ||
pmichaud: Because a normal call makes a capture out of the arguments, and we want a parcel for return. | 23:13 | ||
Tene | jnthn: okay, lemme know if there's any exceptions problems. | ||
pmichaud | well, since &return is likely to remain internal/pir, that shouldn't be too much of an issue | ||
jnthn | Tene: return.t fails some due to the "lexical returns" issue | ||
23:13
lichtkind left
|
|||
jnthn | pmichaud: It's a caller side issue though. | 23:14 | |
pmichaud: It's the caller that turns pairs into named params. | |||
We don't want that for return though | |||
And we can't "unpick" it or we'll lose ordering. | |||
23:14
k23z__ left
|
|||
jnthn | ok, not.t doesn't fail with pmichaud++'s changes incorporated :-) | 23:15 | |
jnthn tries spectest again | |||
pmichaud | jnthn: under the new parrot calling conventions, is ordering information lost completely also? | 23:16 | |
jnthn | In the call capture, maybe not | 23:17 | |
pmichaud | yeah, that's what I was kinda hoping. anyway, that's one of those I'd prefer to look at a bit later :) | ||
jnthn | I'm not convinced since the Parcel/Capture split that it actually matters much any more though. | ||
gah, still get other fails. | 23:18 | ||
23:20
mssm left,
mssm joined
|
|||
pmichaud | afk, fetching dinner | 23:21 | |
jnthn | std: sub foo(*@args, *%named) { 1 }; foo'bar'; | 23:28 | |
p6eval | std 29758: OUTPUT«===SORRY!===Confused at /tmp/NsHFbvnJ7U line 1:------> sub foo(*@args, *%named) { 1 }; foo'bar⏏'; expecting any of: POST argument list bracketed infix infix or meta-infix postfix | ||
..postfix_prefix_meta_operator statement modifier loop… | |||
jnthn | Test FAIL. | ||
std: sub foo(*@args, *%named) { 1 }; foo:bar; | 23:29 | ||
p6eval | std 29758: OUTPUT«Undeclared routine: 'foo:bar' used at line 1ok 00:01 107m» | ||
lisppaste3 | pausenclown pasted "grammar problem" at paste.lisp.org/display/95083 | 23:34 | |
23:38
benjaminvm joined
23:39
benjaminvm left
|
|||
pugs_svn | r29759 | jnthn++ | [t/spec] Bring a couple of tests in line with STD. | 23:44 | |
23:44
mssm left
23:47
brunov left
|
|||
dalek | kudo/master: 72a8b74 | jonathan++ | src/ (4 files): Get us implementing prefix:<!> in terms of .Bool, plus add some missing .Bool methods. |
23:49 | |
jnthn | OK, I'm done for the day. | ||
23:49
cognominal left
|
|||
wknight8111 | which version of Parrot will Rakudo* be targetting? | 23:51 | |
23:56
colomon left
|