Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-08-20

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:09 beppu joined #perl6
00:10 beppu left #perl6
00:22 TimToady well, they might be different, but they're both the same sort of Liskov violation, triggered by mixing in a null role
00:22 TimToady so you don't need to ask if it's a bug, only if it's the same bug :)
00:30 EvanTeitelman joined #perl6
00:32 japhb_ What name for the group of languages including Perl, Python, Ruby, JavaScript, PHP, etc. is most likely to be understood by *most of the users* of those languages (as opposed to how just we in the Perl community refer to this language group)?
00:32 japhb_ Is "dynamic languages" sufficiently commonly used at this point?  Is "scripting languages" still more likely to be understood?
00:37 Mouq "Ain't Lisp 'n ain't C"
00:47 colomon joined #perl6
01:03 EvanTeit1lman joined #perl6
01:06 colomon joined #perl6
01:07 TimToady I suspect scripting languages is still the most likely to be understood
01:18 FROGGS joined #perl6
01:21 Mouq :D My tiny modification to rakudo actually make'd \o/
01:23 lue joined #perl6
01:32 FROGGS_ joined #perl6
01:49 [Coke] Mouq++
01:52 benabik joined #perl6
01:55 dalek perl6-roast-data: a6cf7a7 | coke++ | / (5 files):
01:55 dalek perl6-roast-data: today (automated commit)
01:55 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/a6cf7a7870
01:55 dalek perl6-roast-data: 3eafb81 | coke++ | cull:
01:55 dalek perl6-roast-data: update perl version for new host
01:55 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/3eafb81835
01:55 berekuk joined #perl6
01:55 * [Coke] hopes he fixed the thing that caused the daily runs to screw up if not attended.
01:55 [Coke] rakudo.jvm is looking better.
01:56 [Coke] we're back up to 99%
02:01 TimToady quick, put in more threading tests :)
02:07 [Coke] updated https://gist.github.com/coke/5879701
02:10 [Coke] when did the env fix go in?
02:11 * TimToady dimly recalls it being discussed a few days ago
02:12 TimToady backlogging while jetlagged is not conducive to long-term potentiation...
02:12 * [Coke] saw it in backscroll somewhere, and thought it was merged in. test is still failing, though.
02:12 [Coke] S02-magicals/env.rakudo.jvm 14 - ENV members persist to child processes
02:14 Mouq Oh, rakudo is part of @rakudo, not @perl6 :p no wonder I don't have permissions
02:15 [Coke] rakudo requires a committer's license agreement.
02:15 [Coke] perl6 is much more open
02:15 Mouq It's cool, I'll make a pull req
02:31 FROGGS_ joined #perl6
02:45 _jaldhar joined #perl6
02:55 FROGGS joined #perl6
03:08 xinming joined #perl6
03:16 Mouq What are these weird "Unable to parse expression in blockoid; couldn't find final '}'" errors in npq grammar? I promise a final '}' is there
03:20 JimmyZ Mouq: That means I miss } somewhere
03:20 JimmyZ s/I/you/
03:20 Mouq :p
03:20 JimmyZ Mouq: not the final
03:25 preflex joined #perl6
03:38 Mouq Mmm... nope. It seems to be, in this case, a problem with doing things in nqp that it doesn't understand.
03:39 Mouq And of which, nqp doesn't seem to get "$0.Str". Could someone help; I have no idea how to do it in nqp nor where to look to find out?
03:41 JimmyZ .Str is perl6, not NQP
03:41 JimmyZ you may want ~$0
03:42 Mouq Ahhh, duh. Sorry, I'm fresh
03:56 Mouq .Str is a thing. I have a sorta fix for what was wrong
04:06 * ingy waves
05:05 raiph joined #perl6
05:06 abnorman joined #perl6
05:07 Mouq .ping
05:12 atroxaper joined #perl6
05:12 Mouq std: Q :fail [test]
05:12 camelia std 06636e4: OUTPUT«[31m===[0mSORRY![31m===[0m�Unrecognized quote modifier: fail at /tmp/ohTmfksZiU line 1:�------> [32mQ [33m�[31m:fail [test][0m�Check failed�FAILED 00:00 41m�»
05:13 Mouq std: Q :cc [test]
05:13 camelia std 06636e4: OUTPUT«ok 00:00 41m␤»
05:14 Mouq std: q :cc [test]
05:14 camelia std 06636e4: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Too late for :cc at /tmp/KA6lOq9gS9 line 1:â�¤------> [32mq :cc[33mâ��[31m [test][0mâ�¤    expecting colon pair (restricted)â�¤Parse failedâ�¤FAILED 00:00 41mâ�¤Â»
05:15 atroxaper r: for 5..1 -> { print "$i "; }
05:15 camelia rakudo bc0051: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/kfrpM5ivSRâ�¤Variable '$i' is not declaredâ�¤at /tmp/kfrpM5ivSR:1â�¤------> [32mfor 5..1 -> { print "$i[33mâ��[31m "; }[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
05:15 atroxaper r: for 5..1 -> $i { print "$i "; }
05:15 camelia rakudo bc0051:  ( no output )
05:15 Mouq So... Q:cc// is allowed but not spec'ed?
05:15 Mouq r: for 5...1 -> $i { print "$i "; }
05:15 camelia rakudo bc0051: OUTPUT«5 4 3 2 1 »
05:15 atroxaper Why ?! Why 5..1 doesn't work?
05:16 atroxaper Oh... Thank you!
05:16 Mouq np
05:16 Mouq '..' isn't smart enough to go backwards. '...' does whatever you want
05:17 atroxaper Is there unic way to generate sequence. I mean if i dunno start > finish or < .
05:18 raiph .oO ( .. is wise enough to not be as smart as ... )
05:18 atroxaper You read my thougts)
05:21 raiph r: say 5 R.. 1
05:21 camelia rakudo bc0051: OUTPUT«1..5␤»
05:22 Mouq r: 1,2,3,4, ->$fac{say $fac; [*] ^$fac} ... 100 # Something's wrong here...
05:23 camelia rakudo bc0051: OUTPUT«(timeout)4â�¤0â�¤1â�¤0â�¤1â�¤0â�¤1â�¤0​â�¤1â�¤0â�¤1â�¤0â�¤1â�¤0â�¤1â�¤0â�¤1â�¤0â�¤1â�​¤0â�¤1â�¤0â�¤1â�¤0â�¤1â�¤0â�¤1â�¤0â�¤1â�¤0â�¤1​â�¤0â�¤1â�¤0â�¤1â�¤0â�¤1â�¤0â�¤1â�¤0â�¤1â�¤0â�​¤1â�¤0â�¤1â�¤0â�¤1â�¤0â�¤1â�¤0â�¤1â�¤0â�¤1â�¤0​â�¤1â�¤0â�¤1â�¤0â�¤1â�¤0â�¤1â�¤0â�¤1â�¤0â�¤1â�​¤0â�¤1â�¤0â�¤1â�¤0â�¤1â�¤0â�¤1â�¤0â�¤1â�¤0â�¤1​â�¤0â�¤1â�¤0â�¤1â�¤0â�¤1â�¤0â�¤1â�¤0â�¤1â�¤0â�​¤1â�¤0â�¤1â�¤0â�¤1â�¤0â�¤1â�¤0â�¤1â�¤0â�¤1â�
05:23 Mouq Oh
05:23 atroxaper ^$i mean 0, 1, ...., i-1
05:23 Mouq r: 1,2,3,4, ->$fac{say $fac; [*] 1 <<+<< ^$fac} ... 100
05:23 camelia rakudo bc0051: OUTPUT«(timeout)4␤24␤620448401733239439360000␤»
05:24 Mouq r: 1,2,3,4, ->$fac{say $fac; [*] 1 .. $fac} ... 100
05:24 Mouq Yes
05:24 camelia rakudo bc0051: OUTPUT«(timeout)4␤24␤620448401733239439360000␤»
05:25 Mouq Oh
05:25 grondilu you're doing recursive factorials. That will escalade quickly :)
05:25 Mouq r: 1,2,3,4, ->$fac{say $fac; [*] 1 .. $fac} ...^ 100
05:25 camelia rakudo bc0051: OUTPUT«(timeout)4␤24␤620448401733239439360000␤»
05:26 grondilu and i will never reach 100
05:26 Mouq Oh, I thought it would quit once it passed it
05:26 grondilu I mean it will go beyond 100 quickly but not stop there
05:26 raiph r: 1,2,3,4, ->$fac{say $fac; [*] 1 .. $fac} ...^ * > 100
05:26 camelia rakudo bc0051: OUTPUT«4␤24␤»
05:27 raiph r: 1,2,3,4, ->$fac{say $fac; [*] 1 .. $fac} ... * > 100
05:27 camelia rakudo bc0051: OUTPUT«4␤24␤»
05:27 grondilu r: say [\*] 1 .. 100;
05:27 camelia rakudo bc0051: OUTPUT«1 2 6 24 120 720 5040 40320 362880 3628800 39916800 479001600 6227020800 87178291200 1307674368000 20922789888000 355687428096000 6402373705728000 121645100408832000 2432902008176640000 51090942171709440000 1124000727777607680000 25852016738884976640000 62044840173…
05:27 atroxaper Why '1..5 Z 6..10' not equal '1...5 Z 6...10' ??
05:28 Mouq r: (1...5) Z (6...10)
05:28 camelia rakudo bc0051:  ( no output )
05:29 Mouq r: say 1..5 Z 6..10 cmp (1...5) Z (6...10)
05:29 camelia rakudo bc0051: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/AEDPSiLhzkâ�¤Operators '..' and 'cmp' are non-associative and require parenthesisâ�¤at /tmp/AEDPSiLhzk:1â�¤------> [32msay 1..5 Z 6..10 [33mâ��[31mcmp (1...5) Z (6...10)[0mâ�¤    expecting any of:â�¤        postfixâ�¤â€¦
05:29 Mouq r: say (1..5 Z 6..10) cmp (1...5) Z (6...10)
05:29 camelia rakudo bc0051: OUTPUT«Decrease 6␤»
05:29 Mouq r: say (1..5 Z 6..10) == ((1...5) Z (6...10))
05:29 camelia rakudo bc0051: OUTPUT«True␤»
05:29 atroxaper Hm....
05:30 raiph r: say (1..5 Z 6..10)
05:30 camelia rakudo bc0051: OUTPUT«1 6 2 7 3 8 4 9 5 10␤»
05:30 grondilu r: : say (1..5 Z 6..10).perl
05:30 camelia rakudo bc0051: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/RdduY8il7Zâ�¤Bogus statementâ�¤at /tmp/RdduY8il7Z:1â�¤------> [32m<BOL>[33mâ��[31m: say (1..5 Z 6..10).perl[0mâ�¤    expecting any of:â�¤        statement listâ�¤        prefix or termâ�¤        prefix or meta-prefixâ�¤Â»â€¦
05:30 grondilu r: say (1..5 Z 6..10).perl
05:30 raiph r: say ((1...5) Z (6...10))
05:30 camelia rakudo bc0051: OUTPUT«((1, 6), (2, 7), (3, 8), (4, 9), (5, 10)).list␤»
05:30 camelia rakudo bc0051: OUTPUT«1 6 2 7 3 8 4 9 5 10␤»
05:30 grondilu r: say ((1...5) Z (6...10)).perl
05:30 camelia rakudo bc0051: OUTPUT«((1, 6), (2, 7), (3, 8), (4, 9), (5, 10)).list␤»
05:30 atroxaper r: for 1...5 Z 6...10 -> $i, $j { say "$i : $j"; }
05:30 camelia rakudo bc0051: OUTPUT«1 : 2␤3 : 4␤5 : 6␤»
05:31 cognominal joined #perl6
05:31 grondilu r: for (1...5) Z (6...10) -> $i, $j { say "$i : $j"; }
05:31 camelia rakudo bc0051: OUTPUT«1 : 6␤2 : 7␤3 : 8␤4 : 9␤5 : 10␤»
05:31 grondilu r: for 1..5 Z 6..10 -> $i, $j { say "$i : $j"; }
05:32 camelia rakudo bc0051: OUTPUT«1 : 6␤2 : 7␤3 : 8␤4 : 9␤5 : 10␤»
05:32 raiph r: say (1..5 Z 6..10) cmp ((1...5) Z (6...10) )
05:32 camelia rakudo bc0051: OUTPUT«Same␤»
05:32 grondilu hm
05:32 raiph r: say ((1..5 Z 6..10) cmp (1...5)) Z (6...10)
05:32 camelia rakudo bc0051: OUTPUT«Decrease 6␤»
05:33 atroxaper Oh... I see. It's precedence
05:33 Mouq r: say (1 ... 5 Z 6 ... 10) cmp (1 ... (5 Z 6 ... 10))
05:33 camelia rakudo bc0051: OUTPUT«Same␤»
05:35 atroxaper Many thanks!
05:40 SamuraiJack__ joined #perl6
05:44 raiph .oO ( thanks for wat )
05:50 Targen joined #perl6
05:53 raiph r: say (1 <<Z,>> 2).perl # works as expected
05:53 camelia rakudo bc0051: OUTPUT«((1, 2),).list␤»
05:54 raiph std: say (1 <<Z>> 2).perl
05:54 camelia std 06636e4: OUTPUT«ok 00:00 44m␤»
05:54 raiph rn: say (1 <<Z>> 2).perl
05:54 camelia rakudo bc0051: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/Mhj0rbekaPâ�¤Missing << or >>â�¤at /tmp/Mhj0rbekaP:1â�¤------> [32msay (1 <<Z>[33mâ��[31m> 2).perl[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤        infix or meta-infixâ�¤Â»
05:54 camelia ..niecza v24-88-g1f87209: OUTPUT«(1, 2).list␤»
05:56 masak greetings, #perl6
05:56 Mouq o/
05:56 raiph moarnin masak
05:56 abnorman joined #perl6
05:58 raiph r: say (1 <<Z>> 2).perl  # pretty sure this is rakudobug; am checking rt for existing bug report
05:58 camelia rakudo bc0051: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/yD8WPGfc8uâ�¤Missing << or >>â�¤at /tmp/yD8WPGfc8u:1â�¤------> [32msay (1 <<Z>[33mâ��[31m> 2).perl  # pretty sure this is rakudob[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤        infix or m…
06:00 raiph masak: got a hint on how to search for the above <<Z>> bug? has it already been reported?
06:00 raiph (search in rt)
06:08 masak raiph: I think maybe the Z eats the > or the >>
06:09 masak try <<[Z]>>
06:10 kaleem joined #perl6
06:11 raiph r: say 1 <<[Z]>> 3 # i think i need to go to sleep <<>> AND zip?
06:11 camelia rakudo bc0051: OUTPUT«1 3␤»
06:12 masak raiph: no, not zip.
06:12 masak the [] merely disambiguate.
06:14 moritz std: 1 <<Z>> 2
06:14 camelia std 06636e4: OUTPUT«ok 00:00 42m␤»
06:14 raiph masak: right. i was realizing that i was too sleepy to notice that the <<>> is redundant
06:15 raiph r: say 1 ... 2 Z 3 ... 4
06:15 camelia rakudo bc0051: OUTPUT«1 2 3␤»
06:15 raiph r: say 1 ... 2 <<Z>> 3 ... 4
06:15 camelia rakudo bc0051: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/spZcU1TpEnâ�¤Missing << or >>â�¤at /tmp/spZcU1TpEn:1â�¤------> [32msay 1 ... 2 <<Z>[33mâ��[31m> 3 ... 4[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤        infix or meta-infixâ�¤Â»â€¦
06:15 raiph r: say 1 ... 2 <<[Z]>> 3 ... 4
06:15 camelia rakudo bc0051: OUTPUT«1 2 3 2 4␤»
06:16 raiph r: say (1 ... 2 <<[Z]>> 3 ... 4).perl
06:16 camelia rakudo bc0051: OUTPUT«(1, 2, 3, 2, 4).list␤»
06:19 Mouq "Could not find sub &reify_method"
06:21 raiph Mouq: can you share a one liner using camelia that produces that?
06:22 Mouq Heh, 'tr///'. Working on stuff
06:22 raiph gotchya
06:23 moritz wow
06:23 moritz reify_method appears only twice in 'git grep reify_method' in nqp
06:23 moritz and none of them is a declaration
06:23 moritz so it seems like a regression in nqp somewhere
06:24 masak teaching &
06:27 dalek nqp: 37e13ba | moritz++ | src/how/NQPParametricRoleHOW.nqp:
06:27 dalek nqp: fix left-over call to &reify_method
06:27 dalek nqp:
06:27 dalek nqp: ... which was removed in February in commit 8bf542e5fbed9bb560fa33eece4f3332d2b906d7
06:27 dalek nqp: review: https://github.com/perl6/nqp/commit/37e13bad91
06:27 moritz Mouq: try again with this nqp patch :-)
06:29 Mouq ++moritz
06:42 crab2313 joined #perl6
06:49 moritz Mouq: did it do any good?
06:50 JimmyZ moritz: from the February commit, looks like you lost .clone().
06:51 Mouq '~' I messed up building it, so.. async {make; .tell moritz now all I have to do is fix everything I messed up on my own}
06:54 moritz JimmyZ: you are right
06:55 moritz JimmyZ: now I'm trying to reproduce Mouq++'s error, write a failing test, and then fix it for good :-)
06:55 JimmyZ great
06:56 JimmyZ fix it for future  :P
06:56 Mouq I have no clue how to induce the error. I am guessing and stealing code left and right
06:59 moritz Mouq: I guess it has something to do with composing multi methods from roles
06:59 Mouq That sounds about right
07:00 Mouq Actually, yeah it is.
07:00 moritz nqp: role A { multi method m() { } }; class B { }; B.m
07:00 camelia nqp: OUTPUT«Method 'm' not found for invocant of class 'B'␤current instr.: '' pc 77 ((file unknown):146161447) (/tmp/Bg8g9xAwG3:1)␤»
07:00 moritz nqp: role A { multi method m() { } }; class B does A { }; B.m
07:00 camelia nqp: OUTPUT«Could not find sub &reify_method␤current instr.: '' pc 5633 (src/stage2/gen/nqp-mo.pir:2658) (src/stage2/gen/nqp-mo.nqp:589)␤»
07:00 FROGGS joined #perl6
07:02 Mouq Awww. "Missing or wrong version of dependency 'src/stage2/QRegex.nqp'" I'm such a noob
07:03 moritz Mouq: did you 'make install' nqp, and afterwards cleaned out rakudo?
07:03 moritz and then rebuild it
07:03 moritz that's what you have to do after changing nqp, I fear
07:06 Mouq 'k it looks to be working now
07:06 Mouq make
07:14 Mouq moritz++ # fix works
07:15 dalek v5: 2f9338f | (Tobias Leich)++ | / (2 files):
07:15 dalek v5: numify pack's args, and don't shift from emtpy array
07:15 dalek v5: review: https://github.com/rakudo-p5/v5/commit/2f9338fe62
07:17 Mouq bed &
07:21 dmol joined #perl6
07:26 moritz nqp: role R1 { multi method m() { 0 } }; class C1 does R1 { }; say(C1.m())
07:26 camelia nqp: OUTPUT«Could not find sub &reify_method␤current instr.: '' pc 5633 (src/stage2/gen/nqp-mo.pir:2658) (src/stage2/gen/nqp-mo.nqp:589)␤»
07:26 moritz locally that says "Method 'm' not found for invocant of class 'C1'"
07:27 moritz and
07:27 moritz role R1 { multi method m() { 0 } }; class C1 does R1 { proto method m($a?) {*} }; say(C1.m())
07:27 moritz says "No applicable candidates found to dispatch to for 'm'."
07:32 sqirrel joined #perl6
07:32 jeff_s1 joined #perl6
07:34 bruges joined #perl6
07:51 dalek nqp: de7cd46 | moritz++ | src/how/NQPParametricRoleHOW.nqp:
07:51 dalek nqp: try to improve multi method composition, JimmyZ++
07:51 dalek nqp:
07:51 dalek nqp: this is just by cargo-culting from other places that look similar; so far, all my
07:51 dalek nqp: attempts to actually call multi methods provided from roles have failed
07:52 dalek nqp: review: https://github.com/perl6/nqp/commit/de7cd46b4c
07:57 dalek rakudo/nom: 71141df | (Elizabeth Mattijsen)++ | src/Perl6/ (2 files):
07:57 dalek rakudo/nom: Add scaffolding for COMPOSE phaser
07:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/71141df504
08:03 masak it's so nice to see nqp and nom commits roll by.
08:03 masak moritz++ lizmat++
08:04 lizmat morning, #perl6!
08:05 Timbus joined #perl6
08:05 lizmat yes, it is good to see them roll by
08:05 lizmat you know what's even better ?  :-)
08:06 masak not teaching so that I could help? :)
08:06 moritz using the features you just implemented!
08:06 moritz closing tickets!
08:06 masak finding bugs in the features someone just implemented!
08:07 masak golfing the bugs!
08:07 masak reporting them!
08:07 JimmyZ macros!
08:08 rindolf joined #perl6
08:08 moritz marcos!
08:08 masak sheesh people, I'm teaching... :)
08:08 cognominal joined #perl6
08:09 JimmyZ miracle~
08:09 JimmyZ miracle!
08:10 lizmat :-)
08:11 * masak .oO( o/ my mummy says I'm a miracle o/ )
08:11 moritz any objections to squash-merging pull request 195 (parse tr/// and die with NYI)?
08:11 masak +1 # no objections
08:11 moritz masak: for half a second I though "says I'm a mistake" :-)
08:11 masak moritz: ouch :)
08:12 lizmat fitness&
08:12 mathw morning o/
08:23 fhelmberger joined #perl6
08:26 sqirrel joined #perl6
08:33 GlitchMr ~/c/rakudo (nom) $ env LANG=C make install
08:33 GlitchMr /home/glitchmr/code/rakudo/install-jvm/bin/nqp --target=jar --output=blib/Perl6/Pod.jar --encoding=utf8 \
08:33 GlitchMr src/Perl6/Pod.nqp
08:33 GlitchMr make: *** [blib/Perl6/Pod.jar] Segmentation fault
08:33 GlitchMr Am I doing something incorrectly?
08:36 dakkar joined #perl6
08:37 GlitchMr Is there any way to debug such failure?
08:40 FROGGS GlitchMr: you could try: gdb --args  /home/glitchmr/code/rakudo/install-jvm/bin/nqp --target=jar --output=blib/Perl6/Pod.jar --encoding=utf8 src/Perl6/Pod.nqp
08:41 GlitchMr ok, will try if I fail again
08:51 GlitchMr "/home/glitchmr/code/rakudo/install-jvm/bin/nqp": not in executable format: File format not recognized
08:51 GlitchMr hmm, it looks a shell script
08:52 FROGGS hmmm
08:53 GlitchMr Anyway, how do I use gdb?
08:53 GlitchMr I've 'gdb --args java -Xmx512m -Xbootclasspath/a:/home/glitchmr/code/rakudo​/install-jvm/languages/nqp/runtime/nqp-runti​me.jar:/home/glitchmr/code/rakudo/install-jv​m/languages/nqp/runtime/asm-4.1.jar:/home/gl​itchmr/code/rakudo/install-jvm/languages/nqp​/runtime/jline-1.0.jar:/home/glitchmr/code/r​akudo/install-jvm/languages/nqp/lib/nqp.jar -cp /home/glitchmr/code/rakudo/i​nstall-jvm/languages/nqp/lib nqp --target=jar --output=blib/Perl6/Pod.jar --encoding=ut
08:53 GlitchMr f8 src/Perl6/Pod.nqp'
08:53 GlitchMr I can use "run" to run a program, but how can I get anything useful from gdb?
08:53 FROGGS you end up in gdb's prompt?
08:53 GlitchMr yes
08:54 JimmyZ gdb can debug java?
08:54 FROGGS okay, after you 'run' it, and it segfaults, you can type: bt ful
08:54 GlitchMr ok, let me install debugging symbols for 'java'.
08:54 GlitchMr Because I don't think what I currently got is useful.
08:54 FROGGS JimmyZ: you would see the bt for the C land...
08:56 GlitchMr SIGSEGV is low level failure, I think.
08:56 GlitchMr It isn't something like NullPointerException.
08:57 berekuk joined #perl6
08:59 jnthn What version do you have?
08:59 jnthn Some older JDK 7's has an excessively buggy implementation of...something...
09:00 GlitchMr ~/c/rakudo (nom) $ java -version
09:00 GlitchMr java version "1.7.0_03"
09:00 GlitchMr OpenJDK Runtime Environment (IcedTea7 2.1.3) (7u3-2.1.3-1)
09:00 GlitchMr OpenJDK 64-Bit Server VM (build 22.0-b10, mixed mode)
09:00 brrt joined #perl6
09:00 jnthn Yes, that may just be old enough...
09:01 jnthn (to have the bug)
09:02 kivutar joined #perl6
09:02 daxim joined #perl6
09:04 GlitchMr It's the newest version of Java I've in the repository (but I have rather old packages in repository...)
09:08 FROGGS I have 1.7.0_25
09:08 Rotwang joined #perl6
09:27 moritz r: once say 42
09:27 camelia rakudo 71141d: OUTPUT«42␤»
09:27 moritz r: for ^42 { once say 42 }
09:27 camelia rakudo 71141d: OUTPUT«42␤»
09:28 jnthn r: for ^42 { say once 42 }
09:28 camelia rakudo 71141d: OUTPUT«42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42​␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42​␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤»
09:30 brrt joined #perl6
09:30 SamuraiJack joined #perl6
09:32 Mouq std: tr///
09:32 camelia std 06636e4: OUTPUT«ok 00:00 41m␤»
09:32 Mouq Hm
09:34 dalek rakudo/nom: 0ec828a | Mouq++ | src/Perl6/Grammar.nqp:
09:34 dalek rakudo/nom: Parse tr///, and die with NYI error
09:34 dalek rakudo/nom:
09:34 dalek rakudo/nom: Squashed commit of the following:
09:34 dalek rakudo/nom:
09:34 dalek joined #perl6
09:35 * Mouq o /o/ o/
09:35 jnthn Mouq++
09:38 moritz also in this push: I've updated docs/ChangeLog
09:38 moritz but it's incomplete; please add your stuff too! :-) (for jnthn, lizmat, and maybe FROGGS)
09:50 crab2313 joined #perl6
09:59 kivutar joined #perl6
10:00 iSlug joined #perl6
10:04 pernatiy joined #perl6
10:16 dalek rakudo/nom: 02a7fea | moritz++ | docs/announce/2013.08.md:
10:16 dalek rakudo/nom: prepare 2013.08 release announcement
10:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/02a7fea145
10:31 berekuk joined #perl6
10:41 masak moritz++
10:42 timotimo i'm incapable of running spectests faster than 4 hours, would somebody mind doing a spectest run for me?
10:43 timotimo it's the tilde_to_strjoin branch in timo/rakudo
10:43 masak aww... I should really compose a reply to James Bowery. I feel sad for the state that thread ended up in.
10:43 masak I don't understand his concern yet. but it's obvious he's put a lot of thought into... something.
10:43 masak and it feels kinda close to things I sometimes ponder.
10:43 timotimo yes, i was disappointed, too
10:44 masak I want my answer to be something like "yeah, we like the theoretical stuff. as long as it has a practical 'body' to go with it, we generally think it's a good idea for Perl 6."
10:44 masak "...maybe not core, but, you know. somewhere."
10:44 * timotimo disappears again
10:47 moritz npr: my ($a, $b) = map { my $x = $_; sub { $x } }, 1, 2; say $a eqv $b
10:47 camelia niecza v24-88-g1f87209: OUTPUT«Unhandled exception: Cannot use value like Sub as a number␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /home/p6eval/niecza/lib/CORE.setting line 296 (Any.Numeric @ 6) ␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /home/p6eval/niecza/lib/CORE.setting lin…
10:47 camelia ..rakudo aeb92d: OUTPUT«False␤»
10:47 camelia ..pugs: OUTPUT«␤»
10:48 moritz rpn: say (sub () {}) eqv (sub () {});
10:48 camelia niecza v24-88-g1f87209: OUTPUT«Unhandled exception: Cannot use value like Sub as a number␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /home/p6eval/niecza/lib/CORE.setting line 296 (Any.Numeric @ 6) ␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /home/p6eval/niecza/lib/CORE.setting lin…
10:48 camelia ..rakudo aeb92d: OUTPUT«False␤»
10:48 camelia ..pugs: OUTPUT«␤»
10:48 moritz known nieczabug?
10:55 * moritz opened https://github.com/sorear/niecza/issues/175
11:04 colomon joined #perl6
11:06 denis_boyun joined #perl6
11:23 xenoterracide joined #perl6
11:30 xenoterracide joined #perl6
11:41 ruoso TimToady: about CREATE, I think having a inline CREATE is an optimization that can be easily done once you know that the repr is native to the runtime and that the runtime has its own concrete implementation for it. I don't think that needs to be encoded in the API for such an optimization to be possible
11:48 berekuk joined #perl6
11:50 iSlug joined #perl6
11:51 dalek rakudo/nom: c51e77b | (Tobias Leich)++ | docs/ChangeLog:
11:51 dalek rakudo/nom: logged my changes
11:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c51e77b60e
12:02 grondilu aren't videos of jnthn's conferences at YAPC::EU online yet?
12:03 daxim http://6guts.wordpress.com/20​13/08/17/yapceu-2013-slides/
12:06 SamuraiJack joined #perl6
12:10 colomon joined #perl6
12:21 pmurias joined #perl6
12:21 pmurias jnthn: how does the module loading in nqp work?
12:21 jnthn pmurias: Through ModuleLoader.nqp
12:22 xenoterracide joined #perl6
12:22 pmurias jnthn: load_module seems to take *@global_merge_target, what is this?
12:22 jnthn Either GLOBALish is passed, or not
12:23 jnthn If it has an element, it's the GLOBALish to do global merging into
12:23 jnthn If nothing is passed there, we don't need to do it (probably because we are loading it pre-compiled and so that work was already done)
12:23 jnthn uh, loading it from another module that is also pre-compiled I mean
12:25 pmurias so if no global_merge_target is passed we are only setting up the serialization contexts?
12:26 jnthn Yes
12:26 jnthn Well, can caputring the mainline context
12:26 jnthn s/can/and/
12:26 jnthn Whihc may be used to do imports
12:28 rahulruns joined #perl6
12:32 kaleem joined #perl6
12:35 kbaker joined #perl6
12:36 pmurias jnthn: Merging GLOBAL symbols failed: duplicate definition of symbol CompileTimeValue
12:36 pmurias jnthn: when does something like that happen?
12:37 jnthn pmurias: When you somehow manage to load two different versions of the QASTNodes library simultaneously
12:38 pmurias jnthn: that seems to be the case
12:39 jnthn It's happened to me before. It was a confusion of running compiler vs compiling compiler
12:39 jnthn Or something
12:40 jnthn Perhaps an un-tweaked use statement if you're following the same approach I did with Moar/JVM of building all the things with a suffix
12:40 jnthn (QASTNodesMoar, QRegexMoar, etc.)
12:40 pmurias it seems to be the case of not specifing :custom-regex-lib in my dual-backends-compile-scrip
12:40 pmurias t
12:40 jnthn Oh
12:40 jnthn That'd also potentially do it :)
12:42 JimmyZ I saw it in MoarVM when I didn't pass  --no-regex-lib to nqp :P
12:42 JimmyZ iirc
12:44 kbaker joined #perl6
12:56 moritz arnsholt: http://www.freelists.org/post/n​anomsg/nanomsg-01alpha-released seems to be the spiritual successor to ZeroMQ, by one of the original 0MQ authors
12:58 arnsholt Yeah, I just found it on HN as well
12:58 arnsholt Certainly looks interesting
12:58 JimmyZ \o/ MIT
12:59 arnsholt OTOH, one of the things I wanted to use ZMQ for was Mongrel2, which may or may not switch over. We'll see
12:59 arnsholt I think timotimo was interested in ZMQ for talking to ipython as well
13:01 rindolf joined #perl6
13:02 ajr joined #perl6
13:07 pmurias jnthn: re do imports, when does that happen?
13:08 jnthn Compile time, after module loading
13:08 jnthn It's done outside of the module loader.
13:08 jnthn Probably in NQP::World
13:08 jnthn Though EXPORTHOW is handled elsewhere, iirc.
13:08 jnthn (in NQP::Grammar)
13:15 timotimo does "interpolating strings into heredocs now dedents properly" sound worthy of a line in the changelog?
13:15 jnthn yes
13:16 timotimo yay :)
13:16 timotimo also, maybe capitalise the first letter in each line or something
13:18 PacoAir joined #perl6
13:19 timotimo i'm considering expanding the "tilde_to_strjoin" a bit so that consecutive $foo ~= $bar calls will become one strjoin at the point where it's first accessed
13:21 jnthn I'd really have rather we made infix:<~> being list assoc work properly...
13:22 jnthn ...as in, I'm not likely to accept an optimizer patch that is re-writing consecutive ~ to join. I'd accept one that collapsed them into a single many-arg'd call to infix:<~> though...
13:23 jnthn (since code-gen may not always be smart enough to get that right straight off)
13:29 timotimo right, i'll just drop that branch then.
13:29 timotimo how about nqp, though? will that also just get infix:<~> with list assoc?
13:30 jnthn I suspect it can do
13:30 timotimo oh, i should check out the status of my integer arithmetics optimization, if that can be merged or if there's still problems
13:33 EvanTeitelman joined #perl6
13:35 TimToady wow, slept in till 6:00 for a change :)
13:36 timotimo (oh god the spam)
13:37 dalek nqp/nqp-optimizer: 459e172 | (Timo Paulssen)++ | / (6 files):
13:37 dalek nqp/nqp-optimizer: initial draft of optimizer, inactive ATM.
13:37 dalek nqp/nqp-optimizer: review: https://github.com/perl6/nqp/commit/459e1726ef
13:37 dalek nqp/nqp-optimizer: ba977c2 | (Timo Paulssen)++ | src/NQP/Optimizer.nqp:
13:37 dalek nqp/nqp-optimizer: working build, lots of debug output, more intelligence.
13:37 dalek nqp/nqp-optimizer: review: https://github.com/perl6/nqp/commit/ba977c23bf
13:37 dalek nqp/nqp-optimizer: 8bea225 | (Timo Paulssen)++ | src/NQP/Optimizer.nqp:
13:37 dalek nqp/nqp-optimizer: nqp-jvm doesn't like negative nums in substr
13:37 dalek nqp/nqp-optimizer: review: https://github.com/perl6/nqp/commit/8bea225f8b
13:37 dalek nqp/nqp-optimizer: e63cc6f | (Timo Paulssen)++ | src/NQP/Optimizer.nqp:
13:37 dalek nqp/nqp-optimizer: this should have been gone already.
13:37 dalek nqp/nqp-optimizer: review: https://github.com/perl6/nqp/commit/e63cc6f7b0
13:37 dalek nqp/nqp-optimizer: 60e9b7e | (Timo Paulssen)++ | src/NQP/Optimizer.nqp:
13:37 dalek nqp/nqp-optimizer: little improvements. actually finds symbols now.
13:37 dalek nqp/nqp-optimizer: review: https://github.com/perl6/nqp/commit/60e9b7ed48
13:37 dalek nqp/nqp-optimizer: 3e45f29 | (Timo Paulssen)++ | src/NQP/Optimizer.nqp:
13:37 dalek nqp/nqp-optimizer: removed debug output
13:37 dalek nqp/nqp-optimizer: review: https://github.com/perl6/nqp/commit/3e45f29869
13:37 timotimo this was just a rebase, though
13:38 arnsholt timotimo: At least you didn't kill dalek by making it send too much at once =D
13:38 timotimo i have no idea how what i did is different from what other people do. perhaps they push to multiple branches at once?
13:39 arnsholt I think it's mostly a question of how many commits you push at once
13:40 jnthn Pro Tip: If you know you did too many commits, but you want karma for all of them, push them in batches using the refspec syntax (git push origin HEAD~4:master) :D
13:41 arnsholt Hehe. Good idea! =D
13:41 jnthn Of course, *I've* never done this... ;)
13:41 arnsholt Internet points are serious business!
13:41 JimmyZ You should do it, to be dalek friendly ;)
13:47 timotimo rebasing is also a karma source.
13:51 timotimo should i rebase and rewrite some of the commits to reduce the amount of noise from added and removed debug outputs?
13:53 PerlJam timotimo: I typically rebase -i to consolidate the interstitial commits like those
14:01 crab2313 joined #perl6
14:01 timotimo problematically, they are bunched up into the commits that also do "real" work ;)
14:01 timotimo actually: "real work" probably
14:01 TimToady nr: for 1...5 Z 6...10 -> $i, $j { say "$i : $j"; }
14:01 camelia rakudo c51e77: OUTPUT«1 : 2␤3 : 4␤5 : 6␤»
14:01 camelia ..niecza v24-88-g1f87209: OUTPUT«[31m===[0mSORRY![31m===[0m��"..." and "Z" are non-associative and require parens at /tmp/N_Gz7uaHd3 line 1:�------> [32mfor 1...5 Z [33m�[31m6...10 -> $i, $j { say "$i : $j"; }[0m��"Z" and "..." are non-associative and require parens at /tmp/N_Gz7u…
14:01 TimToady niecza has the correct response here
14:03 kbaker joined #perl6
14:06 Targen joined #perl6
14:07 thou joined #perl6
14:07 TimToady huh, when I do 'make install' it fails with: Couldn't copy 'eval-client.pl' from /home/larry/nom/nqp/install: No such file or directory at tools/build/create-jvm-runner.pl line 54.
14:08 TimToady but here's the funny thing: it actually did the copy
14:08 FROGGS TimToady: try `make` instead
14:08 TimToady it just thinks it failed
14:08 TimToady I did a make first
14:09 timotimo huh. do configureJVM.pl again, then make clean all install?
14:09 * TimToady is thinking something is looking at an old errno
14:09 timotimo in my experience the rakudo makefile for jvm doesn't correctly rebuild stuff if the dependencies change etc etc
14:10 lizmat sure
14:10 lizmat HEAD ?
14:10 lizmat oops, this was about timotimo's request for a spectest a few hours ago...
14:11 timotimo ah
14:11 * lizmat should backlog using the website  :-)
14:11 timotimo i decided to abandon that branch
14:11 jnthn timotimo: hm, I haven't seen that...
14:11 lizmat timotimo: a spectest takes about 7 mins for me
14:11 timotimo wow!
14:11 lizmat and some noise from the fans
14:11 timotimo could you do a rakudo/nom with nqp/nqp-optimizer instead? :)
14:12 lizmat sure
14:12 timotimo fitness & :)
14:15 diakopter arnsholt: do the comments mention Disruptor?
14:15 dalek nqp: e5f1cd4 | jnthn++ | src/how/NQPClassHOW.nqp:
14:15 dalek nqp: Make regex trace output a little more useful.
14:15 dalek nqp: review: https://github.com/perl6/nqp/commit/e5f1cd4a3f
14:15 lizmat timotimo: Method 'optimize' not found for invocant of class 'NQPMu'
14:23 lizmat timotimo: https://gist.github.com/lizmat/6282037
14:24 yves joined #perl6
14:25 TimToady huh, completely reconfigured/made/installed nqp/jvm, and now can't reconfig nom: jvm::runtime.jars value not available from /home/larry/nom/nqp/install/nqp --show-config.
14:26 jnthn TimToady: That looks like a leftover from an earlier install layout
14:26 jnthn TimToady: It's install/bin/nqp these days
14:27 TimToady I copied the directory from what 'make install' said
14:27 pernatiy_ joined #perl6
14:28 jnthn This is with HEAD NQP?
14:28 jnthn Or at least, the one in NQP_REVISION...
14:28 TimToady HEAD from earlier this morning
14:29 jnthn does perl ConfigureJVM.pl --with-nqp=/home/larry/nom/nqp/install/bin/nqp work?
14:29 TimToady install has no bin directory
14:29 jnthn o.O
14:29 tadzik yeah, it doesn't
14:30 jnthn huh...
14:30 * [Coke] catches up with backscroll earlier than last time.
14:31 jnthn Here my install-jvm directory has just a bin and a languages at top level.
14:31 jnthn (Which is how current layout is expected to be)
14:31 TimToady nom has an install-jvm/bin
14:32 TimToady but nqp would be installing into nom's bin
14:32 cognominal joined #perl6
14:32 TimToady *n't
14:35 TimToady oh, I didn't do the --prefix that the README wants
14:36 * TimToady always hates prefix...
14:37 tadzik ...we have --prefix?
14:37 TimToady see nom's README instructions for JVM
14:37 tadzik maybe that's why I have so much problems with it..
14:38 jnthn I thought we had a --gen-nqp now, or maybe that pull request didn't get merged yet...
14:38 [Coke] pretty sure it did.
14:38 TimToady well, the README hasn't caught up :)
14:39 [Coke] --gen-nqp for java should probably do a "git pull --rebase", aye?
14:39 [Coke] since java doesn't have a particular version it's tied to yet. (or should we start tying it to a version?)
14:40 jnthn [Coke]: We tie to NQP_REVISION if you mean what NQP version...
14:44 Psyche^ joined #perl6
14:46 bluescreen10 joined #perl6
14:47 mst joined #perl6
14:47 [Coke] when did that start happening? last... 2 weeks?
14:48 TimToady hah, the README instructions don't actually work; after the prefix install, 'perl ConfigureJVM.pl' complains with install-jvm/bin/nqp is not executable; use --with-nqp or use --gen-nqp at ConfigureJVM.pl line 60.
14:48 TimToady but the nqp build put the nqp into install-jvm, not install-jvm/bin
14:51 [Coke] TimToady: updating now.
14:51 [Coke] pretty sure it devolves to just
14:51 [Coke] perl ConfigureJVM.pl --gen-nqp ; make
14:52 dalek rakudo/nom: 467ec50 | (Elizabeth Mattijsen)++ | docs/ChangeLog:
14:52 dalek rakudo/nom: My additions to ChangeLog
14:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/467ec50ee1
14:52 notjack joined #perl6
14:53 TimToady trying that now
14:54 TimToady just a bit sad that neither ignoring the README nor reading the README worked :)
14:55 jlaire joined #perl6
14:56 dalek rakudo/nom: 03457f2 | (Elizabeth Mattijsen)++ | docs/announce/2013.08.md:
14:56 dalek rakudo/nom: Slight change to release announcement
14:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/03457f2ba1
14:59 dalek rakudo/nom: 48d8496 | (Elizabeth Mattijsen)++ | docs/ChangeLog:
14:59 dalek rakudo/nom: ChangeLog capitalization tweaks
14:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/48d849649e
15:00 skids joined #perl6
15:03 * TimToady wonders if perl6/jvm should intuit --target=jar from --output=foo.jar
15:03 dalek rakudo/nom: 22b0079 | (Elizabeth Mattijsen)++ | docs/ChangeLog:
15:03 dalek rakudo/nom: "interpolating strings into heredocs now dedents properly"
15:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/22b007914f
15:04 Targen joined #perl6
15:05 TimToady lizmat: if you're cutting a release, note that the README instructions for JVM are currently incorrect
15:06 lizmat moritz is cutting this month's
15:06 TimToady okay, just saw you tweaking the release announcement :)
15:06 lizmat I was just adding some of my notes, as per request earlier in the backlog
15:06 lizmat "11:38:21] <moritz> but it's incomplete; please add your stuff too! :-) (for jnthn, lizmat, and maybe FROGGS)"
15:08 lizmat if someone can tell me the right thing to put for JVM in the README, I'll put it there
15:09 TimToady perl ConfigureJVM.pl --gen-nqp
15:09 TimToady no need to dip down into the nqp directory anymore
15:09 dalek rakudo/nom: a14f6cc | coke++ | README:
15:09 dalek rakudo/nom: Update README to reflect new --gen-nqp
15:09 dalek rakudo/nom:
15:09 dalek rakudo/nom: TimToady++
15:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a14f6cc3d4
15:10 TimToady looks good to me
15:10 [Coke] lizmat: done
15:12 bluescreen100 joined #perl6
15:12 * TimToady wonders why --gen options aren't the default
15:12 TimToady I guess we're expecting a system installed nqp one of these years...
15:15 kaare_ joined #perl6
15:16 daxim make packagers' (e.g. my) life easier by unifying the build system, separate configures/makefiles require annoying workaround patches
15:22 sqirrel joined #perl6
15:22 [Coke] I think the goal eventually is to have a single Configure.pl that optionall takes a --java or --parrot option.
15:23 daxim why option?
15:24 FROGGS what else?
15:24 daxim Configure.pl --with-java --with-parrot  # and both are "on" by default
15:25 daxim all targets must be reachable with one pass of configure/make
15:25 grondilu two builds by default?
15:25 daxim exactly
15:25 grondilu does not seem reasonable
15:25 daxim you're wrong
15:25 TimToady and --with-moar and --with-node   :)
15:26 jnthn daxim: Um, the two builds produce overlapping files...
15:26 TimToady probably by that point we're talking about yum/apt installs on all these platforms
15:26 daxim jnthn, I know.  I patched that out.
15:27 daxim TimToady, that's the goal
15:27 daxim I need yall's support to make the jvm nqp/rakudo available as package
15:28 daxim therefore drastically reducing the barriers to entry
15:28 TimToady but on-by-defualt is probably a bad API, since if they say --with-java they probably mean to exclude the others
15:28 [Coke] daxim; general user doesn't want two builds.
15:28 daxim nonsense
15:28 TimToady daxim: please be polite
15:28 * grondilu does not want two builds
15:29 [Coke] <shrug> without data, not worth arguing.
15:30 * grondilu wants to try several of them, and chose the one he'll stick to for long term.
15:30 FROGGS well, if we can get rid of overlapping files, then having all backends off by default and turn several on to build them in one pass sounds sane, no?
15:31 daxim why should they be off by default?
15:31 FROGGS daxim: because a user needs to choose
15:31 daxim why does a user need to choose?
15:32 FROGGS when I run configure for a software that is new to me, I need to choose what fits my needs
15:32 grondilu daxim: haven't you notice that a build takes time?  There's no need to waste time to compile stuff the user doesn't want or need.
15:32 FROGGS daxim: maybe someone doesnt like the jvm backend, should that be the default?
15:32 TimToady longterm, a user chooses via the dependencies from other packages, so there's not a lot of benefit into overengineering the config here
15:33 TimToady s/into/from/
15:33 FROGGS somebody might need threads, but what if only 50% of the backends offer this feature?
15:33 grondilu also, not everyone has a JDK installed on his computer.
15:33 FROGGS what if I have moarvm installed, then this might be my choice #1
15:33 TimToady that's what package managers are for
15:34 FROGGS but I can only make the choice if I got asked, otherwise I have to scroll up a gazillion pages in my terminal, because the default backend spammed the lines after perl Configure
15:34 grondilu I have a JDK, but it's OpenJDK and you guys told me it sucks compared to the  Oracle's proprietary JDK
15:34 FROGGS so it should be nice and easy for end users, and possible for maintainers, since they end up with a batch file or so
15:34 daxim gosh, all that's hardly revelant.  stop thinking like a developer for a while, and put yourself into the mindset of a packager.
15:35 FROGGS daxim: I'm putting myself in the position of a user
15:35 TimToady I don't think --with-all is such an onorous burden on a packager
15:35 FROGGS the packager just must know what options need to be passed, done
15:35 FROGGS exactly
15:38 FROGGS and I guess we will have some sort of backend<=>feature matrix in the future, and there is a decision that needs to be made (before cloning a few hundret MB of repo's)
15:38 FROGGS that said, brb &
15:40 timotimo lizmat: did you configure.pl before trying to build my nqp?
15:40 lizmat Ah, no, retrying
15:41 lizmat you mean Configure.pl, right ?
15:48 timotimo uh, yes
15:48 lizmat building ok so far
15:48 timotimo i added a new nqp file to the build
15:48 lizmat the one with optimize_method I presume  :-)
15:48 timotimo yes :)
15:51 REPLeffect joined #perl6
15:54 lizmat spectest starting
15:56 FROGGS joined #perl6
15:57 lizmat r: my @a of Array of Hash of Int; say @a.WHAT
15:57 camelia rakudo 22b007: OUTPUT«(Array[Array[Hash[Int]]])␤»
15:57 lizmat :-)
15:57 masak \o/
15:57 masak lizmat++
15:58 masak r: my @a of Array of Hash of Int; push @a, "OH NOES"; say @a.perl
15:58 camelia rakudo 22b007: OUTPUT«Type check failed in .push; expected 'Array[Hash[Int]]' but got 'Str'␤  in block  at src/gen/CORE.setting:7239␤  in method push at src/gen/CORE.setting:7222␤  in method push at src/gen/CORE.setting:1517␤  in sub push at src/gen/CORE.setting:7594␤  in block  at /tmp…
15:58 masak \o/
15:58 timotimo that's great!
15:58 masak r: my @a of Array of Hash of Int; @a[0] = "OH NOES"; say @a.perl
15:58 camelia rakudo 22b007: OUTPUT«Type check failed in assignment to '@a'; expected 'Array[Hash[Int]]' but got 'Str'␤  in block  at /tmp/gOXnwrPpNe:1␤␤»
15:58 masak \o/ \o/
15:59 raiph joined #perl6
15:59 masak r: my @a of Array of Hash of Int; @a[0] = (my @ of Hash of Int); say @a.perl
15:59 camelia rakudo 22b007: OUTPUT«Type check failed in assignment to '@a'; expected 'Array[Hash[Int]]' but got 'Array[Array[Hash[Int]]][Hash[Int]]'␤  in block  at /tmp/RSHb6Jp_dt:1␤␤»
15:59 lizmat r: my @a of Array of Hash of Int; @a[0]=[{a=>1}]
15:59 masak er.
15:59 camelia rakudo 22b007: OUTPUT«Type check failed in assignment to '@a'; expected 'Array[Hash[Int]]' but got 'Array[Array[Hash[Int]]]'␤  in block  at /tmp/IHLnxci3Bk:1␤␤»
15:59 grondilu r: my @a of Array of Hash of Int; @a[0] = { foo => 1 }; say @a.perl
15:59 camelia rakudo 22b007: OUTPUT«Type check failed in assignment to '@a'; expected 'Array[Hash[Int]]' but got 'Hash'␤  in block  at /tmp/tOdu9ux9Ap:1␤␤»
15:59 masak something's... wrong.
16:00 lizmat alas, it looks like the types are set up correctly, but in fact the type check I don't think knows how to handle them
16:00 grondilu r: my @a of Array of Hash of Int; @a[0] = my % of Int = { foo => 1 }; say @a.perl
16:00 camelia rakudo 22b007: OUTPUT«Type check failed in assignment to '@a'; expected 'Array[Hash[Int]]' but got 'Hash[Int]'␤  in block  at /tmp/r1octsQWZe:1␤␤»
16:00 lizmat so the .WHAT is only correct in name, not in functionality yet  :-(
16:00 timotimo expected 'Array[Hash[Int]]' but got 'Array[Array[Hash[Int]]][Hash[Int]]' - what's that?
16:00 lizmat a missing COMPOSE phaser
16:00 lizmat :-)
16:02 lizmat timotimo: spectest completed ok, no errors (others than the icu errors I always get)
16:03 lizmat last niight:Files=752, Tests=26570, 426 wallclock secs ( 8.64 usr  2.81 sys + 2892.44 cusr 267.99 csys = 3171.88 CPU)
16:03 masak timotimo: it's MADNESS, UTTER MADNESS
16:03 masak AAAAAAAAAA
16:03 lizmat with your patch: Files=752, Tests=26570, 428 wallclock secs ( 8.48 usr  2.71 sys + 2848.83 cusr 265.02 csys = 3125.04 CPU)
16:03 lizmat slightly less, but I would think this is well in range of noise leveles
16:03 lizmat levels
16:03 masak :)
16:03 timotimo that's 2 seconds slower :)
16:04 timotimo oh, but a couple less cpu time
16:04 lizmat wallclock is always between 415 and 435 secinds
16:04 lizmat seconds
16:04 lizmat I'll run another one for comparison
16:05 timotimo i'd like to merge that branch, since it doesn't change spectests and does give performance improvements on arithmetics in nqp. probably only contributes a bit of noise to rakudo's performance, though
16:05 TimToady r: my @a of Array of Hash of Int; say @a.WHAT.eval
16:05 camelia rakudo 22b007: OUTPUT«use of uninitialized value of type Array[Array[Hash[Int]]] in string context  in block  at /tmp/T9aLpKosqk:1␤␤Nil␤»
16:05 TimToady r: my @a of Array of Hash of Int; say @a.WHAT.gist.eval
16:05 camelia rakudo 22b007: OUTPUT«(Array[Array[Hash[Int]]][Arr​ay[Array[Hash[Int]]][Hash[Int]]])␤»
16:06 TimToady same issue, I suppose
16:06 lizmat yup
16:07 lizmat some cases still go wrong, like:
16:07 TimToady r: my @a of Array of Hash[Int,Int]; say @a.WHAT
16:07 camelia rakudo 22b007: OUTPUT«(Array[Array[Hash[Int,Int]]])␤»
16:07 lizmat r: my %H{Str} of Int; say %h.WHAT
16:07 camelia rakudo 22b007: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/XJf4qRPj2_â�¤Variable '%h' is not declaredâ�¤at /tmp/XJf4qRPj2_:1â�¤------> [32mmy %H{Str} of Int; say %h.WHAT[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        method argumentsâ�¤Â»
16:07 TimToady case
16:07 lizmat r: my %h{Str} of Int; say %h.WHAT
16:07 camelia rakudo 22b007: OUTPUT«(Hash[Any,Str][Int])␤»
16:07 TimToady hmm
16:08 * grondilu add no idea my %h{Str} of Int; could be legal syntax
16:08 grondilu *had
16:08 jnthn That looks...odd :)
16:08 jnthn Should be Hash[Int,Str], I think?
16:08 TimToady should've turned into Hash[Int,Str]
16:08 lizmat its because the PARAMETERIZE_TYPE is run before the "of" is seen
16:08 TimToady yes
16:08 jnthn ah...
16:08 lizmat this should basically be run at COMPOSE time, I think
16:09 lizmat but we don't have a functioning COMPOSE phaser yet
16:09 TimToady r: my Int %h{Str}; say %h.WHAT
16:09 camelia rakudo a14f6c: OUTPUT«(Hash[Int,Str])␤»
16:09 lizmat nor would I know where to put one
16:09 lizmat TimToady: that's tun by PARAMETERIZE_TYPE
16:09 lizmat and correct
16:09 lizmat it's mixing the "prefix" type with "postfix" "of" type that gets things messed up in the naming
16:10 lizmat *run
16:10 TimToady r: my Int %h{Str} of Num; say %h.WHAT
16:10 camelia rakudo a14f6c: OUTPUT«(Hash[Int,Str][Num])␤»
16:10 TimToady n: my Int %h{Str} of Num; say %h.WHAT
16:10 camelia niecza v24-88-g1f87209: OUTPUT«[31m===[0mSORRY![31m===[0m��Trait of not available on variables at /tmp/oiN1ddtau7 line 1:�------> [32mmy Int %h{Str} of Num[33m�[31m; say %h.WHAT[0m��Postconstraints, and shapes on variable declarators NYI at /tmp/oiN1ddtau7 line 1:�------> [32mm…
16:10 lizmat I'm not sure that's legal
16:10 TimToady std: my Int %h{Str} of Num; say %h.WHAT
16:10 camelia std 06636e4: OUTPUT«[31m===[0mSORRY![31m===[0m�Extra 'of' type; already declared as type Int at /tmp/8Av62f6k10 line 1:�------> [32mmy Int %h{Str} of Num[33m�[31m; say %h.WHAT[0m�Check failed�FAILED 00:00 44m�»
16:10 TimToady it's not
16:10 TimToady but rakudo doesn't catch it yet
16:11 lizmat I guess I could catch that
16:11 TimToady (std's is the correct behavior, for those watching)
16:11 lizmat r: my Any %h{Str} of Int
16:11 camelia rakudo a14f6c:  ( no output )
16:11 lizmat r: my Any %h{Str} of Int; say %h.WHAT
16:11 camelia rakudo a14f6c: OUTPUT«(Hash[Any,Str][Int])␤»
16:11 lizmat not sure I can distinguish by not specified yet type or Any
16:12 TimToady obviously it's treating it as my %h{Str} of Any of Int
16:12 TimToady (well, except the naming bits)
16:13 TimToady still think I'd rather disallow mixing prefix and postfix as std does
16:13 lizmat timotimo: Files=752, Tests=26570, 421 wallclock secs ( 8.52 usr  2.77 sys + 2844.15 cusr 265.41 csys = 3120.85 CPU)
16:13 * lizmat would be in favour of that!
16:14 TimToady std: my Array of Num %h{Str}; say %h.WHAT
16:14 camelia std 06636e4: OUTPUT«ok 00:00 44m␤»
16:14 TimToady nr: my Array of Num %h{Str}; say %h.WHAT
16:14 camelia rakudo a14f6c: OUTPUT«(Hash[Array[Num],Str])␤»
16:14 camelia ..niecza v24-88-g1f87209: OUTPUT«[31m===[0mSORRY![31m===[0m��Coercive declarations NYI at /tmp/cpzeur2LWn line 1:�------> [32mmy Array of Num[33m�[31m %h{Str}; say %h.WHAT[0m��Postconstraints, and shapes on variable declarators NYI at /tmp/cpzeur2LWn line 1:�------> [32mmy Array …
16:14 TimToady coercive?!?
16:14 jnthn I suspect the right way to go is to somehow use trait_mod:<of> for the my Int %h case too...
16:14 lizmat an error in the error message ?
16:15 TimToady niecza must be confused about something there
16:15 TimToady maybe an over-specific summary message
16:16 lizmat timotimo: maybe postpone the merge until after this month's cut ?
16:16 lizmat other than that, I don't see any reason not to merge
16:16 lizmat from a rakudo point of view
16:17 TimToady anyway, looks like we're getting close on the type declarations/names, lizmat++
16:17 lizmat :-)
16:18 kaleem joined #perl6
16:18 berekuk joined #perl6
16:18 lizmat TimToady: could you clarify where one would put a COMPOSE phaser, and where it would be hooked up to ?
16:19 lizmat or maybe jnthn ?
16:19 jnthn Where's it spec'd?
16:22 dalek specs: fac7a1a | larry++ | S02-bits.pod:
16:22 dalek specs: can't mix 'my Dog $x' with 'my $x of Dog'
16:22 dalek specs: review: https://github.com/perl6/specs/commit/fac7a1ae9b
16:22 atroxaper joined #perl6
16:25 TimToady you talking about the COMPOSE phaser?  S04:1382
16:25 synopsebot Link: http://perlcabal.org/syn/S04.html#line_1382
16:25 TimToady doesn't go into great detail
16:25 * masak .oO( Dog von Dog of the Noble House of Dog )
16:26 jnthn So I see... ;)
16:26 TimToady but the consensus here a day or so ago was that "when" means "after"
16:26 jnthn So,
16:27 jnthn role R { COMPOSE { say "omg I was compaus" } };
16:27 jnthn # no output at this point
16:27 TimToady right
16:27 jnthn class C does R { BEGIN say "not yet"; }; BEGIN say "after";
16:27 jnthn # not yet\nomg I was compaus\nafter\n
16:27 jnthn ?
16:27 TimToady seems right
16:27 jnthn role R2 does R { }
16:28 jnthn # no output here either as we didn't reach a class yet?
16:28 TimToady seems sane
16:28 jnthn class C does R2 { BEGIN say "not yet"; }; BEGIN say "after";
16:28 jnthn # not yet\nomg I was compaus\nafter\n
16:28 jnthn That is, they all carry until class composition time?
16:28 TimToady isn't that how roles normally do things?
16:28 jnthn Yes. :)
16:28 jnthn Just making sure we expect the same thing :)
16:28 TimToady then that's how it should still work :)
16:29 lizmat hmmm… maybe then I don't need a COMPOSE phaser
16:29 jnthn COMPOSE { say $_ } # anything interesting? :)
16:29 TimToady well, would be nice to be able to get at the newish metaobject, I suppose
16:29 lizmat but a phaser that is run when a variable is completely defined
16:30 jnthn lizmat: I don't think that's a phaser, I think that's a method on a Variable object...
16:30 lizmat timotimo: Files=752, Tests=26570, 425 wallclock secs ( 8.55 usr  2.76 sys + 2843.18 cusr 264.56 csys = 3119.05 CPU)
16:30 lizmat jnthn: right, we discussed that before
16:30 lizmat yup
16:30 jnthn TimToady: The type object of the thing that it could composed into may be a sane thing?
16:30 lizmat ok, I'll work that way
16:30 jnthn s/could/was/
16:31 pmurias re all backends being built by default, wouldn't we want to package backends separately
16:31 pmurias ?
16:32 lizmat daxim?
16:32 lizmat alas, daxim no longer with us :-(
16:32 mls firefox
16:33 pmurias mls: ?
16:33 mls eek, mouse slipped into wrong window
16:33 mls please ignore ;)
16:33 pmurias ok ;)
16:33 jnthn There's worse things to wrong-window :)
16:34 masak mls: this is why "focus follows mouse" gets you into trouble :P
16:35 mls yes, but I'm so used to it...
16:35 dalek roast: 5f956b5 | (Elizabeth Mattijsen)++ | S12-introspection/WHAT.t:
16:35 dalek roast: Add 2 more TODO tests for %h{Str} of Int case
16:35 dalek roast: review: https://github.com/perl6/roast/commit/5f956b5dd7
16:36 TimToady in STD, the call to <.getdecl> is generally the appropriate moment to resolve the type of the thing being declared
16:36 TimToady (STD doesn't attemp to do that, of course)
16:36 TimToady *pt
16:37 wingfold joined #perl6
16:37 gdey joined #perl6
16:37 Mouq joined #perl6
16:39 colomon joined #perl6
16:39 denis_boyun joined #perl6
16:40 spider-mario joined #perl6
16:40 lizmat no "getdecl" in rakudo :-(
16:41 masak mls: maybe only do it on odd days, and try to break the habit on even days? :P
16:43 mls date
16:43 mls would just drive me insane
16:44 mls (or is that your secret goal ;) )
16:44 masak maybe... :)
16:44 donaldh joined #perl6
16:44 mls btw, that date above should also go to another window
16:44 moritz masak: after you've had sloppy focus for a few years, it's just as dangerous to switch if off
16:46 masak mls: yes, I suspected that :)
16:46 masak moritz: I find that as a rule and with the right discipline, even changing habits is a learned skill.
16:47 masak moritz: for example, my brain has adapted wonderfully to switching between keyboard layouts in the past few years.
16:47 donaldh I'm trying to decide the best way to introduce nqp::shell($cmd, $dir, %env) as a replacement for nqp::shell($cmd)
16:47 donaldh Is it just to introduce a new op called nqp::shelling and then subsequently deprecate nqp::shell
16:48 donaldh shellenv even
16:48 donaldh I love autocomplete
16:48 donaldh There's a rakudo dependency on nqp::shell($cmd) so I'm trying to achieve a smooth migration.
16:51 moritz masak: mine too, as long as one type of keyboard is coupled to a certain keyboard layout
16:52 moritz masak: and that was the problem with the macbook; its keyboard felt very similar to another laptop keyboard I had been using for years, but with a subtly different layout
16:52 masak moritz: yes, such things are problematic.
16:53 moritz donaldh: introducing a separate op would indeed be a good solution, IMHO
16:54 pmurias donaldh: you could make nqp::shell accept both 1 and 3 args
16:54 pmurias donaldh: and then maybe remove the support for 1 arg
16:56 donaldh pmurias: not possible. I tried two ops with the same name and only got the latter.
16:59 donaldh The core op list in QAST is keyed by op name only. So the op names exposed by nqp need to be unique.
16:59 timotimo donaldh: just today i saw how you can do that, though
16:59 donaldh timotimo: oh
16:59 timotimo ah, yes, the substr op
17:00 donaldh timotimo: ah.
17:00 timotimo i can't find it any more, though
17:00 donaldh Just read it.
17:01 timotimo ah, good :)
17:02 donaldh It's in Compiler.nqp; add substr2 and substr3 then add a substr core op that discriminates
17:02 donaldh The underlying ops still need different names.
17:03 timotimo ah, ok
17:03 donaldh Some boilerplate for a few nqp commits until rakudo catches up.
17:03 donaldh :-)
17:04 TimToady (brain plasticity)++
17:05 pmurias donaldh: using two names is one way to do that, the other would be to insert the missing arguments
17:05 donaldh pmurias: how so ?
17:06 Mouq joined #perl6
17:09 denisboyun joined #perl6
17:11 dalek rakudo/nom: 932bfc8 | moritz++ | README:
17:11 dalek rakudo/nom: [README] ConfigureJVM.pl understands --gen-nqp; recommend it
17:11 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/932bfc8955
17:13 moritz oh, I was outdated. [Coke]++ already fixed it
17:13 moritz so only the other part of my commit survived the rebase
17:14 lizmat moritz: I guess we're in a moratorium for commits now ?
17:17 lizmat afk&
17:20 timotimo i'm glad to see that my fix improves the spectest time by a solid ~1.5%
17:20 timotimo that shows that the optimization's analysis phase doesn't take too long and it gives results even when things are not executed too often.
17:21 timotimo er, hold on. that optimization won't even run the analysis step in the rakudo spectest, because it only operates on nqp code
17:21 pmichaud good morning, #perl6
17:21 pmichaud er, good afternoon I guess
17:22 diakopter pmichaud: howdy :)
17:23 colomon o/
17:23 donaldh moratorium for commits ?  release time already?
17:26 * TimToady ponders the difference between a commitee and committee
17:26 donaldh subtle
17:35 lizmat I'll take design by commitee any day
17:37 pmurias pmichaud: hi
17:38 FROGGS pmichaud: hi!
17:38 pmurias donaldh: a callback is inserted in the op table, but the way substr is implemented is propably the best for a temporary workaround
17:40 jnthn o/ pmichaud
17:44 lizmat pmichaud!
17:52 berekuk joined #perl6
17:55 Mouq joined #perl6
17:56 FROGGS jnthn: how do I check if something is a 6model object in nqp@parrot?
17:58 pmurias FROGGS: the way I was using was to treat it as 6model object + use try
17:58 FROGGS pmurias: that might work out, thank you
17:59 FROGGS it does!! pmurias++
17:59 jnthn FROGGS: Think there's a pir::what_or_null__PP op also
17:59 jnthn Which you can use with nqp::isnull or so
18:00 FROGGS the try is okay, it is just a test file :o)
18:00 lizmat jnthn: looking at the stack trace of "my $a of Int of Int', it seems like the "of" trait handling is superfluous ?
18:00 pmurias FROGGS: are you writting new nqp tests? ;)
18:00 FROGGS pmurias: no, just making the sprintf test fit for parrot
18:01 moritz lizmat: fwiw the release is on Thursday; I'm merely preparing the docs for it now
18:01 lizmat moritz: ok
18:02 moritz timotimo: the spectest suite is very unusual code in that it contains few loops, so its performance characterists aren't representative for normal programs. Still a good sign if the runtime decreases :-)
18:05 lizmat runtime actually didn't decrease above noise levels, but CPU seemed to have decreased more significanlty
18:06 lizmat I guess wallclock is more dependent on disk, and running it on an SSD helps  :-)
18:13 kbaker joined #perl6
18:16 sqirrel joined #perl6
18:26 timotimo yes, i meant cpu time not run time
18:26 lizmat r: my $a of Array will begin {say "foo"} of Int  # is having 2 non-consecutive "of"s valid syntax?
18:26 camelia rakudo 932bfc: OUTPUT«foo␤»
18:26 timotimo when's the release supposed to be cut?
18:26 lizmat Thu
18:28 lizmat so I guess we have less than 2 days to mess things up *and* repair them
18:29 FROGGS let's go!
18:29 timotimo i'm just now thinking about putting the optimization in before the release
18:30 lizmat we would have at least 1 day of rakudo * smoke then
18:31 FROGGS lizmat: does it smoke HEAD?
18:31 lizmat afaik, yes?
18:31 timotimo it got changed, yes
18:31 FROGGS cool
18:31 lizmat now you got me doubting
18:31 FROGGS that's good
18:31 lizmat ok, cool
18:32 lizmat .oO( good thing git didn't call HEAD POT )
18:33 FROGGS *g*
18:34 sciurius joined #perl6
18:40 lizmat just as TimToady was musing whether to disallow "my Hash $a of Int' (mixing pre/postfix)
18:40 lizmat I'm inclined to disallow "my $a of Hash will begin { say "foo" } of Int" (aka, non-consecutive "of") for the same reason
18:41 lizmat anybody sees a problem with that ?
18:41 lizmat *see
18:43 jnthn Probably should be the same logic that forbids the two
18:43 jnthn Can only have one of.
18:44 lizmat well, you can have more than one, as long as they're consecutive
18:44 lizmat r: my %h of List of Hash of Int; say %h.WHAT
18:44 camelia rakudo 932bfc: OUTPUT«===SORRY!===␤Type List cannot accept type arguments␤»
18:45 lizmat r: my %h of Array of Hash of Int; say %h.WHAT
18:45 camelia rakudo 932bfc: OUTPUT«(Hash[Array[Hash[Int]]])␤»
18:45 lizmat right ?
18:45 timotimo ah, those are "nested" in that case, yeah
18:46 lizmat r: (Array[Int]).WHAT.say
18:46 camelia rakudo 932bfc: OUTPUT«(Array[Int])␤»
18:47 donaldh joined #perl6
18:47 lizmat r: (Array of Int).WHAT.say # is this a rakudobug ?
18:47 camelia rakudo 932bfc: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/eDRdwGZS0Bâ�¤Two terms in a rowâ�¤at /tmp/eDRdwGZS0B:1â�¤------> [32m(Array [33mâ��[31mof Int).WHAT.say # is this a rakudobug ?[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤        infix or met…
18:48 sqirrel joined #perl6
18:49 jnthn lizmat: No, the consecutive ones parse differently.
18:50 lizmat so not a rakudobug, ok
18:50 jnthn lizmat: It's not parsed as many of's, it's parsed as of and then a Foo of Bar of Baz type name.
18:51 bruges_ joined #perl6
18:52 Mouq joined #perl6
18:54 donaldh Can I pass a P6 hash, say, %*ENV into an nqp::op and if so, how do I iterate its contents ?
18:56 lizmat donaldh: %*ENV is special
18:56 donaldh or course it is.
18:56 lizmat see src/core/terms, line 12 and following
18:57 lizmat I'm not even sure it is VM agnostic
18:57 * donaldh walks into another trap
18:57 donaldh yeah, it's proxied
18:58 donaldh I assumed it would still behave largely like a hash though.
18:58 lizmat it does to the casual user
18:58 jnthn You can't pass it straight in 'cus it's not actually a low level Hash, but a Perl 6 object pointing to one... You can nqp::getattr(%*ENV, EnumMap, '$!storage') to get access to the underlying hash.
18:59 donaldh oh, cool
18:59 Util #ps in 30m
19:06 labster good morning, #perl6
19:06 FROGGS hi labster
19:07 labster hi FROGGS
19:08 lizmat o/ labster
19:08 labster reading through jnthn++'s slides on parallelism and concurrency.  Good stuff, would have liked to have been there.
19:11 colomon joined #perl6
19:12 timotimo we're hoping to get the video recordings soon
19:13 lizmat with regards to the Rakudo & NQP Internals workshop on 14/15 September in Frankfurt
19:13 lizmat it tentatively looks like we have a venue, it is now just a matter of insurance
19:13 timotimo oh yes, i still have to make reservations. though now i have a car that i could drive there
19:15 moritz labster: the presentation was very well received
19:15 lizmat the location: http://goo.gl/maps/2T5j2
19:15 lizmat which looks to be about 700m from Frankfurt main train station
19:16 FROGGS awesome!
19:16 timotimo i kind of have no experience getting a sleeping spot :|
19:16 dalek rakudo-js: a688d83 | (Pawel Murias)++ | .gitignore:
19:16 dalek rakudo-js: Update .gitignore.
19:16 dalek rakudo-js: review: https://github.com/pmurias/​rakudo-js/commit/a688d837fc
19:16 dalek rakudo-js: 868b4bd | (Pawel Murias)++ | src/QAST/Compiler/JavaScript.nqp:
19:16 dalek rakudo-js: Implement \n in regexes.
19:16 dalek rakudo-js: review: https://github.com/pmurias/​rakudo-js/commit/868b4bdd36
19:16 dalek rakudo-js: 580829d | (Pawel Murias)++ | / (2 files):
19:16 dalek rakudo-js: Concrete objects should be true when treated as booleans by default.
19:16 dalek rakudo-js: review: https://github.com/pmurias/​rakudo-js/commit/580829d2ea
19:16 dalek rakudo-js: 896e597 | (Pawel Murias)++ | / (6 files):
19:16 dalek rakudo-js: Have our own null object instead of using the builtin javascript one.
19:16 dalek rakudo-js:
19:17 dalek rakudo-js: That allows calling methods on it (we do that when using it in a conditional)
19:17 dalek rakudo-js: review: https://github.com/pmurias/​rakudo-js/commit/896e597f13
19:17 lizmat as soon as the venue is really secured, I will put out a more formal announcement / invitation
19:17 moritz lizmat++
19:17 lizmat timotimo: don't worry, I guess when we find a nice hotel in the neighborhood, we can arrange accommodation quite easily
19:17 FROGGS timotimo: well, a well knows yapc sponsor ( http://www.booking.com/ ) might be of help :o)
19:17 lizmat indeed  :-)
19:19 timotimo that's a good hint indeed
19:20 timotimo do i enter "JAPH" somewhere to get better prices? :P
19:20 FROGGS hehe, no idea
19:21 FROGGS http://www.hotel-acasa.de/preise/ might be okay
19:21 labster only if your coupon code eval()'s to JAPH
19:21 timotimo :D
19:21 timotimo and has not yet been seen? :)
19:21 labster JAPHbot9000?
19:22 timotimo FROGGS: did you research which rates apply?
19:23 ajr joined #perl6
19:23 FROGGS rates? what rates?
19:23 timotimo "kleine messerate" vs "große messerate" vs "messefreie wochenenden"
19:24 FROGGS the hotel I posted is not linked via booking.com though :/
19:24 FROGGS I just typed in frankfurt, and ordered by price, problem is that the heapest are like 12km away from the venue
19:25 timotimo i'd like to not sleep in a heap of people if that's possible :)
19:25 FROGGS ahh, now I see what you mean
19:25 timotimo :D
19:26 FROGGS timotimo: I'm going to call then tmw
19:26 FROGGS them*
19:27 timotimo tomorrow?
19:27 FROGGS yeah, to ask then what the price will be
19:27 geekosaur might be a bit late now...
19:28 timotimo OK
19:28 timotimo is there a law against sleeping in a car? :)
19:28 lizmat city ordnance might
19:29 FROGGS timotimo: it is okay if you have a roxette mc
19:30 timotimo music cassette?
19:31 FROGGS you know what that is, right?
19:32 timotimo no
19:32 timotimo :D
19:32 timotimo just kidding. i'm not that young
19:32 lizmat actually, compact cassette is the proper name
19:32 * FROGGS feels old
19:32 lizmat if I remember correctly
19:32 timotimo i don't understand what it has to do with roxette, though
19:33 FROGGS roxette was famous when mc's were too
19:33 bluescreen100 joined #perl6
19:33 lizmat .oO( that was a funny Not The Nine O'Clock sketch, about the guy asking for a gramophone )
19:33 timotimo so ... why would i be allowed to sleep in my car if i was a bit older?
19:33 FROGGS http://www.youtube.com/watch?v=zN5jsPFEjg8
19:34 timotimo ah
19:34 FROGGS I hate that song
19:34 lizmat http://www.youtube.com/watch?v=dSINO6MKtco   # gramophone
19:34 jnthn Please say this is a different song from yesterday... :P
19:35 lizmat extra funny in the days of CD's kicking the bucket :-)
19:35 jnthn ah, phew, no :)
19:35 * jnthn ponders doing some Perl 6 stuff for a couple of hours, and wonders what to attack...
19:36 lizmat geting $_ to alias to the variable being declared in will foo {} blocks ?
19:37 FROGGS lizmat++
19:37 jnthn lizmat: hmm...
19:37 lizmat could be dead simple, but I'm not seeing it yet
19:38 lizmat fwiw, I'm working on a Variable.compose method to be called after handling the traits
19:38 FROGGS in v5 it is simple, every block is some sort of loop, so you always have a signature
19:38 jnthn No, it's not dead simple.
19:39 jnthn The thing is, the phasers vary in the lifetimes...
19:39 FROGGS that block just needs to be an <sblock(1)>, no?
19:39 lizmat well, I couldn't even get will begin {}  to work
19:39 jnthn *nod*
19:39 timotimo jnthn: would you like to do a bit on module loading? :|
19:39 jnthn Yeah, there's quite some special-casing there
19:39 jnthn timotimo: Module loading?
19:40 lizmat ok, more than for a few hours
19:40 FROGGS ahh, no, <pblock(1)>
19:40 lizmat postpone it until after the RaNIW
19:40 jnthn lizmat: I've been thinking about this for a bit, just didn't settle on something I liked...
19:40 jaffa4 joined #perl6
19:41 jnthn Thing is, we store phasers once inside the encloding block, but the particular variable we're interested in is associated with the activation record...
19:41 timotimo jnthn: remember my ADT module that creates new classes through the MOP and exports them with EXPORT?
19:41 timotimo where if you use those classes you get things like Error: Type check failed in assignment to '$a'; expected 'Tree' but got 'Tree'
19:42 jnthn I...don't quite remember that :)
19:42 jnthn I remember teh ADT module, not the errors
19:43 lizmat so maybe we need a phaser that gets run when a block is completed, and then set up the phasers ?
19:43 lizmat callback, really
19:43 timotimo right. gimme a sec and i'll give you the failing tests if you want them
19:43 pmurias r: print;
19:43 camelia rakudo 932bfc:  ( no output )
19:44 lizmat r: say
19:44 camelia rakudo 932bfc: OUTPUT«␤»
19:44 jnthn lizmat: Maybe...mostly it's just making sure we get them invoked with the right outer scope...
19:45 lizmat ok, if you think that idea is valid, I'll try to follow that
19:45 lizmat I mean, one will block might be closing over other lexicals in the block
19:45 jnthn It feels a bit off...
19:46 lizmat ok, that is not a good sign
19:46 lizmat :-)
19:46 lizmat I'll just try to fix "my Int $a of Hash" and such first
19:46 jnthn *nod*
19:47 jnthn That should be an error, I guess?
19:47 timotimo https://github.com/timo/ADT/tree/EXPORT_sub - this is the branch, the test t/02* is showing the error
19:47 lizmat jnthn: yes
19:48 stevan_ joined #perl6
19:48 jnthn timotimo: From the docs, "Since rakudo doesn't yet allow the EXPORT sub of a package to return a hash of things to export," - but it does now :)
19:48 FROGGS masak: ping
19:48 jnthn oh, we're in a branch that's working on that...
19:48 jnthn :)
19:49 timotimo oh yes, the readme is out of date, thanks
19:49 nebuchadnezzar joined #perl6
19:49 masak FROGGS: pong
19:50 FROGGS masak: in nqp::sprintf we're dying if the directive-count doesnt match the arg count
19:50 FROGGS masak: I dont like that anymore :o)
19:51 pmurias how should I run a shell command in nqp?
19:51 jnthn timotimo: Well, clone'd the repo at least... :)
19:51 FROGGS because you can a) specify the arg you want by %$3s by example, and it might be handy to just format some of the args passed
19:51 moritz pmurias: there's a pir::spawnw__IP on nqp-parrot
19:52 pmurias currently pir::spawnw__Is('node QAST2JSOutput > QAST2JSOutput.output') is used, but I don't want to implement a pir:: thing on nqp-js
19:52 moritz pmurias: then introduce an nqp:: op for it :-)
19:52 jnthn Wasn't that shell, which donaldh++ is recently tweaking?
19:54 masak FROGGS: I always knew that something like %$3s would need a different treatment.
19:54 masak FROGGS: but there definitely should be a count/verification of some kind.
19:54 FROGGS masak: do you have a plan about that?
19:54 zwut00 joined #perl6
19:54 FROGGS masak: yeah, feels like strict/lax mode
19:55 masak FROGGS: no, it's always strict, but the $3 things don't count in the count... kinda.
19:55 masak FROGGS: no specific plan, 'sides writing one test at a time.
19:56 FROGGS masak: hmmm, so a pattern only of $n's wont work out
19:56 masak yes, I think it would...
19:57 masak there's an underlying rule, but I can't put my finger on it.
19:57 pmurias jnthn: thanks
19:57 FROGGS masak: btw, when commenting out these nqp::die's, it passes now the nqp@parrot and rakudo@parrot tests too
19:57 * pmurias hates that people add ops to nqp without writing a test
19:57 FROGGS except one %x test, which fails on the jvm too
19:57 FROGGS will fix one at next
19:59 masak something like this: there's non-$n and $n. non-$n always counts. $n only counts if it doesn't refer to something that was already touched by a non-$n.
20:00 timotimo jnthn: added two new tests and improved the readme thingie
20:00 FROGGS I was afraid you were saying that
20:01 jnthn timotimo: ok. I got the same error you mentioned.
20:02 timotimo good to know i'm not hallucinating terminal output now :)
20:02 lizmat jnthn: the case of "my %h{Str} of Int"
20:02 lizmat I'm thinking of disallowing that as well
20:02 masak hm, why?
20:03 FROGGS masak: for v5, I could just catch (and keep) these two expections... right?
20:03 lizmat the problem is that the $t in PARAMETERIZE_TYPE is not set correctly yet
20:03 donaldh joined #perl6
20:03 lizmat and I don't see a way to fix this up later when handling the "of" trait
20:03 masak FROGGS: sorry, I'm not focused enough.
20:03 FROGGS masak: np :o)
20:04 lizmat masak: my $what := self but TypedHash[$t.WHAT, c[0]];
20:04 * FROGGS .oO( a c[0] would be nice now )
20:04 lizmat the $t.WHAT  should be later corrected to Int rather than Any (in the case of "my %h{Str} of Int"
20:05 jnthn lizmat: I think that we may want to consider a slightly larger re-org for this stuff.
20:05 jnthn lizmat: At the moment we're doing a PARAMETERIZE_TYPE call from Actions, or via World anyway.
20:05 lizmat yup
20:06 jnthn lizmat: I'm wondering if we should only ever do that in the Variable.compose.
20:06 lizmat but the Variable is only created if we have traits
20:06 lizmat that would not catch "my %h{Str}"
20:06 jnthn lizmat: And we translate my Int %h{Str} into tweaks to Variable.
20:06 jnthn lizmat: I know, I'm saying that we maybe want to do different when we spot we have types to set up.
20:07 jnthn What's wrong with that?
20:07 jnthn my %h{Str} of Int # should work like my Int %h{Str};
20:07 jnthn The problem is when we get
20:07 jnthn my Int %h{Str} of Num;
20:07 jnthn e.g. we need to complain when things get set twice.
20:08 lizmat ok, but currently the %h{Str} triggers the PARAMETERIZE_TYPE call *before* the "of" trait is handled
20:09 lizmat I'm not seeing how I can change the "elf but TypedHash[$t.WHAT, c[0]];" after it has been returned by PARAMETERIZE_TYPE
20:09 lizmat *self
20:09 jnthn lizmat: I'm suggesting we don't do that call until Variable.compose
20:10 lizmat but currently at least, the Variable object is only created when we have traits
20:10 lizmat # Apply any traits.
20:10 lizmat if $trait_list {
20:10 lizmat my $Variable := $*W.find_symbol(['Variable']);
20:12 lizmat so doing a "my %h{Str}" would never see a Variable object created, nor composed
20:12 lizmat *or* you're saying we would need to create such an object always ?
20:12 lizmat for *every* variable declaration ?
20:14 * masak is too tired to think properly :/
20:14 lizmat teaching will do that to you
20:14 masak yes. it's as if I taught away my soul.
20:15 masak at least they said "thank you" :)
20:15 lizmat those pesky little brain-sucking pupils :-)
20:15 jnthn lizmat: For every one that has type constraints on it, perhaps
20:16 jnthn lizmat: Not sure if we run into the circularity saw there...
20:16 lizmat oddly enough, the "Str" in %h{Str} is not visible in $*OFTYPE
20:16 jnthn Right, 'cus it's the key type, not the of type :)
20:17 lizmat so that's in $shape ?
20:17 jnthn iirc, yes
20:17 lizmat right, ok
20:17 timotimo .o( i should get in $shape, too )
20:18 lizmat ok, I think I can go forward now
20:24 jnthn Well, or at least sideways... :)
20:25 lizmat hehe, it's all relative
20:25 lizmat topologically the same, no?
20:25 lizmat r: my $*
20:25 camelia rakudo 932bfc: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/3TnCtz2vWKâ�¤Two terms in a rowâ�¤at /tmp/3TnCtz2vWK:1â�¤------> [32mmy $*[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        scoped declaratorâ�¤        constraintâ�¤        postfixâ�¤        infix stopperâ�¤        infi…
20:25 lizmat whee!
20:25 lizmat std: my $*
20:25 camelia std 06636e4: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of $* variable; in Perl 6 please use ^^ and $$ at /tmp/2NKdtmhzVo line 1:�------> [32mmy $*[33m�[31m<EOL>[0m�Parse failed�FAILED 00:00 41m�»
20:28 lizmat r: say $*
20:28 camelia rakudo 932bfc: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/y1RlNh1lYNâ�¤Non-declarative sigil is missing its nameâ�¤at /tmp/y1RlNh1lYN:1â�¤------> [32msay [33mâ��[31m$*[0mâ�¤    expecting any of:â�¤        argument listâ�¤        prefix or termâ�¤        prefix or meta-prefixâ�¤Â»â€¦
20:28 lizmat std: say $*
20:28 camelia std 06636e4: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of $* variable; in Perl 6 please use ^^ and $$ at /tmp/vZHO0HrSw2 line 1:�------> [32msay $*[33m�[31m<EOL>[0m�Parse failed�FAILED 00:00 42m�»
20:29 dalek nqp: 04fe91c | (Tobias Leich)++ | / (2 files):
20:29 dalek nqp: make sprintf pass under parrot backend
20:29 dalek nqp:
20:29 dalek nqp: Also added two tests about accessing args by index.
20:29 dalek nqp: review: https://github.com/perl6/nqp/commit/04fe91c5ae
20:33 timotimo does our nqp implementation of sprintf already power the parrot version of rakudo?
20:33 FROGGS timotimo: I'd say so
20:33 lizmat not sure
20:33 lizmat is it?
20:33 timotimo i just onder: is it being used or not? :)
20:34 FROGGS timotimo: it handles bigints for example, and there are no regressions (expect this, which is by design https://github.com/perl6/roast/blob/mas​ter/integration/advent2009-day02.t#L23 )
20:34 FROGGS timotimo: rakudo@jvm uses it
20:34 FROGGS and my locally hacked rakudo
20:34 lizmat yes, but afaik parakudo doesn't
20:34 lizmat I'll be gladly corrected
20:35 FROGGS lizmat: not yet, I'm working on that point
20:35 lizmat ok, so it *can*, but it doesn't yet, rigtht ?
20:36 FROGGS right
20:36 FROGGS I want to get rid of one failing nqp test, and then I might pull it in
20:36 timotimo why is it by design? a hash should .ftm with just one string?
20:37 lizmat cool: one more thing to add to the ChangeLog :-)
20:37 logie joined #perl6
20:40 moritz r: (2**65).fmt: '%d'
20:40 camelia rakudo 932bfc:  ( no output )
20:40 moritz r: say (2**65).fmt: '%d'
20:40 camelia rakudo 932bfc: OUTPUT«0␤»
20:41 moritz n: say (2**65).fmt: '%d'
20:41 camelia niecza v24-88-g1f87209: OUTPUT«36893488147419103232␤»
20:43 lizmat std: say $"
20:43 camelia std 06636e4: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of $" variable; in Perl 6 please use .join() method at /tmp/hw_Gmzy3Dy line 1:�------> [32msay $"[33m�[31m<EOL>[0m�Parse failed�FAILED 00:00 42m�»
20:52 pmurias hmm, implementing nqp::shell on node requires using a module from the package repository :/
20:53 mst pmurias: you're a perl programmer. you're not allowed to be scared of modules.
20:54 raiph joined #perl6
20:54 * TimToady is scared of modules...
20:56 slava TimToady: kind of weird seeing that come from you ... since, you know, CPAN! :P
20:56 mst TimToady: actually, I'm mostly only scared of the ones -you- wrote
20:58 FROGGS I'm only scared of S11 :o)
21:02 FROGGS pmurias++ # report (and awesome work)
21:03 ingy joined #perl6
21:04 timotimo ah yes, i've been looking forward to the report :)
21:06 timotimo pmurias++ :)
21:07 pernatiy joined #perl6
21:16 masak slava: TimToady was so scared of modules he needed to lock them all up in CPAN... :P
21:17 masak kind of like an Azkaban for modules.
21:18 FROGGS so Andreas König is a dementor?
21:19 frettled Things make sense now.
21:20 frettled … several things in CPAN are rather demented ;)
21:20 abnorman joined #perl6
21:20 * masak .oO( be a dementor in this Google Summer of Decode! )
21:20 frettled masak: ooh! :)
21:21 frettled I've read that weird thread about «commensurability» or wossname on P6L, which started off with a wee bit of TL;DR syndrome.  Where did that come from?
21:22 masak where did what come from?
21:22 frettled «Commensurability as Key» by a James Bowery on the perl6-language mailing list.
21:22 geekosaur we're attracting crackpot theorists; in some sense, we must have arrived :)
21:23 diakopter well..
21:23 masak geekosaur: no, it's always been like that.
21:23 timotimo er, crackpot is a bit harsh, isn't it?
21:23 TimToady and it's not crackpot, really, it's just rather oddly written
21:23 masak frettled: I need to read his references to find out what point he's trying to make. but I also think there is a point in there.
21:23 geekosaur well, I admit the crackpot vibe is more from the presentation than the content
21:23 TimToady we've considered units several times in the past
21:23 masak and it deserves a more measured answer that it's gotten so far.
21:23 frettled Yes, it was the tee-ell-semicolon-dee-arrrrrrness of it I reacted to :)
21:24 masak I did units in http://strangelyconsistent.org/blog/6-builti​ns-in-perl-6-that-you-never-knew-you-needed
21:26 labster method attack-with-camelia  { say "flap flap RAWWR!" } # lol
21:26 frettled :)
21:26 timotimo .map({; .key => .value.elems })\ - is this kind of a wart? having to put a ; there to make sure it gets parsed as a block?
21:26 frettled I don't think units are central to his point, really.
21:27 masak timotimo: used to be.
21:27 timotimo oh, it's fixed by now?
21:27 masak frettled: no, they seem to be a demo of his central point.
21:27 frettled masak: mm
21:27 timotimo r: (:a(1), :b(2), :c(3)).map({ .key => .value.sin }).say
21:27 camelia rakudo 932bfc: OUTPUT«No such method 'key' for invocant of type 'Nil'␤  in block  at /tmp/bOoU37WeVm:1␤␤»
21:27 timotimo r: {:a(1), :b(2), :c(3)}.map({ .key => .value.sin }).say
21:27 camelia rakudo 932bfc: OUTPUT«No such method 'key' for invocant of type 'Nil'␤  in block  at /tmp/xMlyJ6sVYu:1␤␤»
21:28 timotimo r: (:a(1), :b(2), :c(3)).map({; .key => .value.sin }).say
21:28 frettled And to my simple mind it seems as if P6 has at least part way answered this with user-definabla types and roles, but, uhm?
21:28 camelia rakudo 932bfc: OUTPUT«"a" => 0.841470984807897e0 "b" => 0.909297426825682e0 "c" => 0.141120008059867e0␤»
21:28 masak r: say (foo => [1, 2, 3]).map({ .key => .value.elems })
21:28 camelia rakudo 932bfc: OUTPUT«No such method 'key' for invocant of type 'Nil'␤  in block  at /tmp/mf9flPKksy:1␤␤»
21:28 timotimo it's trying to call .key on a $_ that would have had to have been created outside the map
21:28 masak r: say (foo => [1, 2, 3]).map({; .key => .value.elems })
21:28 camelia rakudo 932bfc: OUTPUT«"foo" => 3␤»
21:28 masak so, hm, not fixed yet. :/
21:28 timotimo ah, "used to be" doesn't necessarily mean "not any more, though"?
21:29 FROGGS r: say (foo => [1, 2, 3]).map( -> $_ { .key => .value.elems })
21:29 camelia rakudo 932bfc: OUTPUT«"foo" => 3␤»
21:29 masak FROGGS: that's cheating :)
21:29 FROGGS masak: peow peow peow
21:30 masak ;)
21:30 TimToady rakudo is known to violate S04:1641
21:30 frettled Is there such a thing as cheating?  :)
21:30 synopsebot Link: http://perlcabal.org/syn/S04.html#line_1641
21:30 diakopter heh synopse
21:31 logie joined #perl6
21:31 TimToady that's an interesting backformation
21:31 TimToady like a parenthese
21:32 masak that's one hypothese
21:32 * moritz kinda thought rakudo implemented that
21:32 moritz must have been a dream
21:32 timotimo ah, the implicit method calls on $_ make that interpret as a hash
21:33 TimToady which is precisely what 1641 is discussing
21:33 diakopter what a crise
21:33 * FROGGS .oO( that is discussing! )
21:34 frettled Good thing I only have one ire per eye.
21:34 diakopter actually that's..
21:34 diakopter irise
21:34 masak frettled: I'll show you ire.
21:34 TimToady you are the antithese of helpful
21:35 masak man, all these these...
21:35 diakopter your eye might need a prothese
21:35 frettled topics of discuse?
21:35 * masak .oO( would you all discuse me for a bit )
21:35 timotimo r: my $_ = :a(10); say ( .key => .value.sin ).hash  #  is this how i'd create a hash if i wanted to circumvent the "implicit methods on $_ make a closure"?
21:35 camelia rakudo 932bfc: OUTPUT«Potential difficulties:â�¤    Redeclaration of symbol $_â�¤    at /tmp/FA0VVfAG_E:1â�¤    ------> [32mmy $_ [33mâ��[31m= :a(10); say ( .key => .value.sin ).has[0mâ�¤("a" => -0.54402111088937e0).hashâ�¤Â»
21:35 BenGoldberg joined #perl6
21:36 timotimo also, i wrote "make that interpret as a hash" is of course wrong; i meant to write "as a closure"
21:36 * masak .oO( I am frankly outgrabed at how all y'all discuse and defrile the English languib! )
21:36 diakopter you're a slithy tove
21:36 TimToady oh, trut your shap!
21:37 labster This is starting to turn into routines of John Cleesis
21:37 masak TimToady: I wilt not stab for that kind of rudder!
21:37 logie joined #perl6
21:37 * masak leebs, fraught
21:38 TimToady Bru et, Tutus?
21:38 tadzik you're making synopsebot abashed
21:38 TimToady these is not very productive...
21:38 * masak .oO( hobbitse )
21:38 grondilu r: my $_ = :a(10); say { .key => .value.sin }.WHAT
21:38 camelia rakudo 932bfc: OUTPUT«Potential difficulties:â�¤    Redeclaration of symbol $_â�¤    at /tmp/LAvIyESntA:1â�¤    ------> [32mmy $_ [33mâ��[31m= :a(10); say { .key => .value.sin }.WHA[0mâ�¤(Hash)â�¤Â»
21:38 grondilu r: $_ = :a(10); say { .key => .value.sin }.WHAT
21:38 camelia rakudo 932bfc: OUTPUT«(Hash)␤»
21:38 labster hugme: hug synopsebot
21:38 * hugme hugs synopsebot
21:39 TimToady .oO( goatsis )
21:39 diakopter huge: hug synopsisbot
21:39 grondilu r: $_ = :a(10); say {; .key => .value.sin }.WHAT
21:39 camelia rakudo 932bfc: OUTPUT«(Block)␤»
21:39 diakopter hugme: hug synopsisbot
21:39 * hugme hugs synopsisbot
21:39 tadzik synapsebot
21:39 * masak fires synapsebot
21:40 FROGGS hehe
21:40 frettled This was very productive, it improved my mood, and therefore my productivity.
21:40 * diakopter crosses masak
21:40 frettled masak: very nice, very nice :)
21:40 masak apparently I'm *not* too tired for very silly jokes.
21:40 * masak brows, exulted
21:40 diakopter wait. we were joking?
21:40 masak diakopter: sometimes we begin without you :P
21:41 dalek rakudo/nom: bda4465 | (Elizabeth Mattijsen)++ | src/core/Exception.pm:
21:41 dalek rakudo/nom: Added Syntax::Perl5Var exception, to be used later at your convenience
21:41 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bda446566a
21:41 TimToady masak: one does not get too tired for silly jokes, one becomes too tired *of* silly jokes, silly!
21:41 grondilu r: say { .key => .value.sin }.WHAT
21:41 camelia rakudo 932bfc: OUTPUT«No such method 'key' for invocant of type 'Nil'␤  in block  at /tmp/6x91L4qPoi:1␤␤»
21:41 frettled masak: you were not talking in diakopese.
21:42 masak TimToady: it's usually one or the other, thought.
21:42 grondilu rn: say { .key => .value.sin }.WHAT
21:42 masak though*
21:42 camelia rakudo 932bfc: OUTPUT«No such method 'key' for invocant of type 'Nil'␤  in block  at /tmp/cCEBDyMn_5:1␤␤»
21:42 camelia ..niecza v24-88-g1f87209: OUTPUT«Unhandled exception: Unable to resolve method key in type Any␤  at /tmp/K8GFZLFTP4 line 1 (mainline @ 6) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4579 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4580 (module-CORE @ 576) ␤  at /home/p6…
21:42 diakopter lizmat-- # making us all look like slackeresises
21:42 grondilu rn: say {; .key => .value.sin }.WHAT
21:42 camelia rakudo 932bfc, niecza v24-88-g1f87209: OUTPUT«(Block)␤»
21:42 lizmat :-)
21:42 masak lizmat++ # for annoying diakopter with her commit rate
21:43 masak frettled: "diakopese" sounds like something one would eat when one gets tired of Chinese and Vietnamese.
21:50 frettled masak: yes, definitively.  I hope diakopter can cook.
21:53 * masak .oO( Diakoptric Orthodox Church of Alexandria )
21:54 araujo joined #perl6
22:02 cooper_ joined #perl6
22:07 REPLeffect joined #perl6
22:14 masak 'night, #perl6
22:14 FROGGS night masak
22:16 FROGGS # A fatal error has been detected by the Java Runtime Environment:
22:16 FROGGS #
22:16 FROGGS #  SIGSEGV (0xb) at pc=0x0000000000000000, pid=7409, tid=46913064728320
22:16 FROGGS ohh, must have done something wrong /o\
22:21 lizmat guess I'm still missing something essential about grammars
22:22 lizmat -            | <!{ $*QSIGIL }> <.typed_panic: 'X::Syntax::SigilWithoutName'>
22:22 lizmat +            | <!{ $*QSIGIL }> {
22:22 lizmat +                $/.CURSOR.typed_panic(
22:22 lizmat +                  'X::Syntax::Perl5Var', name => ~$<variable> )
22:22 lizmat but that just gives an empty string :-(
22:22 lizmat $ perl6 -e 'say $*'
22:22 lizmat ===SORRY!=== Error while compiling -e
22:22 lizmat Unsupported use of  variable
22:22 lizmat this is inside token variable, maybe that's the problem ?
22:23 moritz inside token variable, $<variable> probably doesn't make sense
22:23 pecastro joined #perl6
22:23 moritz use $/ instead?
22:23 lizmat hmmm…
22:23 lizmat trying
22:24 FROGGS lizmat: that is token variable?
22:24 lizmat yes
22:24 FROGGS does it actually match <variable> somewhere?
22:24 lizmat r: say $*
22:24 camelia rakudo bda446: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/PF3ket5YStâ�¤Non-declarative sigil is missing its nameâ�¤at /tmp/PF3ket5YSt:1â�¤------> [32msay [33mâ��[31m$*[0mâ�¤    expecting any of:â�¤        argument listâ�¤        prefix or termâ�¤        prefix or meta-prefixâ�¤Â»â€¦
22:25 lizmat I wanted to improve that, so it was matching on $*, if that answers your qiuestion
22:25 lizmat the above exception is X::Syntax::SigilWithoutName
22:26 FROGGS no, you want to pass ~$<variable>, but you never match a <variable> somewhere
22:26 lizmat it *is* inside the token, yes
22:26 lizmat so how do I get what matched so far ?
22:26 moritz $/
22:27 lizmat ok, build almost complete
22:27 moritz or rather ~$/
22:27 lizmat yes, got that  :-)
22:28 FROGGS that wont work
22:28 lizmat $ perl6 -e 'say $*'
22:28 lizmat ===SORRY!=== Error while compiling -e
22:28 lizmat Unsupported use of $ variable
22:28 lizmat getting closer
22:28 FROGGS at the point you throw the exception you matched the sigil, and you failed to match a variable name
22:29 FROGGS you might can try to use $/.orig and $/.from
22:30 FROGGS and $/.pos
22:30 lizmat ok, will try
22:31 moritz or maybe simply match whatever you want to be reported
22:31 lizmat ?
22:31 moritz right now the error is thrown after a negative look-ahead, which means it hasn't consumed the character
22:32 lizmat right, so I want the non-consumed character(s)
22:32 moritz so maybe just writing   <!{ $*QSIGIL }> . { block that dies } # if it's always just one more character
22:32 * moritz tries to sleep again
22:32 lizmat gnight moritz!
22:37 dalek nqp: 7a00808 | (Tobias Leich)++ | src/HLL/sprintf.nqp:
22:37 dalek nqp: ugly hack to render floats right, but it works
22:37 dalek nqp: review: https://github.com/perl6/nqp/commit/7a008086db
22:41 FROGGS .tell colomon  Only one nqp::sprintf / Hash.fmt issue left: https://github.com/perl6/roast/blob/mas​ter/integration/advent2009-day02.t#L23
22:45 skids joined #perl6
22:49 census joined #perl6
22:54 lizmat grr, I just realize that all of the Perl5Var exception stuff is already in the grammar
22:54 lizmat but it apparently never matches
22:57 lizmat because the exception for missing name is thrown first
23:08 logie joined #perl6
23:09 lizmat $ perl6 -e '$" =1'
23:09 lizmat ===SORRY!=== Error while compiling -e
23:09 lizmat Unsupported use of $" variable; in Perl 6 please use .join() method
23:09 lizmat r: $"=1
23:09 camelia rakudo bda446: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/EdhCU8eDCGâ�¤Non-declarative sigil is missing its nameâ�¤at /tmp/EdhCU8eDCG:1â�¤------> [32m<BOL>[33mâ��[31m$"=1[0mâ�¤    expecting any of:â�¤        statement listâ�¤        prefix or termâ�¤        prefix or meta-pref…
23:11 lizmat if I can get this to work reliably, it would mean I could rip out the "special_variable" token out of the grammar, about 200 lines out of 4000+, about 5% ?
23:12 lizmat TimToady, jnthn: would it make sense to reduce the grammar in that way, moving the burden of reporting/lookup to the Exception class ?
23:12 lizmat will check backlog tomorrow, sleep now&
23:16 abnorman joined #perl6
23:19 logie joined #perl6
23:26 xilo joined #perl6
23:28 jnthn 'night, #perl6
23:52 abnorman joined #perl6
23:55 raiph joined #perl6

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

Perl 6 | Reference Documentation | Rakudo