Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-02-16

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

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

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo