»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by diakopter on 25 January 2010.
00:00 snarkyboojum left
supernovus Okay, so for anything that old master could do, that new master cannot, is this the best place to report things like that? 00:04
TimToady you could do a lot worse
supernovus Well, I'll let you know what I dig up then :-) 00:05
jnthn supernovus: Feel free to file a ticket in RT via the usual rakudo bug email address, too.
There's many things to fix up, and many spectets to get working and uncomment in t/spectest.data. What passes by in the channel will give a sense of what matters to people most, though. 00:08
00:08 pmurias left 00:09 snarkyboojum joined, lue left
supernovus jnthn: okay, thanks, I'll browse the RT and make sure I'm not duplicating anything. The Int versus Integer, Str versus Perl6Str "bug" is currently holding up a large portion of my PSpec testing, but I'll test individual portions of it otherwise. I was using a lot of "funky" perl6 features in the PSpec code :-) 00:11
00:11 lue joined
supernovus Which, if anyone is interested in a Perl 6 port of RSpec and Cucumber (not too serious mind you) you can find it at github.com/supernovus/PSpec/ it works perfectly (albeit very slowly) under the January release of Rakudo, but is completely borked in the new master. 00:13
lue It seemed to. I ran gmake w/o recompiling parrot though :|
Am going to recompile parrot now. 00:14
supernovus will be back later.
jnthn supernovus: Many things are broken in the new master. OTOH, some things work that isn't before. We'll have it patched up in a while.
s/isn't/didn't/
supernovus: BTW, PSpec looks interesting...I'm too tired to seriously look at it now, but I'll look more another time. :-) 00:15
supernovus jnthn: I know, I just figure I'll help by at least reporting anything I find. I may not be ready to dive into the code yet (at least the .pir code, any actual Perl 6 code I could take a look at), but I'd like to help out in some fashion :-)
00:15 old_gray_bear left
jnthn supernovus: Reports are welcome. We're trying to write more and more of it in Perl 6 or NQP rather than PIR too. :) 00:17
jnthn -> sleep 00:23
lue night jnthn
00:34 MaLiLL0 joined
MaLiLL0 hi 00:35
00:37 chromatic left 00:38 MaLiLL0 left
spinclad std: my ::A = role {}; class B does A {}; my $a = role {}; class C does $a {}; 00:46
p6eval std 29739: OUTPUT«===SORRY!===␤Illegal redeclaration of symbol 'A' (from line 1) at /tmp/CdQUX1tD62 line 1:␤------> my ::A ⏏= role {}; class B does A {}; my $a = ro␤FAILED 00:01 107m␤»
spinclad std: my $a = role {}; class C does $a {};
p6eval std 29739: OUTPUT«===SORRY!===␤Unable to parse class definition at /tmp/D9EbVbDlqI line 1:␤------> my $a = role {}; class C does ⏏$a {};␤ expecting module_name␤FAILED 00:01 107m␤»
spinclad rakudo: my $a = role {}; class C does $a {}; 00:47
p6eval rakudo ee1e51: OUTPUT«Malformed package declaration at line 11, near "does $a {}"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
spinclad std: my A = role {}; class B does A {}; 00:48
p6eval std 29739: OUTPUT«===SORRY!===␤In my declaration, typename 'A' must be predeclared (or marked as declarative with :: prefix) at /tmp/EICqoSn9pT line 1:␤------> my A⏏ = role {}; class B does A {};␤FAILED 00:01 105m␤»
00:56 snarkyboojum left
colomon Is master unborked again (from the chromatic patches)? 01:03
I think I see that one of the patches disappeared....
01:04 cdarroch left
colomon rakudo: say 'hi' 01:14
p6eval rakudo ee1e51: OUTPUT«hi␤»
colomon so p6eval is using the patches. 01:15
01:17 meppl left 01:19 chromatic joined, snarkyboojum joined 01:25 dolmen left
lichtkind diakopter: would you say that sprixel is faster then rakudo? 01:25
01:30 ignacio_ joined 01:34 explorer__ left 01:35 xomas left
colomon errr, rakudo master still borked. 01:56
lichtkind goodnight 01:57
mberends: do you know anything how fast sprixel is?
01:58 lichtkind left 01:59 ihrd joined 02:00 ihrd left 02:02 cognominal left 02:03 REPLeffect joined
colomon or, rakudo master isn't borked, but Makefile.in is. Huh. 02:07
02:09 cognominal joined
chromatic colomon, you can edit line 523 and get rid of ../.. before $(PMC_DIR) 02:09
If that helps, feel free to commit.
colomon chromatic: actually, it's the spectest stuff that's borked.
I'm about to commit a fix. 02:10
02:10 tjc joined
dukeleto does anybody know about timtowtdi.org ? 02:11
colomon chromatic: We hacked old master (ie alpha) to always use an older version of the spectests. Somehow that leaked through into your patches. 02:12
chromatic Ah, that's what it was.
I remember that.
colomon Anyway, I've reversed that, and I'm just taking one more spectest run before pushing. 02:13
chromatic Thanks.
colomon No worries. :)
And thanks for cleaning up the code. 02:14
pushed
pugs_svn r29740 | colomon++ | [t/spec] Additional tests for trim-leading and trim-trailing. 02:15
colomon I'm going to pull a fresh copy and make sure it all works, I think. 02:16
chromatic So far so good in my fresh copy. 02:17
colomon :)
02:19 aindilis joined
dalek kudo/master: f483b59 | (Solomon Foster)++ | src/core/Any-str.pm:
Fix shortcomings in the previous trim-leading and trim-trailing implementations.
02:20
kudo/master: 4716fbc | (Solomon Foster)++ | build/Makefile.in:
Undo the leak of the alpha spectest hack into master.
chromatic 142 wallclock seconds for a spectest run; must be fewer tests running now than before. 02:23
colomon by "before", you mean with the old master? 02:26
chromatic yes
colomon oh, yes, we're running 20,000 fewer tests. 02:27
02:27 ShaneC left 02:28 lue left
colomon my clean build comes out fine, so I think we're good again! 02:31
02:32 wknight8111 left
diakopter lichtkind: that is a poor question. 02:33
02:36 lue joined
colomon rakudo: my $match = "abcd" ~~ /(bc)/; "sdsdad" ~~ /(d)/; $/ = $match; say $/.perl 02:40
p6eval rakudo 4716fb: OUTPUT«Cannot assign to readonly value␤current instr.: '&infix:<=>' pc 15648 (src/builtins/Junction.pir:169)␤»
pmichaud currently $/ is readonly, I think. 02:43
I noticed that earlier.
diakopter rakudo: ??????????????????????????????????????????????????????????
pmichaud I have to redo much of the assignment stuff
Juerd Hmmm, assigning to elements of $/ would be a fun way to do substitutions :)
p6eval rakudo 4716fb: ( no output )
colomon pmichaud: Is it supposed to be? 02:44
I'm still trying to figure out how to do a full-fledged version of subst.
pmichaud no, I don't believe it's supposed to be that way
02:45 lue left
diakopter rakudo: ; 02:45
p6eval rakudo 4716fb: OUTPUT«get_pmc_keyed() not implemented in class 'Integer'␤current instr.: 'perl6;Perl6;Actions;_block1195' pc 160181 (src/gen/perl6-actions.pir:480)␤»
colomon :/ that's a LTA error message. :)
diakopter rakudo: ()() 02:49
02:49 lue joined
p6eval rakudo 4716fb: OUTPUT«invoke() not implemented in class 'ResizablePMCArray'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤» 02:49
colomon pmichaud: I see two places in the code with store_dynamic_lex, '$/' -- but I don't see any sign of read-only-ness at either spot?
pmichaud colomon: read-only is the default 02:50
a variable is read-write (to the programmer) only if the rw property is set
it needs to be done at the time the $/ is created, in Actions.pm
colomon ah (to read-only is the default) 02:51
As to the last bit, I don't know how to filter out all the $/'s in the code to find the actual creation point.... 02:52
pmichaud it's the same place that $! is created
but as I said above, I'll have to redo much of the assignment stuff 02:53
I was going to do it tonight, but I'm feeling LTA at the moment :-(
colomon :(
pmichaud some sort of cold/something
should be over it by tomorrow morning.
colomon I was a zombie for about ten days in Jan. with one... ugh.
02:55 lue left
colomon I hope you do feel better in the morning. 02:57
pmichaud yes, it's been bugging me a bit since Friday morning; today's the worst so I'm hoping I'm near the end :) 02:58
colomon What's your thinking on the Parrot types leaking through into Rakudo? 02:59
Particularly the trig issues we've been having...
pmichaud eventually it'll clean up
colomon rakudo: say sin(asin(0.5))
p6eval rakudo 4716fb: OUTPUT«too many positional arguments: 2 passed, 1 expected␤current instr.: 'sin' pc 223266 (src/gen/core.pir:5095)␤»
colomon what I don't get is exactly what triggers it: 03:00
rakudo 0.5.asin.sin
rakudo: say 0.5.asin.sin
p6eval rakudo 4716fb: OUTPUT«0.5␤»
pmichaud rakudo: say PARROT(asin(0.5))
p6eval rakudo 4716fb: OUTPUT«Float␤»
03:00 mssm left
colomon oh, I see. 03:00
pmichaud rakudo: say PARROT(0.5.asin)
p6eval rakudo 4716fb: OUTPUT«Float␤»
pmichaud hmmmm 03:01
rakudo: say sin(0.5.asin)
p6eval rakudo 4716fb: OUTPUT«too many positional arguments: 2 passed, 1 expected␤current instr.: 'sin' pc 223266 (src/gen/core.pir:5095)␤»
colomon when we call sin(asin(0.5)), that becomes 0.5.asin('degrees').sin('degrees')
s/degrees/radians/g
pmichaud looking
colomon rakudo: 0.5.asin('degrees').sin('degrees')
p6eval rakudo 4716fb: ( no output )
colomon except that works. 03:02
pmichaud where are the functions defined?
colomon any-num.pm and num.pm
though obviously we're picking up Float.sin from somewhere in parrot 03:03
pmichaud multi method Num() { self; }
isn't converting Parrot Float into a Num
colomon right
pmichaud just a sec 03:04
colomon rakudo: say PARROT(0.5.asin.Num)
p6eval rakudo 4716fb: OUTPUT«Float␤»
pmichaud add a src/cheats/parrot/num.pir that puts a Num method in the Float class 03:05
(which returns the Float as a Num)
.namespace ['Float'] 03:06
.sub 'Num' :method $P0 = root_new [.RAKUDO_HLL;'Num'] assign $P0, self .return ($P0)
.end
argh, lost newlines
.namespace ['Float']
.sub 'Num' :method
$P0 = root_new [.RAKUDO_HLL;'Num']
assign $P0, self
.return ($P0)
.end
that way Float.Num will always be sure to return a Rakudo Num 03:07
do we not have HLL type mapping in place for floats, though?
I thought we did.
colomon I don't know. That's dark magic as far as I'm concerned.
pmichaud that appears to not be working as we'd expect 03:08
colomon one question: right now, if you call .Num on a Float, we think it calls Num.Num?
pmichaud yes. because of the way we map parrot classes onto rakudo types, all of the rakudo methods get installed into the parrot class
(unless the parrot class already has one)
colomon ah, cool.
pmichaud so, since parrot's Float doesn't have a .Num method, we force the one from Num in there 03:09
colomon jnthn and I were experimenting and found similar problems with Ints -- actually more common, but less troublesome, it seemed.
pmichaud however, since parrot's Float already has a .sin method, the one from Num doesn't make it there
colomon everything that calls upgrade_to_num_if_needed returns an Integer.
pmichaud this is only going to get worse, because the Parrot team seems to be steadily convering internal vtable calls (invisible) to method calls (visible) 03:10
mberends travel .nl -> .uk, ttyl
pmichaud good travels, mberends++!
mberends :-)
03:10 mberends left
colomon okay, building with Float.num now. 03:13
03:14 wolf2k_ubuntu left
pmichaud I think there must be a parrot bug here somewhere. 03:14
colomon Hmmm, doesn't seem to actually do anything. 03:15
pmichaud right 03:16
it's likely not doing anything
the problem seems to be that the hll_map isn't doing the right thing
I'm checking that now.
colomon How do I stick a "say" into PIR to make sure it is getting called? 03:17
pmichaud pir::say("something") # works
I suspect it's not getting called at all, now that I think about it.
colomon errr, wouldn't pir::say be something you stuck into P6 code? 03:18
pmichaud oh
in PIR itself, just say "something"
colomon bingo, danke
pmichaud ...something is very wrong with this picture.
> say PARROT(pir::sin__Nn(0.5)); 03:19
Num
so where is the Float coming from?
colomon asin
rakudo: say PARROT(pir::asin__Nn(0.5));
p6eval rakudo 4716fb: OUTPUT«Num␤»
pmichaud 'fraid not. :)
colomon oh, it's coming from from-radians 03:20
pmichaud need to rebuild
colomon jnthn and I worked that out the other day.
pmichaud where is that defined?
colomon Any-num, I think.
but it's even more frightening, I think it boils down to a self call. 03:21
sorry I forgot about that.
rakudo: say PARROT(pir::asin__Nn(0.5)!from-radians('radians'))
p6eval rakudo 4716fb: OUTPUT«Float␤»
pmichaud okay, that looks like a pct bug/issue 03:22
colomon pct?
pmichaud compiler toolkit
I'm guessing that PCT is handling the num conversion, and it's generating code to make a Float
should be 'box' instead
03:23 wolf2k_ubuntu joined
pmichaud checking 03:23
atan $N6044, $N6043
new $P6045, 'Float'
set $P6045, $N6044
yup
Evil.
colomon okay, so Float.Num isn't getting called, and in !from-radians self is already a Float when it hits the when 'radians' clause. 03:25
pmichaud the immediate call to !from-radians is causing PCT to box the num register into a Float 03:26
colomon but I suspect you're two steps ahead of me.
rakudo: my $a = pir::asin__Nn(0.5); say PARROT($a); my $b = $a!from-radians('radians'); say PARROT($b); 03:28
p6eval rakudo 4716fb: OUTPUT«ObjectRef->Num␤ObjectRef->Num␤»
colomon Does that imply we could fix it just by making the trig methods more verbose?
pmichaud well, I view that as more "workaround" than "fix"
I'm looking to see if I can fix PCT
short answer seems to be "yes", but I have some tests to run 03:29
colomon \o/
03:33 __rnddim__ joined
__rnddim__ Beh. I can't be lue, the server thinks lue is logged in. 03:34
diakopter __rnddim__: search a www index for: freenode nick recover 03:36
pmichaud ugh, my computer seems to be so slow these days :-( 03:38
running parrot 'make test' 03:39
__rnddim__ well, I finally compiled perl6!
RandalSchwartz is there a perl6 git now? I'm still using the svn 03:40
pmichaud __rnddim__: \o/
RandalSchwartz: for the most feature-full version of Rakudo, grab the tarball
RandalSchwartz Yeah - I know about that
just wondering if p6 has cut over to git as well 03:41
pmichaud but yes, rakudo is hosted on github
parrot is still svn
RandalSchwartz soon to change? :)
pmichaud not likely
there's a lot of resistance to switching to git from some of the parrot devs
RandalSchwartz sad 03:42
pmichaud there's a git mirror of the parrot svn somewhere, but I've not used it 03:43
supernovus Well, my observation so far: the new master is faster than the old one, but so far the majority of test scripts I've tried (that work perfectly under the old master), die in long exploding crashes. 03:44
chromatic trac.parrot.org/parrot/wiki/GitTransition
pmichaud supernovus: yes, I'm not surprised that most things crash at this time. we're still getting some of the base pieces in place.
__rnddim__ pmichaud: I know. It's amazing. (hang on, changing to lue...) 03:45
03:45 __rnddim__ is now known as lue
pmichaud colomon: change to pct seems to pass parrot and nqp-rx tests... now just need to try it with rakudo 03:45
(building/testing now) 03:46
colomon \o/
RandalSchwartz hmm. current rakudo master broken
2010-01-899-g4716fbc
this is weird - dyld: Library not loaded: /Volum
what is /Volum ?? 03:47
colomon supernovus: what's really impressive, from my point of view, is the number of tests that have stopped crashing in the last week...
lue how would I submit any spectests I run?
pmichaud RandalSchwartz: you may need a fresh clone from the rakudo repository. We did some delete/rename of the master branch yesterday.
RandalSchwartz on perl Configure.pl --gen-parrot && make
so I should git clean?
colomon lue: you mean your results? or tests that you have written?
lue yes, results. 03:48
RandalSchwartz git clean -dfx first
supernovus I'm keeping my January build of Rakudo for day to day stuff, but will be testing the new master and reporting anything that doesn't already have a bug assigned to it.
pmichaud hmmm, pct change broke rakudo build, though. :-(
colomon lue: If you're getting errors, nopaste them here.
lue haven't run them yet, just wanted to know if there's anything I needed to do before I started. 03:49
RandalSchwartz after git clean -dfx, checking now
all new parrot fetch
colomon lue: nah, just go for it!
RandalSchwartz ahh - seems to be getting further 03:52
parrot is fully configuring
pmichaud looks like the pct fix runs smack-dab into another bug
RandalSchwartz that might have been the problem. parrot, not rakudo
pmichaud looks like switching PCT to use the 'box' opcode gives us lots of pain with TT #784 03:55
and #1040
chromatic How certain are you? 03:56
pmichaud very
chromatic Alright, I'll work on that.
RandalSchwartz building a lot better
pmichaud Multiple Dispatch: No suitable candidate found for 'subtract_int', with signature 'PIP->P'
RandalSchwartz had to do the git clean
might be a useful thing to tell people
pmichaud RandalSchwartz: I sent messages to the mailing lists; probably needs a note on rakudo.org 03:57
RandalSchwartz git clean -dfx is handy
ooh, I have a perl6 binary
yeah, and it works 03:58
so that was the right mix
03:59 tjc left
pmichaud oh, also TT #562 03:59
colomon: so, short answer seems to be that I can't easily fix the num register to Num conversion in Rakudo at the moment. 04:01
colomon pmichaud: understood. but we've probably learned a good bit in the process, right? :)
pmichaud colomon: oh, absolutely. And you might be able to get better results by fixing up from-radians
rather than fixing all of the places that call it 04:02
colomon Hmmm... I'm not sure I have a notion of how to fix it?
pmichaud looking
colomon but that certainly sounds like it could be a big win.
pmichaud maybe change 04:03
03:58 -!- tjc [~tomasz@188-220-52-224.zone11.bethere.co.uk] has quit [Quit: Leaving]
arggggh
when /:i radians/ { self } # Convert to radians.
to have "self + 0" or "+self" instead of just "self"
supernovus Hmm, I have a file called "dice.pm" and one called "dice.p6" which begins with "use dice;" In the new master, it dies with: "load_bytecode" couldn't find file 'dice.pir' 04:04
pmichaud i.e., something that forces "self" to be a num
supernovus: I'm not sure if new master knows to look in PERL6LIB yet
colomon rakudo: say PARROT(asin(0.5) + 0)
p6eval rakudo 4716fb: OUTPUT«Num␤»
colomon oooo, lovely.
pmichaud rakudo: say PARROT(asin(0.5)) 04:05
p6eval rakudo 4716fb: OUTPUT«Float␤»
pmichaud rakudo: say PARROT(+asin(0.5))
p6eval rakudo 4716fb: OUTPUT«Num␤»
pmichaud looks like either works :)
colomon trying this now.
then I'm going to sleep. 04:06
pmichaud yes, I should get sleep also
colomon I think if this works we might get all the trig tests back.
though I may leave them out for a bit, because it's nice to have spectest run quickly. :)
> say sin(asin(0.5)) 04:08
0.5
dalek kudo/master: 65e2d3d | (Solomon Foster)++ | src/core/Any-num.pm:
Tweak radians cases of to- and from-radians so that they properly return a Num instead of a Float.
04:12
colomon afk # sleep -- will try to bring up trig tests tomorrow. 04:15
04:35 Schwern joined 04:48 ignacio_ left
pugs_svn r29741 | lwall++ | [Numeric] make it possible to have fast trig functions 04:51
04:53 supernovus left
TimToady phenny: tell colomon I revised the trigbase stuff in the spec yet again, but rakudo is still wrong. :) 04:57
phenny TimToady: I'll pass that on when colomon is around.
05:02 ignacio_ joined
pugs_svn r29742 | lwall++ | [Numeric] typo in previous patch 05:03
05:06 stephenlb left 05:10 zorgnax joined 05:13 ignacio_ left 05:14 cognominal left, cognominal joined 05:16 wolf2k_ubuntu left 05:27 ignacio_ joined 05:33 quester joined
quester pugs: my @x=<f a c e b g d >; say @x.sort; 05:34
p6eval pugs: OUTPUT«abcdefg␤»
quester rakudo: my @x=<f a c e b g d >; say @x.sort;
p6eval rakudo 65e2d3: OUTPUT«Method 'sort' not found for invocant of class 'Array'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
quester IIRC, @array.sort worked last week...
bkeeler The ng branch has become the new master, and there's a fair bit of regression 05:35
quester bkeeler: Ah, so... that would explain it. Thanks. 05:36
05:40 athenot left
TimToady alpha: you there yet? 05:42
p6eval alpha 30e0ed: OUTPUT«Confused at line 10, near "?"␤in Main (file <unknown>, line <unknown>)␤»
TimToady alpha: my @x=<f a c e b g d >; say @x.sort;
p6eval alpha 30e0ed: OUTPUT«abcdefg␤»
TimToady that's the old rakudo master
quester TimToady: Thank you! Do you recall where the appropriate git incantation to download alpha would be documented? 05:44
TimToady I think there's a tarball of it somewhere
RandalSchwartz git fetch origin
git checkout origin/alpha
presuming you're already cloned 05:45
lue (someone should change the topic to include alpha:)
RandalSchwartz if not, you have to add the clone step
git clone git://github.com/rakudo/rakudo.git 05:46
cd rakudo
git fetch
git checkout origin/alpha
there's the whole thing
for ques
quester 05:47
05:47 synth joined
lue I wonder how this regression will be explained to (relatively) typical users of rakudo? 05:47
quester RandalSchwartz: Thank you very much. I'm trying it now (as my eensie Sempron CPU melts under the strain)
RandalSchwartz bows
RandalSchwartz hits head on desk
ouch!
quester hugme: hug RandalSchwartz 05:48
hugme hugs RandalSchwartz
TimToady lue: it will be explained as progress, of course :)
RandalSchwartz is that *the* hugme? :)
hey TimToady
lue you know, the ones who don't contribute to its development.
TimToady hugme: hug RandalSchwartz real hard! 05:49
hugme hugs RandalSchwartz real hard!
quester Ummm... I think it's an artificial substitute. (Or have I just violated the Man Code?)
RandalSchwartz not the guy I know from nashville who goes by "hug me", ok
lue *cough* progress. *cough*
hugme: hugme
hugme lue:
RandalSchwartz as in, there is a specific individual who uses that handle
lue hugme: hug hugme 05:50
hugme hugs hugme
dukeleto recursive hugs?
05:50 cognominal left 05:51 cognominal joined
quester RandalSchwartz: No. I'm a long way from Nashville, both literally and figuratively. This "hugme" is a just bot on this channel. 05:51
lue hugme: hug someone
hugme hugs someone
RandalSchwartz ok - just curious
haven't seen the IRL hug me since last dragoncon 05:52
lue hugme:
hee hee :)
what's the phenny bot for? 05:53
TimToady phenny for your thoughts
lue phenny: erm... 05:54
isn't it phenny for your bots?
TimToady phenny: help 05:55
phenny TimToady: Hi, I'm a bot. Say ".commands" to me in private for a list of my commands, or see inamidst.com/phenny/ for more general details. My owner is sbp.
lue It comes with a manual!? aww... 05:56
TimToady also available with an automatic
lue phenny: beats 05:57
TimToady .u ☻ 05:58
phenny U+263B BLACK SMILING FACE (☻)
lue dalek: exterminate Windows 05:59
...darn. It should do that.
phenny: .beats 06:02
.beats 06:03
phenny @293
06:09 cognominal left 06:10 dakkar joined 06:18 lue left 06:29 kaare joined, kaare is now known as Guest4533 06:42 kidd` left 06:56 justatheory left 07:00 jferrero joined 07:02 yves joined, Schwern left 07:04 Schwern joined 07:08 cognominal joined 07:09 jferrero left 07:10 patspam left 07:11 ignacio_ left 07:12 patspam joined 07:13 patspam left 07:19 uniejo joined 07:22 Su-Shee joined 07:27 mssm joined 07:28 ignacio_ joined 07:31 Su-Shee left 07:37 Su-Shee joined, quester left 07:38 xinming_ joined 07:43 masak joined
masak good morning, #perl6! 07:44
TimToady morning is still 16 minutes away
masak I can go again, if you like.
TimToady lemme think about it a while 07:45
masak
.oO( no-one expects the Swedish morning inquisition )
07:45 quester joined
masak backlogs 07:46
quester pugs: ("1"|"2").perl.say;
p6eval pugs: OUTPUT«("1" | "2")␤»
quester alpha: ("1"|"2").perl.say;
p6eval alpha 30e0ed: OUTPUT«any("1", "2")␤»
quester rakudo: ("1"|"2").perl.say;
p6eval rakudo 65e2d3: OUTPUT«Could not find non-existent sub prefix:?␤current instr.: '&infix:<===>' pc 11746 (src/builtins/Parcel.pir:226)␤»
quester rakudo: say "another minor regression..." 07:47
p6eval rakudo 65e2d3: OUTPUT«another minor regression...␤»
masak hm. it does something, at least.
TimToady probably trying to compute identity of set elements
masak 's finger hovers over submit button on that one
quester rakudo: (1|2).perl.say;
p6eval rakudo 65e2d3: OUTPUT«any(1, 2)␤»
masak oh! 07:48
that alters things a bit.
TimToady rakudo: say "1" === "2"
p6eval rakudo 65e2d3: OUTPUT«Could not find non-existent sub prefix:?␤current instr.: '&infix:<===>' pc 11746 (src/builtins/Parcel.pir:226)␤»
quester masak: That's what I said... "oh!"
masak submits rakudobug
wonder how &infix:<===> is defined.
TimToady rakudo: say "1" eqv "2" 07:49
masak ah. it does a .tailcall to 'prefix:?'
p6eval rakudo 65e2d3: OUTPUT«0␤»
TimToady rakudo: say "1" === "1" 07:50
p6eval rakudo 65e2d3: OUTPUT«Could not find non-existent sub prefix:?␤current instr.: '&infix:<===>' pc 11746 (src/builtins/Parcel.pir:226)␤»
quester masak: Thanks. Are you just emailing the bug reports to [email@hidden.address] 07:53
masak quester: that's the way, yes. thinking of joining forces with me? :) 07:54
quester Well, it seems like an attractive idea, when $work < all($time_avaliable) # rarely, alas... 07:56
masak nod.
quester s/avaliable/available/
diakopter mmm. zucchini bread and banana bread. 07:57
masak we're at a fortuitous point in time where there's very much low-hanging fruit in Rakudo, thanks to the ng merge. 07:58
diakopter Perl 6 Junctions are kinda like Icon generators, /me muses 07:59
masak and the more spectests we manage to make pass before Thursday, the less of a regression the transition will constitute.
quester masak: Is it generally better to just reproduce bugs here or send them to RT? When I started I had no idea that the developers kept such a close eye on traffic to/from the rakudo bot. And yes, I've gotten a bit of squashed fruit in my hair that way.
diakopter masak: oh, I thought you meant the bugreports waiting to be sent were LHF
g'morning 08:00
masak quester: since I try to keep a mental model of the contents of RT, I always appreciate if people who are on the channel anyway signal their submitting a bug somehow, such as with '/me submits rakudobug'. helps avoid duplicates.
diakopter: yeah, that too. :) but I was referring to features. the one I just submitted, with prefix:<?>, ought to be dead simple. g'morning. 08:01
08:02 clausi joined
diakopter yawn 08:05
eth
masak hugme: hug hugme recursively 08:06
hugme hugs hugme recursively
masak lucklily, recursive hugs don't blow the stack.
diakopter fixed oodles of bugs in sprixel's codegen today. realized (more thoroughly) how these compilation techniques are more widely applicable to compiling functional&imperative languages. 08:07
masak diakopter: sounds interesting. if you had a blog, I would be a subscriber.
diakopter integrating the OPP stressed a lot of the codepaths permutations with which I hadn't yet manually experimented. 08:08
I do, and you are! it's at irc.pugscode.org
masak guess I'll have to make do with the c... yes. :)
diakopter porting AND refactoring/rewriting simultaneously is somewhat error-prone. 08:09
masak yes. 08:10
not sure I'd count that as refactoring, the definition of which involves keeping the phenotype constant :)
diakopter its behavior is around 50% recognizable
cross-genus fertilization 08:11
08:11 iblechbot joined
diakopter eh, more like cross-phylum fertilization. 08:12
masak heh, genera and phyla are purely human-made categories anyway :) 08:13
diakopter finished up circumfix and postcircumfix... this week I expect to be able to add the precedence level climbing and associativity handling, and I'll also think about list associativity. 08:15
masak those things all bear thinking about. I remember having lots of fun doing it, though. 08:17
diakopter all the scaffolding for precedences and associativity is there (the proper stack, I mean contentual); it shouldn't take but a couple hours. 08:18
sleep&
masak nod. at least in a bottom-up implementation, it all comes down to whether and how many times to reduce before handling the just-matched op or term. 08:20
08:27 fridim joined 08:29 ignacio_ left 08:35 Schwern left 08:48 lue joined 08:51 fridim left
mathw Morning 08:51
08:51 fridim joined 08:53 lue left
masak mathw: \o 08:53
mathw o/
quester Good night, all. Thanks again, masak. 08:54
masak quester: g'night!
moritz_ good morning
masak moritz_: morning! how goes the writing of papers?
moritz_ masak: slides, not papers 08:55
masak: it's making progress
masak ah. slides.
08:56 quester left
masak should start procrastinating slides for OSD in Copenhagen soonish 08:57
09:03 finanalyst joined
finanalyst rakudo: my $x="abcd"; say ?($x ~~ /c/) 09:05
p6eval rakudo 65e2d3: OUTPUT«1␤»
finanalyst rakudo: my $x="abcd"; my $y = "c"; say ?($x ~~ /$y/)
p6eval rakudo 65e2d3: OUTPUT«0␤» 09:06
moritz_ NYI it seems
finanalyst I thought the ng - now main - branch was supposed to implement this
09:06 masak` joined
moritz_ nqp-rx does 09:07
but I've never seen it in ng
09:07 masak left
moritz_ though it should be much easier to implement than in auld master 09:07
masak` I've only seen the /{$y}/ case so far, showcased yesterday by jnthn++. 09:08
09:08 masak` is now known as masak
moritz_ it doesn't try to match the return value of the closure, does it? 09:09
09:09 chromatic left, snarkyboojum left
masak no, it just runs the closure. 09:09
(at that point in the matching process) 09:10
moritz_ rakudo: my $x="abcd"; my $y = "c"; say ?($x ~~ /<{$y}>/)
p6eval rakudo 65e2d3: OUTPUT«1␤»
moritz_ rakudo: my $x="abcd"; my $y = "d"; say ?($x ~~ /<{$y}>/)
p6eval rakudo 65e2d3: OUTPUT«1␤»
diakopter masak: 09:11
rakudo: ????????????????????????????????????????????????????????????????????????????????
parse timeout
p6eval rakudo 65e2d3: ( no output )
moritz_ (even the timeout feels quicker today :-)
masak diakopter: was that directed specifically at me? :)
diakopter oh oops, 'scuse me 09:12
masakbot: see above
masak diakopter: yes, but why?
all I see is you tormenting the implementation...
diakopter seems to me that's worthy of a bugreport
masak sure, as soon as I figure out what's wrong with it.
diakopter (*I'd* want to know about a parse timeout)
moritz_ mailto:rakudobug@perl.org 09:13
masak it's not so much a bug in Rakudo, is it?
diakopter yesbut
masak more of a bug in p6eval.
diakopter LOL
I think I see your point
unfortunately
.
masak I agree that it'd be nice to have the information in question from p6eval. 09:14
timeouts are historically difficult to get right in the evalbot.
diakopter o wait
what
how could that be a bug in p6eval 09:15
masak p6eval waits X seconds to get a result back from Rakudo.
when it gets nothing, it reports 'no output'.
diakopter I'm confused
rakudo: ??????????? 09:16
p6eval rakudo 65e2d3: OUTPUT«Confused at line 11, near "??????????"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
diakopter rakudo: ????????????????????????
p6eval rakudo 65e2d3: OUTPUT«Confused at line 11, near "??????????"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
masak I run your 'program' locally, and it gives me 'Confused'. yes, like that.
diakopter rakudo: ?????????????????????????????????
p6eval rakudo 65e2d3: OUTPUT«Confused at line 11, near "??????????"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
diakopter rakudo: ????????????????????????????????????????????????????????
masak but throw enough confusion at it, and it won't have time to report its confusion :)
p6eval rakudo 65e2d3: ( no output )
diakopter how long does it take your local one to report Confused on the long one above 09:17
masak times it
diakopter falls into the clockface 09:18
masak this feels quadratic to me :) 09:19
diakopter sniffs
moritz_ so it's still in P :-) 09:20
masak add it to the FAQ: consider not writing 80 question marks one after the other in your program.
moritz_: I might be wrong. maybe it's exponential, even.
diakopter std: ????????????????????????????????????????????????????????????????????????????????
p6eval std 29742: OUTPUT«===SORRY!===␤Found ?? but no !!; possible precedence problem at /tmp/OyMt0rmORS line 1 (EOF):␤------> ????????????????????????????????????????⏏<EOL>␤ expecting any of:␤ POST␤ bracketed infix␤ infix or meta-infix␤ postfix␤
.. postfix_prefix_meta_…
masak STD++ # fast, honest 09:21
diakopter std: ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
p6eval std 29742: OUTPUT«===SORRY!===␤Found ?? but no !!; possible precedence problem at /tmp/EwYX5aZ8Ie line 1 (EOF):␤------> ????????????????????????????????????????⏏<EOL>␤ expecting any of:␤ POST␤ argument list␤ bracketed infix␤ infix or meta-infix␤
.. postfix␤ postf…
diakopter claps
let me rephrase.
09:22 mssm left
diakopter if I were the parser-generator's/interpreter's author/maintainer, *I'd* want to know about seemingly exponential behavior when parsing 80 question marks. 09:22
dalek kudo/master: c3aaa2e | moritz++ | t/spectest.data:
turn on two more passing tests
masak diakopter: waiting for Rakudo to finish parsing 80 question marks, I tend to agree :) 09:23
masak submits rakudobug
diakopter pugs: ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? 09:24
p6eval pugs: OUTPUT«*** ␤ Unexpected "?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????…
diakopter elf: ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
p6eval elf 29742: OUTPUT«Parse error in: /tmp/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'␤
..STD_red…
diakopter puts the question marks on hiatus
oh, I think I was supposed to be sleeping 09:25
masak Rakudo isn't back with an answer yet locally, and my computer has grown unresponsive. 09:26
it has now gobbled 1.5 GB of RAM.
diakopter odd that it could be an infinite loop.... it hasn't run out of memory yet//!??!?
oh
so not quite infinite...
masak no, but quite resource-intensive... :) 09:27
diakopter rakudo: say .88888888888.WHAT 09:30
p6eval rakudo 65e2d3: OUTPUT«No applicable candidates found to dispatch to for 'infix:<div>'␤current instr.: 'perl6;Rat;new' pc 293868 (src/gen/core.pir:32153)␤»
masak submits rakudobug 09:31
moritz_ rakudo: my $a; $a++ ++;
p6eval rakudo 65e2d3: OUTPUT«Confused at line 11, near "$a++ ++;"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
masak std: my $a; $a++ ++ 09:32
p6eval std 29742: OUTPUT«===SORRY!===␤Postfix found where infix expected (omit whitespace?) at /tmp/gZDxl3djpw line 1:␤------> my $a; $a++ ⏏++␤ expecting any of:␤ bracketed infix␤ infix␤ infix or meta-infix␤FAILED 00:01 110m␤»
diakopter rakudo: my $a != 3;
p6eval rakudo 65e2d3: OUTPUT«Use of type object as value␤current instr.: 'perl6;Perl6Exception;throw' pc 13865 (src/builtins/Seq.pir:28)␤»
diakopter that seems ok I think
masak feels a bit harsh to die at using a type object as a value, but yes. 09:33
diakopter rakudo: my $a eqv $a;
p6eval rakudo 65e2d3: OUTPUT«Multiple Dispatch: No suitable candidate found for 'is_equal', with signature 'PP->I'␤current instr.: '&infix:<eqv>' pc 332782 (src/gen/core.pir:46376)␤»
09:33 sjohnson sets mode: +o masak
masak sjohnson: many thanks. 09:33
sjohnson ( `ー´) 09:34
diakopter there's that gaim/pidgin/gtk buffer overrun
dalek kudo/master: e3a4d9a | moritz++ | t/spectest.data:
Turn on 18 more passing test files

   ulimit -v 1048576
   perl tools/update_passing_test_data.pl
And then looking closer at lines that start with [SPA]
diakopter I've been meaning to report it to #pidgin
pugs_svn r29743 | moritz++ | test for RT #63644 now passes
diakopter masak: is that a bug? my $a eqv $a 09:35
moritz_ rakudo: my $a eqv $a
masak diakopter: looks like it
p6eval rakudo c3aaa2: OUTPUT«Multiple Dispatch: No suitable candidate found for 'is_equal', with signature 'PP->I'␤current instr.: '&infix:<eqv>' pc 332782 (src/gen/core.pir:46408)␤»
masak submits rakudobug
moritz_ should be True
09:36 mssm joined
diakopter rakudo: 1 !== 1; 09:37
p6eval rakudo c3aaa2: OUTPUT«Cannot assign to readonly value␤current instr.: '&infix:<=>' pc 15648 (src/builtins/Junction.pir:169)␤»
diakopter I don't see the infix:<=>
masak is there really a !== operator? I thought it was != 09:38
moritz_ they are aliases
masak ok.
moritz_ you can apply the ! meta operator to infix:<==>
diakopter pugs: say 1 !== 0;
p6eval pugs: OUTPUT«1␤»
diakopter alpha: say 1 !== 0; 09:39
p6eval alpha 30e0ed: OUTPUT«1␤»
moritz_ resolves a ticket that ng closed 09:41
s/closed/fixed/
09:41 wayland76 joined
diakopter rakudo: say 5 * * 09:41
p6eval rakudo c3aaa2: OUTPUT«Method 'Num' not found for invocant of class 'Block'␤current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)␤»
moritz_ rakudo: 5 * *; say "alive" 09:42
p6eval rakudo c3aaa2: OUTPUT«Method 'Num' not found for invocant of class 'Block'␤current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)␤»
moritz_ no Whatever currying it seems
diakopter rakudo: say "alive"; say (5 * *)
p6eval rakudo c3aaa2: OUTPUT«alive␤Method 'Num' not found for invocant of class 'Block'␤current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)␤»
diakopter rakudo: say "alive"; say (5 * *).WHAT 09:43
p6eval rakudo c3aaa2: OUTPUT«alive␤Method 'Num' not found for invocant of class 'Block'␤current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)␤»
09:43 sjohnson sets mode: +o wayland76
diakopter rakudo: say 6 >== 2 09:45
p6eval rakudo c3aaa2: OUTPUT«Cannot assign to readonly value␤current instr.: '&infix:<=>' pc 15648 (src/builtins/Junction.pir:169)␤»
diakopter rakudo: say $_ >== 2
p6eval rakudo c3aaa2: OUTPUT«Use of type object as value␤current instr.: 'perl6;Perl6Exception;throw' pc 13865 (src/builtins/Seq.pir:28)␤»
moritz_ it shouldn't be an exception, just a warning
diakopter weird.. it's using *any* operator as an assignment operator, not just infix
09:45 quester joined
diakopter I mean, not just non-boolean-returning :) 09:46
pugs: say $_ >== 2
p6eval pugs: OUTPUT«1␤»
diakopter alpha: say $_ >== 2 09:47
p6eval alpha 30e0ed: OUTPUT«No applicable candidates found to dispatch to for 'prefix:='␤in Main (file <unknown>, line <unknown>)␤»
diakopter std: say $_ >== 2
p6eval std 29742: OUTPUT«===SORRY!===␤Can't make assignment out of >= because chaining operators are diffy at /tmp/exxpzOapIW line 1:␤------> say $_ >==⏏ 2␤FAILED 00:01 106m␤»
diakopter ah, a non-LTA error
masak submits rakudobug 09:48
jnthn morning 09:49
masak moritz_++ # closing the first RT ticket reported when alpha was master
jnthn: \o
diakopter submits morning
Lo 09:50
that's supposed to be me waving g'night
moritz_ good night
masak diakopter: g'night! 09:51
diakopter passes the fuzzer baton to masak
masak what am I supposed to do with this? it looks like a flashlight. 09:52
rakudo: say .8.WHAT
p6eval rakudo c3aaa2: OUTPUT«Rat()␤»
masak rakudo: say .88.WHAT
p6eval rakudo c3aaa2: OUTPUT«Rat()␤»
masak rakudo: say .8888.WHAT
p6eval rakudo c3aaa2: OUTPUT«Rat()␤»
masak rakudo: say .88888888.WHAT
p6eval rakudo c3aaa2: OUTPUT«Rat()␤»
masak rakudo: say .888888888.WHAT 09:53
p6eval rakudo c3aaa2: OUTPUT«Rat()␤»
masak rakudo: say .8888888888.WHAT
p6eval rakudo c3aaa2: OUTPUT«Rat()␤»
masak rakudo: say .88888888889.WHAT
p6eval rakudo c3aaa2: OUTPUT«No applicable candidates found to dispatch to for 'infix:<div>'␤current instr.: 'perl6;Rat;new' pc 293196 (src/gen/core.pir:31937)␤»
09:55 iblechbot left
jnthn masak: Shine light on bugs, of course. 09:55
masak jnthn: dang, for a while I was hoping I'd get to tase the bugs. 09:56
quester masak: Hello...?
masak quester: hi...?
quester I patched the ("1"|"2") bug (or "1" === "2" bug), it's just one line. Could I give it to you now or just wait until tomorrow when I have enough time to wade through the correct patch-submission procedure?
moritz_ quester: just nopaste the patch somewhere 09:57
masak quester: as I said over privmsg, whichever method you prefer.
moritz_ we currently have enough developers online so that it won't get lost
quester Okay, give me a minute and I'll nopaste it...
09:58 payload left
masak rakudo: 5 eqv 5 09:59
p6eval rakudo c3aaa2: ( no output )
moritz_ rakudo: say abs("-10")
p6eval rakudo c3aaa2: OUTPUT«10␤»
masak rakudo: Mu eqv Mu
p6eval rakudo c3aaa2: OUTPUT«Multiple Dispatch: No suitable candidate found for 'is_equal', with signature 'PP->I'␤current instr.: '&infix:<eqv>' pc 332782 (src/gen/core.pir:46408)␤»
jnthn guesses it updates an operator call name 10:00
lisppaste3 quester pasted "Patch for "1" === "2" and ("1"|"2")" at paste.lisp.org/display/95030 10:03
quester ... and were all patches that easy!!! 10:06
moritz_ I currently have another spectest running, when that's finished I'll try the patch 10:07
masak oh! I already applied it. 10:08
(and pushed)
moritz_ even better :-)
dalek kudo/master: 4730a80 | masak++ | src/builtins/Str.pir:
fixed tailcall to prefix:<?>
pugs_svn r29744 | moritz++ | remove lots of fudges that rakudo does not need anymore 10:09
jnthn moritz++ # getting our test count back up again! :-)
quester Thanks, everyone. 10:10
moritz_ quester++ # patching rakudo 10:11
10:15 cognominal left
quester Good night, everyone. (For real, this time.) 10:15
10:17 quester left
mathw what's the test count now? 10:18
10:20 fridim left, IllvilJa left
jnthn is doing a spectest run at the moment 10:20
moritz_ counts
10:22 sjohnson sets mode: +o mathw, riffraff joined, payload joined
jnthn hmm 10:23
t\spec\S16-io\basic-open.t .................................... Failed 4/9 subtests
moritz_ passed on linux 10:24
masak all tests successful here. 10:25
yay, 4813 tests passing!
jnthn Whee.
moritz_: oh, it's line-endings issue.
# got: "This is a test line.\r"
# expected: "This is a test line."
masak wonders how an updated rakudo.org/status would look 10:26
10:26 wayland76 left
moritz_ 4457 passing tests as counted by test_summary.pl 10:26
10:27 payload left
masak oh. I should say 4813 tests running, some of which pass and some of which are todo. 10:27
mathw bloody line endings 10:28
10:28 payload joined
mathw this month's rakudo release is going to be a bit of a regression isn't it :) 10:29
I'm waiting for someone to blog about how it shows Perl 6 has failed
masak that seems extremely likely.
mathw we'll have to get out the hugmobile again 10:30
masak we have a hugmobile? o.O 10:31
mathw of course!
masak tries to picture the hug analogue of images.google.se/images?q=batmobile
10:32 riffraff left
masak the corresponding image search on 'hugmobile' are much less consistent. 10:32
mathw that's because it's invisible 10:33
masak ooooh.
I don't like riding inside invisible cars. freaks me out.
I look down, and there's the road hurtling by below me, at 110 km per hour. :/ 10:34
moritz_ it seems masak is not used to the autobahn
masak moritz_: sure, but usually in a visible vehicle. 10:35
moritz_ then I'm surprised you only mention 110 km/h :-)
masak it's what the Swedish main roads usually have as a speed limit. 10:36
mathw I remember the autobahn
it was... interesting
given that the speed limit in the UK tops out at 70mph
so people on motorways don't tend to do more than about 85 10:37
10:37 riffraff joined
pugs_svn r29745 | moritz++ | unfudge passing test for rakudo 10:38
jnthn rakudo: say Junction ~~ Any 10:42
p6eval rakudo 4730a8: OUTPUT«1␤»
jnthn No wonder auto-threading is busted!
masak :D 10:43
jnthn Fixed locally. 10:44
> sub foo($x) { say $x }; foo(1|2)
1
2
\o/
masak jnthn++ 10:45
frettled oohoo 10:48
jnthn Heh. We pass test 1 of autothreading.t and then explode.
mathw it's better than passing none of them :) 10:51
jnthn ng: say 0 == Mu 10:52
rakudo: say 0 == Mu # gah :-)
p6eval rakudo 4730a8: OUTPUT«Use of type object as value␤current instr.: 'perl6;Perl6Exception;throw' pc 13865 (src/builtins/Seq.pir:28)␤»
10:55 drbean joined
jnthn Oh ouch. 10:57
rakudo: say Mu ~~ Any
p6eval rakudo 4730a8: OUTPUT«1␤»
jnthn That one is fixed too. 10:58
However, fixing it causes us to fail tests like...
ok( ?(Mu ?^ 1 == True), '?^ works');
Because infix:<?^>($x, $y) doesn't let you pass Mu as the first arg with this fixd 10:59
*fixed
:-|
masak that's as it should be, methinks. 11:00
Mu will probably have its own set of multi variants.
jnthn > say ?(Mu ?^ 1 == True)
No applicable candidates found to dispatch to for 'infix:<?^>'
11:00 iblechbot joined
jnthn is not aMused. 11:00
masak: That's going to be...quite a few variants. 11:01
We got away with it before since undef ~~ Any.
11:01 IllvilJa joined
mathw Is Junction ~~ Mu? 11:02
jnthn Yes
Everything ~~ Mu
mathw thought so
* ~~ Mu
jnthn I guess in a sense we want Mu:U variants.
So they only catch undefineds.
But :(Mu:U $x, $y), :($x, Mu:U $y) and :(Mu:U $x, Mu:U $y) feels...well, weird. 11:03
masak rakudo: class A {}; multi sub infix:<~~>(A, Mu) { False }; say A ~~ Mu 11:04
p6eval rakudo 4730a8: OUTPUT«0␤»
jnthn wonders what he's missing
masak not Everything ~~ Mu :)
mathw masak: cheat
masak sniggers
jnthn :-P
mathw jnthn: it seems like there should be some elegant way of handling this
jnthn Right.
My dilema is that the patch that fixes up auto-threading is a Parrot one.
The Parrot release goes out today. 11:05
If we don't get that patch in, auto-threading will be broken for the release, unless we can find some hack. 11:06
If it does go in, however, it breaks some tests we're passing at the moment.
And I don't immediately have a fix for that to hand. 11:07
mathw I think the autothreading fix is more important
you or someone else might fix those other things before we release
(I really shouldn't say 'we', but...) 11:08
jnthn Any other votes? :-)
mathw but without the Parrot fix, autothreading's busted until next month
11:08 finanalyst left
jnthn In a release, yes. 11:09
mathw well, true 11:10
of course it does depend on if Parrot will accept the patch into the release 11:11
jnthn It's a patch to a bit of p6object (it's ACCEPTS method) that I'm pretty sure will affect nobody else. 11:12
Especially as the fix is to s/Perl6Object/Mu/, and surely no other HLL will have had an object called Perl6Object at the top of their class hierarchy. :-)
(Plus I have a commit bit, so no trouble getting it in before the release.) 11:13
Actually 11:14
We're only going to regress on tests in one file. 11:15
t\spec\S03-operators\boolean-bitwise.t
The 2 other files I got failures in I think I can patch up
mathw why is there a class called Perl6Object in Parrot?
jnthn Since // probably really should accept Mu arguments, since it's the "is this defined" operator. :-)
mathw: There isn't.
mathw heh yes it should
11:15 riffraff left
jnthn I think a => Mu as a pair constructor should work too. 11:16
So fixing up the => operator also gets us back the other one.
So yeah, just one test.
mathw yes, you should be able to put Mu in a pair
jnthn Right 11:17
Between those, only need to regress on a couple of tests in that bitwise operator.
mathw then I'd say it's worth doing
just like I said before
jnthn Yeah, now I've got it down to 1 test file, I'm more confident.
mathw And remarkably, this is actually an issue I can understand :) 11:19
jnthn didn't actually set out to fix up junction auto-threading today, but is glad he caught it before the Parrot release. 11:21
Parrot commit done, Rakudo ones coming.
11:22 meppl joined
mathw \o/ 11:22
hugme: hug jnthn 11:23
hugme hugs jnthn
mathw I do think it's worse to have autothreading broken than a few bitwise operator tests... but that's my priorities being reflected
I've never used a bitwise operator in Perl 6 :) 11:24
jnthn They're only broken if you pass Mu to them anyway.
Only have to skip 2 tets. 11:25
pugs_svn r29746 | jnthn++ | [t/spec] Fudge a couple of tests we're going to temporarily regress for bitwise operators being given Mu; couple of fudges in a junctions test that we can now pass much of again. 11:29
jnthn gah, nearly typed "git push origin ng" again! 11:30
11:31 pmurias joined
jnthn Well, we win back a junctions test file after all that, so a net win. :-) 11:31
dalek kudo/master: 2b2da10 | jonathan++ | src/core/operators.pm:
Tweak a couple of signatures that should have Mu in.
11:35
kudo/master: 5aca279 | jonathan++ | build/PARROT_REVISION:
Bump PARROT_REVISION to get auto-threading fix.
kudo/master: 31260a4 | jonathan++ | t/spectest.data:
Turn S03-junctions/boolean-context.t back on again.
mathw \o/ 11:36
I used to think, how can you make three commits that quickly
then i realised it's just because you've pushed three commits all at once
and then I remembered how much I love that model
jnthn git. Making you look like a ninja coder to those who don't know the model. :-) 11:37
mathw yes 11:39
jnthn OK, so what did I akshaully set out to do today in Rakudo... :-) 11:43
xinming_ It seems, perl6 synopsis changed quite a lot. 11:46
What methods does arglist object will have? 11:47
colomon (wow, that's a lot of backlog this morning!) 11:48
phenny colomon: 04:57Z <TimToady> tell colomon I revised the trigbase stuff in the spec yet again, but rakudo is still wrong. :)
jnthn colomon: \o/
colomon \o 11:56
mathw o/
colomon interesting changes to TrigBase overnight. 11:58
moritz_ likes it 12:00
jnthn Seems to avoid dealing with strings.
On every call
jnthn thinks he's working out a way to implement prefix:<|> 12:01
Let's see if it'll fly.
colomon \o/
jnthn: it's always been supposed to be an enum on every call. (or at least, always since I started looking at it last year) 12:02
(trigbase, I mean)
Well, last night's work got us a couple more sin.t tests... 12:03
jnthn Nice.
colomon and the next one that fails fails because I never implemented Complex.asin in ng. 12:06
12:07 mssm left
jnthn Getting the trig tests back should be a sizable win. 12:09
colomon sin.t is up to 1620 here and still running....
1782 tests, that's the complete file, PASS 12:10
jnthn :-O
\o/
colomon It will take a little bit to get them all on-line, but the big question is, do we want to turn on 17,000 more spectests today? Might be worth waiting a day or two, just to give ourselves faster spectest runs. :) 12:11
12:11 finanalyst joined
jnthn colomon: Let's try and do it before the release. 12:12
colomon Yeah, that's what I was thinking. :)
jnthn It'll look better to say we dropped from 30,000ish to 20,000ish.
colomon ;)
jnthn Compared to 30,000ish to 5,000ish. :-)
Of course, we know full well that it's just because trig has Awesome Coverage compared to other areas. :-) 12:13
finanalyst jnthan: I just cloned new rakudo and tried smart matching with a variable. $x ~~ /{$y}/ works but not $x ~~ /$y/. Am I write in assuming the /$y/ form should work? 12:14
moritz_ finanalyst: $x ~~ /{$y}/ does not do what you think
jnthn {$y} is not matching the variable though.
moritz_ it always matches
12:15 cjk101010 joined
jnthn rakudo: my $y = 'x'; 'xxx' ~~ /$y/; say $/ 12:15
p6eval rakudo 31260a: OUTPUT«␤»
jnthn hmm
It should work.
finanalyst rakudo: my $x='abcd'; my $y='c'; my $z='f'; say ?($x~~/{$y}/); say ?($x~~/{$z}/) 12:16
p6eval rakudo 31260a: OUTPUT«1␤1␤»
finanalyst mmmm
jnthn oh
It may be a case of NYI
Looking at the PIR code that the regex compiles to. 12:17
colomon It never worked in alpha, did it?
finanalyst previously, using a variable inside a regex caused an error
jnthn No.
Right.
Now it *looks* liek it's parsing it as $ y
As in, anchor, followed by literal 12:18
colomon 'Z'zs;a q
qzx
jnthn colomon: Aye, agree. :-)
colomon I got up to blow my nose, and my little guy took over the computer keyboard. :)
finanalyst and there was i trying to figure out some new perl6 golf! 12:19
moritz_ colomon: you wouldn't be so egoistic to claim it all for yourself, would you?
colomon moritz_: claim what? 12:20
jnthn std: 'Z'zs;a q
p6eval std 29746: OUTPUT«===SORRY!===␤Two terms in a row at /tmp/5CZjYw1eJG line 1:␤------> 'Z'⏏zs;a q␤ expecting any of:␤ POST␤ bracketed infix␤ infix or meta-infix␤ postfix␤ postfix_prefix_meta_operator␤ statement modifier loop␤FAILED
..00:01 107m␤»
moritz_ colomon: the keyboard
jnthn Some training to go. :-)
colomon moritz_: :) 12:21
finanalyst I was looking at the ROADMAP now that ng -> main. It could do with a bit of TCL by an active developer. Also I note that REPL is given high priority. Does that include being able to define my @x=<a b c> on one line and then reference it on another line? 12:26
12:26 araujo joined
jnthn finanalyst: I gave it a little bit, but yes, it needs some more. 12:27
finanalyst: And yes, that is the big thing we want to achieve in the REPL improvements.
finanalyst good. i use it alot to understand what can and cant be done 12:28
12:29 araujo left 12:31 araujo joined 12:32 finanalyst left 12:34 araujo left, araujo joined
colomon has slowed the spectest to a crawl.... 12:38
masak long meeting & 12:41
12:41 masak left
moritz_ I suddenly get Bad plan in S03-junctions/boolean-context and S32-num/sign.t 12:42
jnthn oddness 12:44
I wonder if I messed up fudging of the junctions one.
dalek kudo/master: 0afe11b | moritz++ | t/spectest.data:
list-quote-junction.t now passes again
jnthn oh
the plan is 1..45 and we get to 47
huh.
colomon reverse seg fault bug. ;) 12:45
jnthn oh
colomon it randomly writes additional tests for you.
jnthn There's a DOES 3 further up
pugs_svn r29747 | jnthn++ | [t/spec] Add a missing #?DOES to fix up test count. 12:46
jnthn moritz_: That's one of 'em sorted out, at least. Not sure on the sign.t
moritz_ Nominal type check failed for parameter '$x'; expected Any but got Mu instead 12:48
current instr.: 'sign' pc 232299 (src/gen/core.pir:8530)
in sign.t
colomon I've just fixed all the turned off Complex trig functions here, and locally turned on the trig tests again. But it's time to go skiing, so it'll be a few hours before I can report results. :) 12:49
moritz_ I wonder if the test is valid
sign(Mu)
sign(Int) should work
jnthn colomon: Have fun!
moritz_: Oh. That's probably a victim of the fix I did to ensure that Mu ~~ Any is false...I get fails in sign.t due to NaN issues though, so I musta not noticed it. 12:50
pugs_svn r29748 | moritz++ | [t/spec] change sign(Mu) to sign(Int)
12:50 _jaldhar left
moritz_ jnthn: are undefined values excluded from type checks? 12:51
jnthn No
moritz_: I wonder if they should be.
moritz_ well
jnthn I mean, undef before was a special case.
moritz_ Mu ~~ Any # type-checks an undefined value 12:52
jnthn Yeah... 12:53
The problem was that all defined things were matching Any
Which broke junction auto-threading.
ooh, btw:
> our sub foo($a, $b, :$c) { say "$a $b $c"; }
> my $c = \(1,2,:c(3)); foo(|$c)
1 2 3
(We never had that one working before. :-)) 12:54
moritz_ wow
jnthn foo(|@a) and foo(|%h) should just be degernate cases of that now 12:56
yay, those two work as well :-) 12:58
takadonet morning all 13:03
13:03 bluescreen joined 13:04 orafu left, orafu joined
jnthn morning, takadonet 13:04
dalek kudo/master: a6e4c1f | jonathan++ | src/ (3 files):
Get prefix:<|> working in argument lists. All of foo(|@a), foo(|%h) and foo($c) work - the last of those never worked properly in alpha (it now passes along both positional and named parts of the capture).
13:07
takadonet nicely done jnthn 13:08
jnthn Hopefully. :-)
We'll see how it holds up. :-)
13:09 dakkar left
moritz_ to the masak bombardement? 13:09
jnthn Indeed.
I'll have a look at S02-builtin-data-types/capture.t later on. 13:10
Lunch and then Slovak class/test now.
13:11 dakkar joined
moritz_ whenever I write 'while (my ($k, $v) = each %hash) { ... }' in Perl 5 I *so* miss Perl 6 13:12
pmichaud good morning, #perl6 13:19
moritz_ \o/ 13:20
jnthn morning Pm 13:22
moritz_ jnthn: good luck with your test 13:23
jnthn moritz_: Thanks! :-) 13:25
13:26 bluescreen left
jnthn afk 13:26
mathw woo 13:32
exciting stuff since I wandered off, I see
13:33 brunov joined 13:36 crazed left 13:37 crazed joined 13:40 iblechbot left 13:41 bluescreen joined, payload left 13:46 pmurias left 13:49 payload joined
pmichaud on the prefix:<?> fix.... shouldn't that be &prefix:<?> ? 13:50
moritz_ rakudo: say (3 == 3).WHAT 13:51
p6eval rakudo a6e4c1: OUTPUT«Bool()␤»
mathw \o/
moritz_ seems to work as is - or do I misremember the place where it matters?
pmichaud I just know that internally we prefix all of our subs (including operators) with & now.
and 4730a80 doesn't seem to be doing that. 13:52
PerlJam greetings.
pmichaud greetings, PerlJam
PerlJam What's new?
moritz_ about 20 new passing test files 13:53
mathw jnthn fixed some things in master
it was exciting
PerlJam moritz_: \o/
mathw there was lots of test poking
it's a great spectator sport, this
13:58 lue joined 13:59 lue left 14:04 wanradt_ joined 14:08 arlinius left 14:10 huf is now known as tokensuggester, [synth] joined 14:14 synth left, wanradt_ left, Guest4533 left, kaare joined 14:15 kaare is now known as Guest166 14:25 xomas joined, xomas left, xomas joined 14:28 dakkar left 14:33 lue joined
dalek kudo/master: fd288ff | pmichaud++ | src/builtins/Str.pir:
Internal call in Str.pir to prefix:<?> should have &-prefix.
14:41
lisppaste3 colomon pasted "results of spectest run while skiing" at paste.lisp.org/display/95043
14:42 wanradt_ joined
moritz_ so... they all die somewhere inbetween? 14:42
14:46 ignacio_ joined
colomon moritz_: Half of them die. (versus all of them dying this morning.) 14:46
and "Tests=19066" even with half of the trig tests dying mid-test.
14:46 lue left
colomon I'm taking a pause to bring my master up-to-date, there have been a lot of changes since the last time I pulled. :) 14:47
Then I'll take a look at fixing the remaining trig issues.
pugs_svn r29749 | moritz++ | [t/spec] two unfudges for rakudo (prefix:<|> and .grep with junctions 14:48
r29750 | colomon++ | Take off a now-incorrect argument type declaration, and clean up test descriptions a bit. 14:49
14:49 jackyf joined
colomon blast, forgot the [t/spec] 14:49
we bumped parrot again? 14:53
mathw jnthn bumped parrot earlier to require the fix he put in there which restored autothreading in master 14:54
don't ask me why a parrot fix was needed, I didn't understand that bit
pmichaud bumping parrot is actually fairly common 14:55
it's only in the last 2-3 months that it's been uncommon, mainly because we've been redoing things that didn't impact parrot
mathw which is good, because it indicates growing maturity in parrot 14:56
pmichaud maybe. 14:57
mathw or alternatively a disturbing lack of parrot development, but I don't think it's that :)
pmichaud actually, from an HLL perspective I suspect that it is that.
colomon or more likely, a temporary immaturity in rakudo development. ;)
mathw because the HLL interfaces aren't changing?
pmichaud chromatic++ has been good about pushing parrot development from a hll perspective, but not much else
mathw: because rakudo has been focusing on redoing "simple" things, and not anything that pushes its own boundaries or the boundaries of parrot 14:58
mathw ah
:(
14:59 uniejo left
pmichaud as we're starting to move the new rakudo version along into more complex things and catch up with the Perl 6 spec, I suspect we'll see more impacts on parrot (and thus more PARROT_REVISION bumps) 14:59
15:00 UjinT34 left
mathw \o/ 15:01
15:03 tokensuggester is now known as huf
dalek kudo/master: 626ff56 | pmichaud++ | src/Perl6/Grammar.pm:
Add a more useful nyi error message for supersede.
15:04
colomon Hmmm, wonder why master doesn't have Num.acosec?
15:07 tjc joined
moritz_ because nobodoy implemented it? 15:08
15:09 dugg joined
colomon moritz_: more precisely, because I didn't port it from alpha. until just now. 15:09
jnthn back
pmichaud wb jnthn++ 15:10
jnthn yay it's pmichaud++ :-)
ooh, somebody wanted me in the backscroll...
dalek p-rx: 5c81874 | pmichaud++ | build/PARROT_REVISION:
Bump PARROT_REVISION.
15:13
p-rx: 7db921a | pmichaud++ | (2 files):
Add simple form of \cnnn processing.
p-rx: 9bf03df | pmichaud++ | (2 files):
Add \c[nn,nn,nn] form of character specification.
jnthn pmichaud: Mwaha...is that the named character thing that there's hundreds of tests for? :-) 15:14
jnthn survived his test o/
Need a cuppa...then I can hack again. :-) 15:15
15:15 wanradt_ left
pmichaud .u A 15:19
phenny U+0041 LATIN CAPITAL LETTER A (A)
pmichaud .u o 15:20
phenny U+006F LATIN SMALL LETTER O (o)
pmichaud .u
phenny pmichaud: 1 SPACE (U+0020)
pmichaud .u 3 15:21
phenny U+0033 DIGIT THREE (3)
jnthn .u ҉ 15:22
phenny U+0489 COMBINING CYRILLIC MILLIONS SIGN (҉)
jnthn .u ≸ 15:24
phenny U+2278 NEITHER LESS-THAN NOR GREATER-THAN (≸)
dalek p-rx: b72372c | pmichaud++ | (2 files):
Add \c[UNICODE CHAR NAME] literals.
jnthn ...otherwise know as equals? ;-)
colomon So apparently most of the trig file failures at this point reflect functions I skipped when I ported the Num trig functions to ng.
15:25 alester joined
jnthn colomon: Does that mean it's just a simple matter of implementing those ones? :-) 15:25
colomon jnthn: Bingo. 15:26
I've already got three of them working again.
jnthn \o/
mathw colomon++
colomon sec looks like it will be more trouble, so I skipped it for the moment. and cosec blew a zillion tests (possible because of sec). 15:27
hmmm, cotanh just blew a bunch of tests too, maybe that last one-liner wasn't actually right.... :\ 15:28
oh, right, missed the letter "a" in there. *blushes* 15:30
ooo, still problems though. Interesting, this one is being tricksy. 15:32
bbkr .u Ł 15:33
phenny U+0141 LATIN CAPITAL LETTER L WITH STROKE (Ł)
bbkr yay :)
jnthn nqp: say "\c[LATIN CAPITAL LETTER L WITH STROKE]" 15:34
p6eval nqp: OUTPUT«Confused at line 1, near "say \"\\c[LA"␤current instr.: 'parrot;HLL;Grammar;panic' pc 500 (src/cheats/hll-grammar.pir:197)␤»
jnthn aww
ETOOSOON
dalek p-rx: 61e9bd4 | pmichaud++ | src/Regex/P6Regex/ (2 files):
Add \c[...] literals to regexes.
15:35
pmichaud nqp: say("\c[LATIN CAPITAL LETTER L]") 15:37
p6eval nqp: OUTPUT«␤»
pmichaud too soon (earlier attempt forgot parens on "say")
nqp: say("\c65")
p6eval nqp: OUTPUT«␤»
15:40 justatheory joined 15:43 nihiliad joined, mssm joined
diakopter oh, I might've disabled the nqp updating/rebuilding 15:49
re-enabled 15:51
sigh. too many parrots. 15:52
src/ops/core_ops_switch.c:14268: warning: dereferencing type-punned pointer will break strict-aliasing rules 15:53
pugs_svn r29751 | jnthn++ | [t/spec] Re-fudging of capture.t; we pass more of it than alpha ever did. :-)
jnthn That's just not punny. 15:54
15:56 hudnix left, Psyche^ joined
diakopter ./parrot runtime/parrot/library/PGE/Perl6Grammar.pir --output=compilers/pge/PGE/builtins_gen.pir compilers/pge/PGE/builtins.pg 15:57
15:57 clausi left
diakopter Unknown PMC type to thaw 0 15:57
current instr.: 'parrot;PGE;Perl6Grammar;Compiler;__onload' pc 24 (runtime/parrot/library/PGE/Perl6Grammar.pir:76)
15:57 jferrero joined
diakopter make: *** [runtime/parrot/library/PGE.pbc] Error 1 15:57
===SORRY!===
dalek kudo/master: 2795c05 | jonathan++ | t/spectest.data:
Turn S02-builtin_data_types/capture.t back on.
15:58
15:59 hudnix joined 16:01 Patterner left, Psyche^ is now known as Patterner
diakopter (trying to build parrot again) 16:08
nqp: say("\c65") 16:11
p6eval nqp: OUTPUT«A␤»
diakopter nqp: say("\c[LATIN CAPITAL LETTER L]")
p6eval nqp: OUTPUT«L␤»
diakopter nqp: say("\c[NEITHER LESS-THAN NOR GREATER-THAN]")
p6eval nqp: OUTPUT«≸␤»
jnthn nqp: say("\c[REVERSED ROTATED FLORAL HEART BULLET]") 16:14
p6eval nqp: OUTPUT«☙␤»
jnthn nqp: say("\c[GAS PRINCESS]") 16:15
p6eval nqp: OUTPUT«Unrecognized character name GAS PRINCESS␤current instr.: 'parrot;HLL;Actions;charname' pc 17150 (gen/hllgrammar-actions.pir:1)␤»
jnthn aww!
Whee. 16:16
> our sub foo(|$c) { say $c[0]; say $c[1]; say $c<a>; }
> foo(4, 2, :a(99))
4
2
99
colomon Off to fetch noms, but I'm going to leave spectest running with trig turned on again to see where we are now. 16:18
pmichaud oh, I can do better on the error message there. 16:20
jnthn Awesomize! 16:23
dalek p-rx: 42d216f | pmichaud++ | src/stage0/ (3 files):
Update bootstrap files.
pmichaud yes, it should at least give the line number
jnthn Yeah
Oh Awesome. 16:24
> our sub foo(|$c ($p, :$a)) { say "Cap: {$c[0]} {$c<a>}"; say "UnP.: $p $a"; }
> foo(4, :a(2))
Cap: 4 2
UnP.: 4 2
Capture unpacks. :-D 16:25
pmichaud Win!
TimToady \o/
PerlJam Are we using () now for packing/unpacking instead of [] ? 16:26
jnthn PerlJam: Depends what you want to unpack.
16:26 uniejo joined
TimToady they're much the same, but [] emphasizes linear listiness 16:27
jnthn PerlJam: A signature :([...]) will (should!) tell the multi-dispatcher that it wants Positional there too, I think.
PerlJam will sub foo (($head, *@tail)) { ... } work?
pmichaud > say ?('A' ~~ /<isLu>/)
1
> say ?('a' ~~ /<isLu>/)
0
...excellent :)
jnthn Lu? 16:28
pmichaud "Letter uppercase"
PerlJam er, the call would be foo(@array)
jnthn Ah :-)
TimToady it shouldn't work without *$head
pmichaud there are ~1K tests of unicode character properties
TimToady that is, the array would be bound as a whole to $head otherwise
jnthn PerlJam: Don't think so.
PerlJam TimToady: okay, but the "extra" parens don't tend to evaporate as they do in Perl 5 ?
jnthn TimToady: The extra parens in there probably mean something, mind... 16:29
rakudo: sub foo (($head, *@tail)) { say $head; } my @x = 1,2,3; foo(@x) # wonder...
p6eval rakudo 2795c0: OUTPUT«Confused at line 11, near "sub foo (("␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
jnthn std: sub foo (($head, *@tail)) { say $head; } my @x = 1,2,3; foo(@x) # wonder...
p6eval std 29751: OUTPUT«===SORRY!===␤Missing semicolon or comma after block at /tmp/XOnL9dwo6g line 1:␤------> ub foo (($head, *@tail)) { say $head; } ⏏my @x = 1,2,3; foo(@x) # wonder...␤ expecting any of:␤ bracketed infix␤ infix or meta-infix␤ statement
..modifier lo…
jnthn oh duh 16:30
rakudo: sub foo (($head, *@tail)) { say $head; }; my @x = 1,2,3; foo(@x) # wonder...
p6eval rakudo 2795c0: OUTPUT«1␤»
jnthn heh.
It works because the nested parens imply it's a subsignature on the first argument, I guess.
diakopter rakudo: sub foo ((($head, *@tail))) { say $head; }; my @x = 1,2,3; foo(@x) # wonder...
p6eval rakudo 2795c0: OUTPUT«Method 'list' not found for invocant of class 'ResizablePMCArray'␤current instr.: 'perl6;ClassHOW;attributes' pc 3520 (src/metamodel/ClassHOW.pir:48)␤»
PerlJam so ... that's what I thought would happen, but it's surprising (to me) that it be that way. 16:31
jnthn diakopter: heh hen.
*heh
diakopter: I'm not quite sure what it's doing there. :-)
pmichaud well, '.list' is still suspect in rakudo 16:32
I'll work on that some more after lunch.
jnthn Ah, OK.
I need to re-visit the object introspection.
diakopter commute&
jnthn (Not put much effort into it yet...) 16:33
Whee, we pass all but one of capture.t now :-)
jnthn notes that between c[...] and trig, we could potentially win back an awful lot of tests today 16:35
pmichaud and .sort should be on deck as well :)
jnthn \o/
That capture stuff knocks another lump of work of my "last bits my grant needs" list. :-) 16:36
In fact, the only major task left now is the
TimToady the problem with allowing () subsigs any old where is it makes it impossible to catch the -> () {...} braino
jnthn my (...signature here...) := foo()
TimToady which we're going to get a lot of, given that Ruby made it optional
jnthn TimToady: I was a little surprised we used (...) sub subsigs and not {...} when I first saw them, or didn't require a : on the start, fwiw. 16:37
TimToady: "just parens" surprised me.
TimToady we can't use {...} because then we can't detect the { that ends a -> sig
jnthn s:1st/sub/for/
Good point.
Can we require the colon before them?
PerlJam +1 require colon 16:38
TimToady and the spec actually only docs the () form after a $top
we could, though people will then write $foo:(stuff) and get confused
jnthn I thought I copied from std. :-P
TimToady you probably did
jnthn I'd expect people to write $foo :(stuff) 16:39
Unless they were being stingy with the spacebar
Or does it mean something different without the space?
TimToady any identifier may be continued with an adverb
jnthn oh? 16:40
TimToady Module:ver<1.2.3>
PerlJam Can we give a reasonable message when they do $foo:(stuff) ?
TimToady yes
jnthn std: my $foo:ver(1) = 42;
p6eval std 29751: OUTPUT«ok 00:01 107m␤»
dalek p-rx: 4fc27f3 | pmichaud++ | src/HLL/Actions.pm:
Unrecognized charname should .panic instead of pir::die.
p-rx: bbfd1a7 | pmichaud++ | src/stage0/ (3 files):
Update bootstrap with improved panic message for charnames.
jnthn wtf!
PerlJam Hmm.
jnthn I'm not sure if that's awesome or horrid. :-)
std: my $foo:ver(1) = 42; say $foo; 16:41
pmichaud "Yes."
p6eval std 29751: OUTPUT«ok 00:01 107m␤»
PerlJam jnthn: I lean towards "awesome" on that one :)
jnthn std: my $foo:ver(1) = 42; my 4foo:ver(2) = 69; say $foo;
p6eval std 29751: OUTPUT«===SORRY!===␤Malformed my at /tmp/WR3WZStLTf line 1:␤------> my $foo:ver(1) = 42; my ⏏4foo:ver(2) = 69; say $foo;␤ expecting scoped declarator␤FAILED 00:01 107m␤»
jnthn std: my $foo:ver(1) = 42; my $foo:ver(2) = 69; say $foo;
p6eval std 29751: OUTPUT«ok 00:01 107m␤»
PerlJam awesome in a perly way
jnthn Which $foo? :-)
Juerd What is :ver? Are those versioned variables? 16:42
jnthn Juerd: Any adverb will do.
Juerd my $ver = $foo.commit;
jnthn Juerd: I just thought version variables were a mind-bendingly curious idea. :-)
Juerd my $diff = $foo:ver($ver - 1).diff; 16:43
:P
TimToady S02:3139
Juerd $foo:ver(42).tag("Release 0.05")
pugs_svn r29752 | jnthn++ | [t/spec] Unfudge a bunch of capture tests that we can now pass. :-) 16:44
TimToady one of the reasons we got rid of :by was that I knew people were going to write 1..$x:by(3)
dalek kudo/master: 13ccd20 | jonathan++ | src/b (2 files):
Implement captures in signatures.
TimToady std: my $x = 100; say 1..$x:by(3);
p6eval std 29751: OUTPUT«Potential difficulties:␤ Variable $x:by(3) is not predeclared at /tmp/jziosL12Qy line 1:␤------> my $x = 100; say 1..$x:by(3)⏏;␤ok 00:01 107m␤» 16:45
Juerd I still do think :by is easier to grasp at first, but the ... thing is much nicer overall.
pmichaud oh, I like 1, 4, 7 ... $x better :)
(yes, that assumes $x > 7)
Juerd pmichaud: I think non-programmers will guess what it means, and programmers will stare at it and eventually look up the ... operator, and then facepalm themselves. 16:46
pmichaud Juerd: sounds like we're hitting our target, then :)
jnthn rakudo: my @a = 1, 1, 2, 3, 5, 8, ... *; for 1..10 { say @a[$_] }
p6eval rakudo 2795c0: OUTPUT«No exception handler and no message␤current instr.: '&fail' pc 15882 (src/builtins/Junction.pir:299)␤»
TimToady me too, I think I'll go back in time and tell my older self to spec it...hang on...done
jnthn Aww!
TimToady now, we don't do fibonacci
*no
jnthn Worth a try. :-)
PerlJam TimToady: tell you're *older* self back in time? 16:47
Juerd no fibonacci; # program dies when Perl detects any fibonacci sequence
pmichaud and there was an extra comma
PerlJam TimToady: oh, right ... you're Doctor Who
pmichaud actually, TimToady is not of the mortal realm, according to some presentations I've seen :)
TimToady well, or the real Merlyn
16:47 iblechbot joined
TimToady std: my @a = 1, 1, 2, 3, 5, 8, ... *; for 1..10 { say @a[$_] } 16:47
p6eval std 29751: OUTPUT«ok 00:01 108m␤» 16:48
PerlJam pmichaud: does the extra comma hurt? Seems like another one of those places where Perl should be smart enough to DTRT
TimToady it fails when it evaluates the ...
so likely to be detected eventually
pmichaud because the ... is in term position, and that means something else.
PerlJam of course, if it works, then you'll have people doing this too: my @a = 1, 1, 2, 3, 5, 8, ..., *; 16:49
TimToady anyway, fibonacci is just 1,1...&[+] anyway
I wonder if we can force *+* to do that somehow 16:52
jnthn rakudo: my @a = 1, 1 ... &infix:<+>; for 1..10 { say @a[$_] }
p6eval rakudo 2795c0: OUTPUT«Symbol '&infix:<+>' not predeclared in <anonymous>␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)␤»
jnthn damm
fail
PerlJam Perl 6 is where all the Tolkien quotes belong. A "regular" programming language is just the story of one character, Perl 6 is the story of a whole host of characters of varying species.
TimToady if we rename WhateverCode to Curry1, then a Curry1 could produce a Curry2 16:54
except it's really a kind of anticurry 16:56
in *+2 it's the 2 that's the curried arg 16:57
not the *
16:57 tjc left
TimToady maybe Whatever1 and Whatever2 16:58
pmichaud Thing1 and Thing2
TimToady or Whatever[$n] as generic
pmichaud whee!! t/spec/S05-mass/properties-general.t passes! 17:02
All tests successful. 17:03
Files=1, Tests=594, 91 wallclock secs ( 0.07 usr 0.00 sys + 84.48 cusr 6.74 csys = 91.29 CPU)
dalek kudo/master: 79e7b62 | pmichaud++ | build/PARROT_REVISION:
Bump PARROT_REVISION to get latest \c[...] fixes.
kudo/master: fdcde82 | pmichaud++ | (3 files):
Add <isLu> and other <isProp> subrules.
kudo/master: cdf816d | pmichaud++ | src/b (2 files):
Merge branch 'master' of [email@hidden.address]
kudo/master: 6ef9f8e | jonathan++ | t/spectest.data:
S12-class/basic.t should not be in the regressed files list - we run it.
kudo/master: b73e000 | pmichaud++ | t/spectest.data:
Merge branch 'master' of [email@hidden.address]
TimToady to generalize, we need the arg that *isn't* Whatever to accept a Whatever[n] and do the correct transform to Whatever[n+1]
and this is starting to sound more like the autothread-outside-of-Any kind of deal 17:04
jnthn pmichaud: Nice! :-D
pmichaud of course, it takes 1.5 minutes to run the test... but it passes!
17:05 k23z__ joined
TimToady such that you only write Whatever args if you want to capture control of it, but otherwise let the system rewrite your currying for you 17:05
but for now, I think we should conservatively say that *+* is illegal, rather than taking it to mean {$^a + $^a} 17:06
pmichaud rakudo: say "\c[LATIN CAPITAL LETTER A]" 17:07
p6eval rakudo 13ccd2: OUTPUT«␤»
pmichaud not yet updated, I guess.
TimToady currying two different args will be more powerful
pmichaud rakudo: say "\c65"
p6eval rakudo 13ccd2: OUTPUT«␤»
pmichaud oh well
lunch tie
TimToady and then we could write fib as 1,1 ... *+*
pmichaud *time
TimToady and then maybe we don't have to put in a special rule that &[op] is binary even if op is list associative 17:08
or maybe the compiler should simply know what it can curry at compile time 17:09
since speed would be kinda nice 17:10
and then anything the compiler doesn't recognize falls back to runtime Whatever dispatch
PerlJam Would that be the only construct that triggers a compiler time curry? 17:12
TimToady Arity[1] and Arity[2] maybe
PerlJam We still have the closure form for other stuff though, right? So I guess that's all that matters. 17:13
TimToady PerlJam: we don't need a lot of them, given {$^a+$^b} is also available
PerlJam right.
+1 compile time curry :)
TimToady and it might be culturally frowned upon to overuse * * * 17:14
PerlJam though I'm still leery of too many syntactic shenanigans
TimToady this seems to be settling in to a very common idiom, however 17:15
and see how often currying is used in, say, Haskell
but they have to do tricks like (x+) to indicate missing args 17:16
$x + * is much clearer
17:17 pjcj joined
TimToady well, something to think about, anywhoo 17:19
I guess the way to disable any current *+* recognition is to remove sigs that recognize WhateverCode 17:20
either that, or give them the Arity2 semantics 17:21
in any case, probably should fix the spec first 17:22
jnthn
.oO( mmm...curry )
17:24
17:28 pausenclown_ joined
pausenclown_ hi 17:28
17:28 ignacio_ left
pausenclown_ alpha: grammar X { rule TOP { \[ \# {*} } }; class X { }; XML::Parser::Chars::Grammar.parse( "[#x0041-#x005A] | [#x0061-#x007A] | [#x0030-#x0039] | #x002D | #x002E | #x005F", :action( X.new ) ); 17:28
p6eval alpha 30e0ed: OUTPUT«Re-declaration of type X at line 10, near "; XML::Par"␤in Main (file src/gen_setting.pm, line 1671)␤»
pausenclown_ alpha: grammar X { rule TOP { \[ \# {*} } }; class X { }; X.parse( "[#x0041-#x005A] | [#x0061-#x007A] | [#x0030-#x0039] | #x002D | #x002E | #x005F", :action( Y.new ) );
p6eval alpha 30e0ed: OUTPUT«Re-declaration of type X at line 10, near "; X.parse("␤in Main (file src/gen_setting.pm, line 1671)␤»
pausenclown_ alpha: grammar X { rule TOP { \[ \# {*} } }; class Y { }; X.parse( "[#x0041-#x005A] | [#x0061-#x007A] | [#x0030-#x0039] | #x002D | #x002E | #x005F", :action( Y.new ) ); 17:29
p6eval alpha 30e0ed: ( no output )
pausenclown_ alpha: grammar X { rule TOP { \[ \# {*} } }; class Y { }; say X.parse( "[#x0041-#x005A] | [#x0061-#x007A] | [#x0030-#x0039] | #x002D | #x002E | #x005F", :action( Y.new ) );
p6eval alpha 30e0ed: ( no output )
pausenclown_ rakudo: grammar X { rule TOP { \[ \# {*} } }; class Y { }; say X.parse( "[#x0041-#x005A] | [#x0061-#x007A] | [#x0030-#x0039] | #x002D | #x002E | #x005F", :action( Y.new ) ); 17:30
p6eval rakudo 13ccd2: OUTPUT«Symbol '$ss_SS_S_S__S_S_s' not predeclared in <anonymous>␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)␤»
17:30 vojnet joined
pugs_svn r29753 | jnthn++ | [t/spec] Correct mistake in array unpacking test, and make it work without reduction operator. 17:34
dalek kudo/master: ed95e25 | jonathan++ | t/spectest.data:
Add S06-signature/unpack-array.t to spectest.data.
17:38
kudo/master: f5d9b53 | jonathan++ | (2 files):
Add a first cut implementation of infix:<xx> so we can pass all of S03-operators/repeat.t again.
diakopter rakudo: my $foo:ver(1) = 42; my $foo:ver(2) = 69; say $foo; 17:39
p6eval rakudo b73e00: OUTPUT«Symbol '$foo' not predeclared in <anonymous>␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)␤»
jnthn rakudo: my $foo:ver(1) = 42; say $foo:ver(1) 17:40
p6eval rakudo b73e00: OUTPUT«42␤»
jnthn Wow.
Copying STD FTW.
PerlJam that error message doesn't make sense though. 17:42
jnthn I'm not sure whether it should be an error.
17:42 Trashlord joined
jnthn I figure it should be. 17:42
In which case I guess the error isn't so weird.
PerlJam dunno. i'm not a language designer :) 17:43
17:43 cosimo joined
PerlJam jnthn: If I've said "my $foo..." and it's complaining about the $foo symbol not predeclared, I'm going to be confused at least once. 17:44
so, the message is LTA, if expected
17:46 stephenlb joined
TimToady mind you, the symbol installer should canonicalize all those adverbs so that $x:(1) means the same as $x:( 1 ) 17:48
and such
and STD doesn't do that yet
std: my $x:(1); say $x:( 1 )
p6eval std 29752: OUTPUT«Potential difficulties:␤ Variable $x:( 1 ) is not predeclared at /tmp/KDkQ80WVq0 line 1:␤------> my $x:(1); say $x:( 1 )⏏<EOL>␤ok 00:01 111m␤»
TimToady but one universal canonicalization method should suffice for things like versioned module names as well 17:49
and the differences between infix:sym« <=> » and infix:sym<\<=\>> 17:50
17:50 Chillance joined
PerlJam TimToady: my $a ::= ...;makes the container readonly? Can you rebind? 17:51
TimToady it would probably help the optimizer if you couldn't 17:52
diakopter everytime someone mentions 'the optimizer' I get these nagging doubts about its existence 17:54
TimToady I have no doubts; it doesn't exist 17:55
PerlJam diakopter: the null optimizer is still "the optimizer" :)
TimToady but its type is Optimizer, not Mu :) 17:56
17:57 jerkmaster left
TimToady maybe we should name our optimizer Socrates, so we can do syllogisms like: if Socrates ~~ Optimizer {...} 17:57
diakopter std: sub Socrates() { }; if Socrates ~~ Optimizer {...} 17:59
p6eval std 29753: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix ~~ instead at /tmp/qiJe7Fsq26 line 1:␤------> sub Socrates() { }; if Socrates ~~⏏ Optimizer {...}␤FAILED 00:01 108m␤»
diakopter std: sub Socrates() { }; if Socrates < Optimizer {...} 18:00
p6eval std 29753: OUTPUT«===SORRY!===␤(Possible runaway string from line 1)␤Preceding context expects a term, but found infix < instead at /tmp/nDiJqvUpF7 line 1 (EOF):␤------> es() { }; if Socrates < Optimizer {...}⏏<EOL>␤ expecting escape␤FAILED 00:01 108m␤»
diakopter backtracking fail 18:01
18:01 ggoebel joined, ggoebel left, ggoebel joined
TimToady no, that is not supposed to backtrack 18:01
a listop always expects a term 18:02
18:02 jferrero left, ShaneC joined
diakopter std: sub Socrates() { }; if Socrates() ~~ Optimizer {...} 18:02
TimToady and Perl 6 doesn't pay attention to the signature; subs are always listops
p6eval std 29753: OUTPUT«===SORRY!===␤Function 'Optimizer' needs parens to avoid gobbling block at /tmp/fsBZEh8foE line 1:␤------> rates() { }; if Socrates() ~~ Optimizer⏏ {...}␤Missing block (apparently gobbled by 'Optimizer') at /tmp/fsBZEh8foE line 1 (EOF):␤------>
..…
TimToady likewise
diakopter std: class Socrates { }; class Optimizer { }; if Socrates ~~ Optimizer {...} 18:04
p6eval std 29753: OUTPUT«ok 00:01 106m␤»
diakopter oh
TimToady there are lots of ways to declare standalone terms, but sub ain't one of 'em
class, constant, enum, macro... 18:05
well, okay, sub term:<Socrates> would work in theory
diakopter std: class Socrates { }; class Optimizer { }; sub Socrates() { }; if Socrates ~~ Optimizer {...}
p6eval std 29753: OUTPUT«===SORRY!===␤Illegal redeclaration of routine 'Socrates' (from line 1) at /tmp/u69Amtr8FL line 1:␤------> s { }; class Optimizer { }; sub Socrates⏏() { }; if Socrates ~~ Optimizer {...}␤ expecting new name to be defined␤FAILED 00:01 105m␤»
justatheory contains multitudes
TimToady STD is almost as hard to fool as Mother Nature, at least occasionally... 18:06
18:06 clausi joined
diakopter std: class Socrates { }; class Optimizer { }; sub term:<Socrates> { }; if Socrates ~~ Optimizer {...} 18:06
p6eval std 29753: OUTPUT«ok 00:01 109m␤»
TimToady not sure STD does term: yet 18:07
std: class Optimizer { }; sub term:<Socrates> { }; if Socrates ~~ Optimizer {...}
p6eval std 29753: OUTPUT«ok 00:01 109m␤»
18:07 nihiliad left
TimToady okay, you can fool it with term: :) 18:07
I guess it figgers you know what you're doing if you use term: 18:08
(what's really going on is that it derives a new grammar at that point, so it doesn't even check if Socrates is defined outside.) 18:09
diakopter O_.
lisppaste3 colomon annotated #95043 "post-nom trig test results" at paste.lisp.org/display/95043#1 18:11
jnthn colomon: ooh, only two files that still have issues. 18:13
pmichaud back from walk 18:14
jnthn Tests=22105 :-)
wb, pmichaud
Did you decide not to add the char name tests back to the spectests we run for now, btw, or just a forgotten push?
pmichaud hadn't decided 18:16
more precisely, nom > adding tests back
TimToady シャワー &
PerlJam notices in his scrollback that merlyn is playing with rakudo now.
18:17 jackyf left 18:18 lue joined
jnthn pmichaud: Agree, I'm gonna go cook some in a moment. :-) 18:18
pmichaud: One thing I was wondering if you may have a moment to glance at... 18:19
pmichaud: I can't make Hash a class because the code NQP generates is doing new ['Hash'], not root_new ['parrot';'Hash']
And if I switch it to a class, we end up associating our new class with the namespace. 18:20
pmichaud I can likely fix NQP 18:21
but not in time for 2.1.0 release :-|
jnthn Aww.
OK. 18:22
We can do it later
It's not a big deal.
I think we'll get a performance win once it's a class again.
On most method calls (since slurpy hash creation gets cheaper)
18:23 lue left
pmichaud spectesting rakudo against 2.1.0 release now 18:24
colomon \o/ 18:26
18:31 justatheory left, justatheory joined 18:32 REPLeffect left
colomon pmichaud: I take it 2.1.0 works! 18:33
pmichaud mostly -- I'm getting a fail in ord_and_chr.t 18:34
PerlJam 2.1.0 has been released?
colomon same here, before that pull, I think.
pmichaud but I don't think that's due to the 2.1.0 release. I could be wrong about that.
colomon pmichaud: agreed, I don't have your 2.1.0 update
and I'm getting a ord_and_chr.t fail.
pmichaud is "\c[LATIN CAPITAL LETTER A WITH DOT ABOVE]", 18:35
555,
'.ord defaults to graphemes (2)';
huh?
how can a string equal 555 ?
pmichaud thinks there must be a missing .ord
dalek kudo/master: 5245dca | pmichaud++ | build/PARROT_REVISION:
Bump PARROT_REVISION to Parrot 2.1.0. PARROT_REVISION frozen until
18:36
pmichaud I'm not sure what's happening there -- it's failing inside of "is" 18:40
I'll ignore it for now and work on assignment, since that's what seems to be tickling this bug.
colomon assignment! assignment! assignment! 18:41
pmichaud rakudo: say "\c65"; # just checking
p6eval rakudo ed95e2: OUTPUT«A␤»
pmichaud yay.
[particle] rakudo: say "\c555"; 18:45
p6eval rakudo ed95e2: OUTPUT«ȫ␤»
18:45 payload left
colomon big trig push coming through in a minute. 18:49
(well, already pushed)
18:52 lichtkind joined
lichtkind diakopter: ping 18:53
dalek kudo/master: 1e7c195 | (Solomon Foster)++ | src/core/Num.pm:
It should be !from-radians, not .from-radians.
kudo/master: 76aa9dd | (Solomon Foster)++ | src/core/Num.pm:
Implementation for acotanh.
kudo/master: 41b9fea | (Solomon Foster)++ | src/core/Num.pm:
Implement acotan.
kudo/master: d1cb483 | (Solomon Foster)++ | src/core/Num.pm:
Port alpha's acosec to master.
kudo/master: cc3f629 | (Solomon Foster)++ | src/core/Complex.pm:
Reactive the remainder of the Complex trig functions that were turned off.
kudo/master: 30f5ef4 | (Solomon Foster)++ | src/core/Complex.pm:
Reactive Complex.asin again.
diakopter lichtkind: pong 19:00
colomon rakudo: say cosech(0.5) 19:07
p6eval rakudo ed95e2: OUTPUT«0.886818883970074␤»
colomon alpha: say cosech(0.5) 19:08
p6eval alpha 30e0ed: OUTPUT«1.91903475133494␤»
colomon oh, you got trouble....
Okay, I think I've got all the trig bugs exorcised. Time to do a full spectest with them again. 19:14
PerlJam \o/ 19:15
19:16 Schwern joined
colomon which, considering the test speed on them, may mean it's time to take a nap. :) 19:16
diakopter colomon: slower than alpha? 19:17
TimToady at some point you have to get rid of all those regex matches
pmichaud ...regex matches? 19:18
TimToady /:i ^degrees$ / and such 19:19
pmichaud ouch -- yes, those would be slow.
TimToady the spec doesn't like string bases
19:20 hercynium left
TimToady string basses are cool though 19:20
jnthn I guess given $base.lc would be faster.
(As a "on the way to not having string bases" step...) 19:21
TimToady also something to be said for leaving it slow as motivation to fix it right :)
19:25 REPLeffect joined, lue joined 19:27 REPLeffect left 19:32 betterworld left 19:35 betterworld joined 19:36 lue left 19:48 REPLeffect joined 19:49 REPLeffect left
pmichaud jnthn: ping 19:54
jnthn pmichaud: pong
pmichaud off the top of your head, do you know where the code that handles scalar parameter binding is?
jnthn Just so happens I have it in front of me. 19:55
Good timing!
19:55 Trashlord left
jnthn In src/binder/bind.c, see Rakudo_binding_bind_one_param 19:55
pmichaud: Of note, review the lines below the comment 19:56
/* Apply context, unless it's rw or parcel. */
pmichaud yes, that will likely change a bit.
jnthn Also there's quite a few bits of stuff setting flatten still in there.
Well, I just glanced that code and thought "heh, that looks out of date" 19:57
TimToady according to current spec, flattening should generally just mean a call to .get rather than .getobj
19:58 wanradt joined
TimToady though arguably getobj is still misnamed 19:58
19:59 lue joined
TimToady getsmooth and getchunky :) 20:00
slurpone and sliceone
actually, using slurpy to mean flatten is probably wrong, since ** is both slicey and "slurpy" 20:01
lichtkind diakopter: excuse me was called to table
TimToady and slurpy more properly just mean "variadic" 20:02
PerlJam slicey and dicey?
TimToady bite and serving 20:04
dalek kudo/master: 61f3368 | jonathan++ | src/binder/bind.c:
Cache some type IDs and a commonly used string to win a little performance in the binder (few percent).
TimToady nibble and bite 20:06
get and grab 20:07
pmichaud rakudo: say (3.0).perl;
p6eval rakudo ed95e2: OUTPUT«3/1␤»
TimToady smash and grab
pmichaud rakudo: say (3.0.Num).perl;
p6eval rakudo ed95e2: OUTPUT«Method 'perl' not found for invocant of class 'Num'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
pmichaud a-ha!
20:08 rgrau joined
TimToady probably get and getarg is best for now 20:10
where arg may or may not be a parcel
20:10 lue left
pmichaud current thinking is that my $c = (1,2,3); results in $c being a Seq (not a Parcel)? 20:13
20:14 crazed left, crazed joined
pugs_svn r29754 | lwall++ | [Spec] s/getobj/getarg/ to be slightly more accurate 20:15
frettled pmichaud: that would be part and parcel of ... :) But yes, that seems more intuitive to me.
pmichaud is "item foo" the same as (foo).item ? i.e., is there a .item method? 20:17
20:18 cjk101010 left, Lorn joined
pmichaud S04:737 says... 20:19
# $c.item produces ((1,10),(2,20)) -- the saved Parcel itself as one item in item context.
wouldn't that end up being a Seq?
lisppaste3 bkeeler pasted "patch to correct misspelled supersede" at paste.lisp.org/display/95062
pmichaud bkeeler++ # thanks 20:20
bkeeler hehe np
lichtkind congrats to parrot 2.1 20:21
does anybody tested sprixel?
i mean did 20:23
frettled and "test", not "tested" :)
pmichaud: now I'm just confused. 20:24
pmichaud frettled: I also, which is why I asked the question. :)
lichtkind frettled: whud ya wanna frum I?
frettled lichtkind: tri smi kinisiri pi hiibripliss 20:25
pmichaud: that makes me feel slightly better, but it doesn't resolve the confusion
frettled tries to re-read that segment of S04
lichtkind frettled: i dont speak finish
frettled nor do I 20:26
dalek kudo/master: 74bddc2 | pmichaud++ | src/Perl6/Grammar.pm:
Correct misspelled supersede (bkeeler++).
20:27
kudo/master: 9267d1e | pmichaud++ | src/binder/bind.c:
Merge branch 'master' of [email@hidden.address]
lichtkind frettled: so was that some sort of triple rot16?
frettled lichtkind: it was the Norwegian version of a verse from a Danish children's song about three small Chinese double bass players in Copenhagen 20:28
lichtkind: the song is a vowel substitution game
lichtkind frettled: its in german too: drijipinisi mit di cintribis 20:29
frettled pmichaud: I think I understand what it says
lichtkind i know this froim childhood
bkeeler rakudo: my $foo = ("HAI", "THERE"); sub foo($a, ($b, $c)) { say "$a $b $c" }; foo("OH", $foo);
p6eval rakudo ed95e2: OUTPUT«OH HAI THERE␤»
bkeeler Sweet 20:30
lichtkind you where at yapc::EU great 20:31
frettled pmichaud: it sort of follows from the description of gather, but it's perhaps a bit more convoluted than strictly necessary, and .item seems to say "present this as a single item", which in the case of gather is a Parcel, and in the example, it turns out as a Parcel of Parcels. Does that make sense, or am I way off?
pmichaud frettled: doesn't match my understanding of things, which could be also off. 20:32
afk, kid pickup
pugs_svn r29755 | jnthn++ | [t/spec] Re-fudging of various multi-dispatch tests; we handle the majority of the tests they contain now. 20:33
bkeeler rakudo: my $foo = \("HAI", "THERE"); sub foo($a, ($b, $c)) { say "$a $b $c" }; foo("OH", $foo);
p6eval rakudo ed95e2: OUTPUT«Method 'list' not found for invocant of class 'ResizablePMCArray'␤current instr.: 'perl6;ClassHOW;attributes' pc 3520 (src/metamodel/ClassHOW.pir:48)␤»
bkeeler Are captures supposed to work that way too? 20:34
frettled TimToady: Can you think of a way to explain that gather-item-thingy? :)
jnthn bkeeler: Maybe.
bkeeler: Probably, actually.
Can probably make them do so quite easily, anyway. :-) 20:35
bkeeler jnthn: awesome work on this stuff, by the way, it's a very interesting area of perl6 20:36
jnthn Yes, I look forward to seeing people do some Cool Stuff with it. :-)
20:40 lue joined
dalek kudo/master: 9df5b4a | jonathan++ | t/spectest.data:
Turn S06-multi/type-based.t and S06-multi/proto.t back on.
20:45
kudo/master: 8d9598e | jonathan++ | src/ (3 files):
Various corrections to handling of where clauses and type captures, which was the main issue we faced in getting us doing most of S06-multi/type-based.t again.
20:46 lue left 20:48 REPLeffect joined, cognominal joined
pmichaud ...getting close to having the new assignment model in place. Only 4 failing test files. 20:57
btw, I think this assignment model might resolve the gather/take issue :) 20:58
Tene Yay, if it works, I can ignore it and be less intimidated to start working on rakudo again.
frettled pmichaud: oh? 20:59
21:00 pmurias joined 21:01 Chillance left
dalek kudo/master: 5c09ebb | jonathan++ | src/core/Bool.pm:
Implement Bool.ACCEPTS.
21:02
kudo/master: cad6d12 | jonathan++ | t/spectest.data:
Turn S03-smartmatch/any-bool.t back on.
jnthn rakudo: print 4;; say 2; 21:03
p6eval rakudo ed95e2: OUTPUT«get_pmc_keyed() not implemented in class 'Integer'␤current instr.: 'perl6;Perl6;Actions;_block1195' pc 160597 (src/gen/perl6-actions.pir:470)␤»
jnthn rakudo: print 4; say 2;
p6eval rakudo ed95e2: OUTPUT«42␤»
jnthn ewwww¬!
lisppaste3 colomon annotated #95043 "post-nap trig test success report" at paste.lisp.org/display/95043#2
jnthn \o/ 21:04
colomon++
21:05 lue joined 21:10 xomas left 21:11 xomas joined, xomas left, xomas joined
pmichaud 24K tests! 21:11
(I guess that's 24K examined, not 24K passing) 21:12
frettled heh
colomon pmichaud: that's try, but there are no fudged trig tests and they are all passing, so there are at least 20K passing tests in there. 21:13
frettled Impressive! 21:17
jnthn Another ~60 passing coming shortly. :-) 21:21
pugs_svn r29756 | jnthn++ | [t/spec] Updates and re-fudging for some return tests. 21:22
colomon \o/ 21:23
jnthn Ouch!
colomon Ouch?
jnthn The Parrot folks have a branch coming up for merge that, amongst other things, appears to rename pmc_new to pmc_new -> Parrot_pmc_new.
er, s/to pmc_new / 21:24
frettled But that's an easy sed -i sentence :) 21:25
colomon I suppose I am optimistic to think that might be a giant search and replace?
Tene no, that should be all it takes.
jnthn It's probably just search/replace.
At least, I'd very much expect it will be. 21:26
Not a huge deal really.
Having to type twice as many characters to create a new PMC bothers me more. ;-)
<- lazy
Tene :imap ppn Parrot_pmc_new 21:27
21:27 clausi left
dalek kudo/master: 0161485 | (Solomon Foster)++ | src/core/Any-num.pm:
Remove fossil "is export" from Any.sec.
21:27
kudo/master: 40e481e | (Solomon Foster)++ | src/core/Num.pm:
Fix the definition of cosech.
21:28 hercynium joined 21:29 bluescreen left 21:36 uniejo left
bkeeler rakudo: say given (5) { when 5 { say "Here"; "return value" }; }; 21:38
p6eval rakudo ed95e2: OUTPUT«␤Here␤»
jnthn alpha: say given (5) { when 5 { say "Here"; "return value" }; }; 21:39
p6eval alpha 30e0ed: OUTPUT«say requires an argument at line 10, near "given (5) "␤in Main (file src/gen_setting.pm, line 2610)␤»
bkeeler Are we not passing the result of the when up? We're supposed to, right
jnthn Hmm...guess we maybe are.
It throws a control exception after then when block...guess that's what prevents it "just working" here. 21:40
colomon I'm pretty sure returning values from when works, else trig would be very broken. 21:41
rakudo: say sin(180, "degrees") 21:42
p6eval rakudo ed95e2: OUTPUT«-2.91427878425206e-11␤»
colomon rakudo: say sin(pi, "radians")
p6eval rakudo ed95e2: OUTPUT«1.22464679914735e-16␤»
colomon yeah.
21:42 bluescreen joined
colomon (!to-radians is a big given statement) 21:43
so the above must be some sort of special case.
rakudo: my $a = given (5) { when 5 { say "Here"; "return value" }; }; say $a;
p6eval rakudo ed95e2: OUTPUT«Confused at line 11, near "my $a = gi"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
colomon rakudo: sub a() { given (5) { when 5 { say "Here"; "return value" }; }; }; say a(); 21:44
p6eval rakudo ed95e2: OUTPUT«Here␤return value␤»
21:44 bluescreen left
jnthn Sure - the explicit return saves us there :-) 21:48
pmichaud rakudo: say( given (5) { when 5 { say 'Here'; 'return value' } } ); 21:49
p6eval rakudo ed95e2: OUTPUT«Confused at line 11, near "say( given"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
jnthn hm 21:50
pmichaud it doesn't see given as an expression
jnthn std: say( given (5) { when 5 { say 'Here'; 'return value' } } );
p6eval std 29756: OUTPUT«===SORRY!===␤Unable to parse argument list; couldn't find final ')' at /tmp/2IOunnA0no line 1:␤------> say( ⏏given (5) { when 5 { say 'Here'; 'return␤ expecting argument list␤FAILED 00:01 107m␤»
pmichaud given is a statement prefix
and, granted that statements may be allowed there, rakudo doesn't know how to do that yet.
dalek kudo/master: 3030f55 | jonathan++ | src/Perl6/Actions.pm:
Make sure we don't crash and burn if somebody writes double semicolon in their code!
kudo/master: a73f7b3 | jonathan++ | t/spectest.data:
Turn S06-advanced_subroutine_features/return.t back on.
pmichaud it would be like 21:51
rakudo: say( if 1 { say 'Here'; 'return value' } );
p6eval rakudo ed95e2: OUTPUT«Confused at line 11, near "say( if 1 "␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
jnthn Yeah 21:52
pmichaud mmmm, lots of passes in my assignment branch ... :)
oops, and some failz :-(
jnthn :-( 21:53
21:54 ruoso joined
pmichaud ok (5..1) !~~ 3, '(5..1) is the null range'; 21:54
...huh? 21:55
I have no idea what is being tested there.
jnthn hm
3 !~~ 1..5 would make more sense given the description. 21:56
colomon pmichaud: I asked the same question about those tests a few weeks ago.
bkeeler ranges are only supposed to be ascending?
colomon bkeeler: yes
jnthn Well, that and smart-match doesn't commute.
colomon maybe they figured that if (5..1) wasn't the null range, it would turn into 1, 2, 3, 4, 5, making the test 1, 2, 3, 4, 5, !~~ 3 ? 21:57
pmichaud that doesn't make much sense either
colomon s/5,/5/;
true.
I think I'd be willing to take out those test on the premise that they must be poorly formed if none of us have a clue what they could have been thinking. :) 21:58
pmichaud that's what I'm thinking 21:59
colomon Where are they again? 22:01
pmichaud t/spec/*/range.t
colomon they're in both of the range tests?
pmichaud whichever one showed up first :)
colomon range.t, I mean. 22:02
pmichaud whichever one showed up first :)
colomon ah, so S02's maybe.
pmichaud I just did vi t/spec/*/range.t and that's where I found it :)
colomon S02-builtin_data_types/range.t 22:03
lisppaste3 bkeeler pasted "Fun with trees!" at paste.lisp.org/display/95079
22:05 Su-Shee left
colomon pmichaud: the other wacky thing in there is the infinite range tests. 22:05
pmichaud we can look at those soon, I suspect
running a new spectest on my branch now
jnthn bkeeler: Ooh, nice. :-)
bkeeler I tried doing that with captures instead of arrays earlier, but signatures don't unpack captures yet it seems 22:06
jnthn It's probably a one-line change to make them do so.
Just gotta remember to do it amongst all the other fun. :-) 22:07
pmichaud yay no failz so far in the local assign branch
has anyone noticed that git is TEH AWESOME? ;-)
jnthn \o/ 22:08
pmichaud being able to do local branches and switch quickly back to master is.... nice.
22:08 k23z__ left
jnthn Assuming and some unspace coming. :-) 22:08
colomon pmichaud: the particular thing I was complaining about is that the infinite range tests in that range.t are all double-ended, and assume that *..* really means -Inf..Inf.
pmichaud colomon: sounds like fossils 22:09
colomon pmichaud: yeah.
22:09 k23z__ joined
pugs_svn r29757 | colomon++ | [t/spec] Remove the weird 5..1 !~~ 3 brand of Range tests, on the basis that none of us understand what they heck they mean. 22:10
lisppaste3 bkeeler annotated #95079 "Bleh, bug" at paste.lisp.org/display/95079#1 22:11
dalek kudo/master: 88f3c6e | jonathan++ | src/Perl6/Grammar.pm:
Add a missing case of unspace.
22:14
kudo/master: 3603f51 | jonathan++ | src/builtins/Routine.pir:
Add back reviewed assuming implementation.
kudo/master: ff97a28 | jonathan++ | t/spectest.data:
Turn two assuming tests back on.
pmichaud I wonder if .elems, .Str, .[ ], etc. are generally common to all Iterables. 22:15
i.e., default versions can be provided in the Iterable role
jnthn method Num { $.elems } too... 22:16
pmichaud yeah
jnthn has a test that fails with "Num not implemented in MapIterator"
Or some such
pmichaud right
jnthn Thing is 22:17
I've seen "sort not implemented in ..." too, I fear.
And then it's like...so how much is common.
pmichaud well, we haven't implemented sort :-)
jnthn Well no, but will we just inherit it from Any and it'll DTRT?
pmichaud for many of these, yes.
many things in Any basically operate on .list
er, $.list 22:18
jnthn OK, good.
pmichaud but we probably don't want .[ ] to be there.
jnthn Right.
22:18 hercynium left
jnthn OK, I just wanted to make sure we weren't going to have *everything* in there. :-) 22:18
pmichaud yay! spectests pass!
time to merge!
jnthn \o/ 22:19
pmichaud merge conflict in bind.c! oh noez!
jnthn LOLHALP 22:20
Sorry, I did a fix in there, and forgot you'd probably be in there too... 22:21
jnthn wanted S06-multi/typed-based.t to run again. :-)
pmichaud no problem, my change was trivially simple 22:22
22:22 wknight8111 joined
pmichaud okay, merge conflict resolved, now trying spectests again 22:22
jnthn I'm probably about done for today, aside from trivial things. 22:23
Wow, we've had a lot of commits today!
pmichaud and we have a ton more passing tests 22:24
I suspect much of S05-mass/ passes now as well.
jnthn Yes.
pmichaud and I'm very happy to (apparently) have the new assignment model in place. The more I think about it and work with it, the more I'm convinced that assign-by-reference is the right model for us.
especially since it appears to eliminate a lot of copying. 22:25
jnthn looks forward to looking through the patch.
pmichaud and also since it has the strong potential of fixing gather/take
jnthn That's also be wonderful. 22:26
pmichaud so, my current plan for the evening is (1) finish assign, (2) sort, (3) grammars, and then (4) work through RT
jnthn is very happy, and surprised, that we're going to be able to put out a relesae on Thursday with > 25,000 tests.
22:27 kst joined
jnthn That seemed unimaginable to me a week ago. 22:27
everyone++
pmichaud we probably won't have the metaoperators in the release, but we should be able to get those soon
unless we want to cheat on the metaops :)
22:27 k23z__ left
jnthn I'd settle for division of labour. 22:28
(You sort out the parsing. ;-))
pmichaud heh
well, once the parsing is done, the rest is trivial :)
jnthn Damm, you didn't fall for my trap.
:-)
pmichaud yay! spectests pass! 22:29
oops, have to do it again, forgot to pull some commits
(sigh)
jnthn Gah, these people who commit patches. Who'd have 'em. 22:30
pmichaud at least spectests are currently only taking 233 seconds :)
22:30 cognominal left 22:31 cognominal joined
pmichaud assuming grammars are added in the next 48 hours (and I see no reason they shouldn't be), then this is going to be a very significant release in terms of new features as well :) 22:31
jnthn I'm *very* happy to have got prefix:<|> back in above the level we've ever had it before. 22:32
pmichaud yes
PerlJam you guys keep the endorphins flowing :) 22:33
pmichaud and I'm sure people will like closures in regexes and variable interpolation
jnthn Does the latter work?
pmichaud it will :-) 22:34
I think it works in ng
jnthn as in
pmichaud s/ng/nqp/
jnthn rakudo: my $y = 'o'; 'foo' ~~ /$y/; say $/
p6eval rakudo ed95e2: OUTPUT«␤»
jnthn oh, nqp
OK.
pmichaud nqp: my $x = 34; "abc345xy" ~~ / $x /; say($/);
p6eval nqp: OUTPUT«Assignment ("=") not supported in NQP, use ":=" instead at line 1, near " 34; \"abc"␤current instr.: 'parrot;HLL;Grammar;panic' pc 500 (src/cheats/hll-grammar.pir:197)␤»
pmichaud nqp: my $x := 34; "abc345xy" ~~ / $x /; say($/);
p6eval nqp: OUTPUT«Symbol '$/' not predeclared in <anonymous>␤current instr.: 'parrot;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)␤»
pmichaud nqp: my $x := 34; say("abc345xy" ~~ /$x/); 22:35
p6eval nqp: OUTPUT«␤»
pmichaud hmmm
well, it at least parsed it :-)
but yes, perhaps wrongly
anyway, it shouldn't be hard to add.
jnthn When I looked at /$y/ 's PIR, it had parsed $ as anchor and y as literal.
(for Rakudo, not nqp)
pmichaud yes, that's possible -- especially in Rakudo
yay! pass! 22:36
pushed changes 22:37
jnthn :-) 22:38
pmichaud nice that this is done. 22:39
okay, time for a walk, I think.
jnthn Enjoy :-)
And nice work. :-)
pmichaud++
dalek kudo/master: 5594188 | pmichaud++ | src/core/Iterator.pm:
Remove incorrect Iterator.Seq, improve Iterator.Str .
22:40
kudo/master: 9d1d903 | pmichaud++ | src/core/Range.pm:
When stringifying or numifying Range, just ask $.iterator directly
kudo/master: 2bb2172 | pmichaud++ | src/core/Iterator.pm:
Add a working version of Iterator.Seq .
kudo/master: 04f3504 | pmichaud++ | src/ (10 files):
Merge branch 'assign'

src/binder/bind.c
kudo/master: 33b1bf9 | pmichaud++ | (10 files):
Merge branch 'master' of [email@hidden.address]
22:43 iblechbot left
colomon pmichaud: the bad news about the trig tests is they make the spectests take 1597 wallclock secs (versus 180 or so without trig) on my system. 22:44
diakopter colomon: is that slower than alpha? 22:45
colomon though are Enums far enough along I could use them instead of strings for the trig base stuff?
diakopter: no, it's still quite a bit faster, I think.
pmichaud total time for spectests on my system was about 24 minutes 22:46
(under alpha)
bkeeler Would it be worth splitting them out into a 'fullspectest' vs. 'quickspectest' type thing?
At a previous work we had some tests that took a really long time that normally weren't run unless someone had reason to suspect they might have broken them 22:47
pmichaud well, I'd definitely like the trig tests enabled for Thur
bkeeler And the nightly build thingy ran them so we'd find out by the next day if they broke
pmichaud (release day)
afk, walk
jnthn Thing is, sometimes you break stuff that you'd completely not expect to.
bkeeler Sure, no doubt 22:48
jnthn So it'd be quite hard choosing what to put in quickspectest.
bkeeler In our case the full tests took almost 2 hours, and the quick about 15-20 minutes. It was a tradeoff of a small risk of breaking something, vs a quicker change/test/commit cycle 22:49
colomon personally I'd rather figure out how to make it all faster. :) 22:50
jnthn ;-)
pugs_svn r29758 | jnthn++ | [t/spec] Update fudging in S05-mass/rx.t so as to skip a few that Rakudo can't compile (mostly ::, :::, :x(n), :nth(n) and &). 22:51
jnthn Unfortunately, we crash and burn only a few tests into it, but it may be an easy fix.
At least we compile though. 22:52
PerlJam bkeeler: we can run individual test files if we need to (for incremental progress)
jnthn rakudo: 'abc' !~~ /\d+/ 22:53
p6eval rakudo ed95e2: OUTPUT«logical_not() not implemented in class 'Capture'␤current instr.: 'perl6;Mu;REJECTS' pc 1900 (src/builtins/Mu.pir:370)␤»
22:53 pmurias left, Guest166 left
jnthn oh wow 22:55
We'd not switched our prefix<!> to actually use .Bool
colomon jnthn: right, only just switched <?> to use Bool a few days ago 22:57
jnthn Unfortunately, doing so seems to cause us...failures. 22:58
colomon like what? the <?> info in the back of my brain might help....
jnthn In not.t, we end up with a null PMC access. ;-/ 22:59
rakudo: say not(not 42) 23:00
p6eval rakudo ed95e2: OUTPUT«1␤»
jnthn oh
jnthn ponders what's up 23:01
colomon rakudo: say (not(not 42)).WHAT 23:02
p6eval rakudo ed95e2: OUTPUT«Int()␤»
jnthn oh, it's crashing inside Test.pm
colomon right, <?> did that too 23:03
jnthn Ah. 23:04
Inside s.
*is
23:06 k23z__ joined
jnthn rakudo: my $b = 0; my $x = try { ((not $b) + 1).perl } 23:07
p6eval rakudo ed95e2: ( no output )
jnthn rakudo: my $b = 0; my $x = try { ((not $b) + 1).perl }; say $x 23:08
p6eval rakudo ed95e2: OUTPUT«2␤»
jnthn That doesn't work locally, I think Pm may have fixed it.
jnthn pulls latest and checks
pmichaud there's a problem dealing with (native) values that don't have a .perl method 23:10
bkeeler Am I right in thinking that "return" should be a prefix operator and not a statement_control?
pmichaud return is a listop.
it's still listed as statement control left over from the nqp 23:11
grammar
but yes, it should be &return
Tene jnthn: I haven't been reading scrollback... are you talking about exceptions issues?
pmichaud assignment might be a little unforgiving at the moment -- if something returns a null PMC then the assignment happily assigns it :-) 23:12
jnthn pmichaud: I'm not sure it can be &return, fwiw.
pmichaud jnthn: why not?
jnthn Tene: Only casual mentions.
pmichaud: Because a normal call makes a capture out of the arguments, and we want a parcel for return. 23:13
Tene jnthn: okay, lemme know if there's any exceptions problems.
pmichaud well, since &return is likely to remain internal/pir, that shouldn't be too much of an issue
jnthn Tene: return.t fails some due to the "lexical returns" issue
23:13 lichtkind left
jnthn pmichaud: It's a caller side issue though. 23:14
pmichaud: It's the caller that turns pairs into named params.
We don't want that for return though
And we can't "unpick" it or we'll lose ordering.
23:14 k23z__ left
jnthn ok, not.t doesn't fail with pmichaud++'s changes incorporated :-) 23:15
jnthn tries spectest again
pmichaud jnthn: under the new parrot calling conventions, is ordering information lost completely also? 23:16
jnthn In the call capture, maybe not 23:17
pmichaud yeah, that's what I was kinda hoping. anyway, that's one of those I'd prefer to look at a bit later :)
jnthn I'm not convinced since the Parcel/Capture split that it actually matters much any more though.
gah, still get other fails. 23:18
23:20 mssm left, mssm joined
pmichaud afk, fetching dinner 23:21
jnthn std: sub foo(*@args, *%named) { 1 }; foo'bar'; 23:28
p6eval std 29758: OUTPUT«===SORRY!===␤Confused at /tmp/NsHFbvnJ7U line 1:␤------> sub foo(*@args, *%named) { 1 }; foo'bar⏏';␤ expecting any of:␤ POST␤ argument list␤ bracketed infix␤ infix or meta-infix␤ postfix␤
..postfix_prefix_meta_operator␤ statement modifier loop␤…
jnthn Test FAIL.
std: sub foo(*@args, *%named) { 1 }; foo:bar; 23:29
p6eval std 29758: OUTPUT«Undeclared routine:␤ 'foo:bar' used at line 1␤ok 00:01 107m␤»
lisppaste3 pausenclown pasted "grammar problem" at paste.lisp.org/display/95083 23:34
23:38 benjaminvm joined 23:39 benjaminvm left
pugs_svn r29759 | jnthn++ | [t/spec] Bring a couple of tests in line with STD. 23:44
23:44 mssm left 23:47 brunov left
dalek kudo/master: 72a8b74 | jonathan++ | src/ (4 files):
Get us implementing prefix:<!> in terms of .Bool, plus add some missing .Bool methods.
23:49
jnthn OK, I'm done for the day.
23:49 cognominal left
wknight8111 which version of Parrot will Rakudo* be targetting? 23:51
23:56 colomon left