Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-11-18

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:04 ugexe m: say "';'" ~~ / \; /;
00:04 camelia rakudo-moar 48edaa: OUTPUT«「;」␤␤»
00:05 ugexe ';' that isn't surrounded by ' or "
00:06 ugexe m: say 'ok1' if ' ; ' ~~ /<-['"]> ';' <-['"]>/; say 'ok2' if ' ";" ' ~~ /<-['"]> ';' <-['"]>/; say 'ok3' if " ';' " ~~ /<-['"]> ';' <-['"]>/;
00:06 camelia rakudo-moar 48edaa: OUTPUT«ok1␤»
00:09 jack_rabbit joined #perl6
00:10 Mouq m: say "';'" ~~ /(\') \; <~~0>/ # :P
00:10 camelia rakudo-moar 48edaa: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tkmD6VJ5DG�Sorry, ~~ regex assertion with a capture is not yet implemented�at /tmp/tkmD6VJ5DG:1�------> [32msay "';'" ~~ /(\') \; <~~0[33m�[31m>/ # :P[0m�»
00:11 PZt joined #perl6
00:33 adu joined #perl6
00:37 BenGoldberg joined #perl6
00:37 flussence joined #perl6
00:42 Mouq m: say "';'" ~~ /(\') \; <{$0}>/
00:42 camelia rakudo-moar 48edaa: OUTPUT«This type cannot unbox to a native string␤  in sub MAKE_REGEX at src/gen/m-CORE.setting:14162␤  in block  at src/gen/m-CORE.setting:14088␤  in method INTERPOLATE at src/gen/m-CORE.setting:14078␤  in method ACCEPTS at src/gen/m-CORE.setting:14210␤…»
00:42 Mouq m: say "';'" ~~ /(\') \; <{~$0}>/
00:42 camelia rakudo-moar 48edaa: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling EVAL_0â�¤Unable to parse expression in single quotes; couldn't find final "'" â�¤at EVAL_0:1â�¤------> [32manon regex { ^'}[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        scoped declaratorâ�¤  â€¦Â»
00:42 Mouq Uh
00:42 Mouq fail
00:43 Mouq ohh
00:43 Mouq m: say "';'" ~~ /(\') \; <{"\\$0"}>/
00:43 camelia rakudo-moar 48edaa: OUTPUT«「';'」␤ 0 => 「'」␤␤»
00:44 Mouq m: say all(q[';'], q[";"], none q[";'], q[';"]) ~~ /(<['"]>) \; <{"\\$0"}>/
00:44 camelia rakudo-moar 48edaa: OUTPUT«===SORRY!===␤Start of substr out of range. Is: 5, should be in 0..3␤»
00:45 Mouq m: say (q[';'], q[";"], q[";'], q[';"]) >>~~>> /(<['"]>) \; <{"\\$0"}>/
00:45 camelia rakudo-moar 48edaa: OUTPUT«True True False False␤»
01:03 anaeem1 joined #perl6
01:04 dalek specs: 9f20af7 | raiph++ | S17-concurrency.pod:
01:04 dalek specs: Fix typos and whitespace
01:04 dalek specs: review: https://github.com/perl6/specs/commit/9f20af7d75
01:14 jdv79 is there a way to pretty print like Data::Dumper or JSON::Tiny in p5 land?
01:14 jdv79 I can't read a page of text for structure
01:16 yeahnoob joined #perl6
01:17 Mouq perhaps https://github.com/FROGGS/p6-JSON-Pretty/ ?
01:17 jdv79 JSON can't represent all types though, right?
01:17 jdv79 I thought Data::Pretty would but it seems to not
01:19 majuscule left #perl6
01:40 [Tux] joined #perl6
01:42 raiph Are the X and Z metaops theoretically parallelizable? Was my comment on HN accurate? https://news.ycombinator.com/item?id=8581868
01:44 zakharyas joined #perl6
01:46 Mouq raiph: I believe X and Z are allowed to be lazy, so idk. »*» 2 would be a safer bet, which I believe is explicitly parellizable, though that's NYI
01:51 raiph m: say hyper 1..5 X* 2
01:51 camelia rakudo-moar 48edaa: OUTPUT«Cannot call 'hyper'; none of these signatures match:␤:(Any \op, Any \a, Any \b, Any :dwim-left($dwim-left), Any :dwim-right($dwim-right))␤:(Any \op, Any \obj)␤:(Any \op, Associative \a, Associative \b, Any :dwim-left($dwim-left), Any :dwim-right($dwi…»
02:03 dj_goku cognominal: looks like it is back up now. testers.perl6.org
02:07 ugexe nqp: my @a:= nqp::list; my @b := nqp::list; nqp::splice(@a, @b, 0, 0); say(@a);
02:07 camelia nqp-jvm: OUTPUT«(signal ABRT)»
02:07 camelia ..nqp-parrot: OUTPUT«0␤»
02:07 camelia ..nqp-moarvm: OUTPUT«cannot stringify this␤   at gen/moar/stage2/NQPCORE.setting:682  (/home/camelia/rakudo-inst-1/languages/n​qp/lib/NQPCORE.setting.moarvm:print:13)␤ from gen/moar/stage2/NQPCORE.setting:688  (/home/camelia/rakudo-inst-1/language​s/nqp/lib/NQPCORE.setting.moarvm:sa…»
02:07 rmgk joined #perl6
02:07 ugexe not sure if the difference between parrot and moar is expected
02:08 colomon raiph: Mouq is write, X & Z return lazy lists, so they're not great candidates for parallelization.
02:08 colomon *right
02:08 * colomon sighs.  too much bookkeeping crap today.  brain done but work isn't.
02:10 Mouq hugme: hug colomon
02:10 * hugme hugs colomon
02:19 firefish5000 joined #perl6
02:23 perltricks joined #perl6
02:24 chenryn joined #perl6
02:25 cognominal hugme: hug all of us
02:25 * hugme hugs all
02:26 cognominal dj_goku, it is off and on
02:26 * adu hugs cognominal
02:27 * cognominal hugs back
02:35 dj_goku cognominal: yeah I noticed the same.
02:38 yeahnoob joined #perl6
02:46 jack_rabbit joined #perl6
02:52 TimToady m: say "';'" ~~ /(\') \; $0
02:52 camelia rakudo-moar 48edaa: OUTPUT«[31m===[0mSORRY![31m===[0m�Regex not terminated.�at /tmp/hBx_1lAeYU:1�------> [32msay "';'" ~~ /(\') \; $0[33m�[31m<EOL>[0m�Unable to parse regex; couldn't find final '/'�at /tmp/hBx_1lAeYU:1�------> [32msay "';'" ~~ /(\') \; $0[33m…»
02:52 TimToady m: say "';'" ~~ /(\') \; $0/
02:52 camelia rakudo-moar 48edaa: OUTPUT«「';'」␤ 0 => 「'」␤␤»
02:53 TimToady Mouq: ^^ yer makin' it too hard
02:57 ClarusCogitatio joined #perl6
03:04 raiph TimToady: Aiui one is supposed to be able to shift gears between lazy and eager using keywords eager, lazy, etc.; and the GLR is partly about making that implementable; and so at some point hyper @a X* @b should be eager and, if the compiler so chooses, parallelizable. Am I right about the long term intent?
03:16 vendethiel joined #perl6
03:16 TimToady yes, but X does default to lazy, which is anti eager/hyper/race
03:18 ClarusCogitatio joined #perl6
03:20 ClarusCogitatio joined #perl6
03:23 jack_rabbit joined #perl6
03:27 raiph TimToady: Thanks. (To recap my current understanding: `@a Xop @b` is by default lazy but `hyper @a Xop @b` might one day parallelize.)
03:27 yeahnoob joined #perl6
03:30 perltricks m: pi.fmt("%.10f")
03:30 camelia rakudo-moar 48edaa: ( no output )
03:30 perltricks m: say pi.fmt("%.10f")
03:30 camelia rakudo-moar 48edaa: OUTPUT«3.1415926536␤»
03:32 ClarusCogitatio joined #perl6
03:39 ClarusCogitatio joined #perl6
03:45 BenGoldberg m: say Promise.new.result;
03:46 camelia rakudo-moar 48edaa: OUTPUT«(timeout)»
03:46 BenGoldberg Will perl have any sort of deadlock detection?
03:46 BenGoldberg Err, perl6 ;)
03:48 perltricks is there a short way to UC the first word of each line in a file? This:
03:48 perltricks perl6 -ne 'say s/(\w+)/{$0.uc}/' example.txt
03:48 perltricks clobbers the first word
03:49 dj_goku joined #perl6
03:51 Mouq perltricks: try s/(\w+){}/...
03:52 vendethiel- joined #perl6
03:52 perltricks Mouq: hah! that works, thanks. But why?
03:52 ClarusCogitatio joined #perl6
03:53 Mouq or just `say .tc`
03:53 Mouq perltricks: There's an issue with $/ being created in s/// and .subst calls. It's been an outstanding bug for a while
03:54 perltricks Mouq: ok, thanks
03:55 Mouq perltricks: Did .tc work?
03:55 * Mouq backtracks. TimToady++ :)
03:56 perltricks Mouq: no I think it titlecased the first word?
03:59 colomon m: lines.map({.tc}).say
03:59 camelia rakudo-moar 48edaa: OUTPUT«Céad slán ag sléibhte maorga Chontae Dhún na nGall Agus dhá chéad slán ag an Eireagal ard ina stua os cionn caor is coll; Nuair a ghluais mise thart le Loch Dhún Lúich’ go ciúin sa ghleann ina luí I mo dhiaidh bhí gleanntáin ghlas’ Ghaoth …»
04:00 colomon m: "no I think it titlecased the first word?".tc.say
04:00 camelia rakudo-moar 48edaa: OUTPUT«No I think it titlecased the first word?␤»
04:00 Mouq m: "no I think it titlecased the first word?".wordcase.say
04:00 camelia rakudo-moar 48edaa: OUTPUT«No I Think It Titlecased The First Word?␤»
04:02 perltricks Mouq: nice!
04:03 ClarusCogitatio joined #perl6
04:04 rmgk_ joined #perl6
04:14 perltricks Almost finished! https://github.com/sillymoose/Perl6-One-Liners
04:14 perltricks just a few perl 6 calcs to translate
04:14 perltricks (from P5)
04:15 ClarusCogitatio joined #perl6
04:15 anaeem1_ joined #perl6
04:16 anaeem1_ joined #perl6
04:18 telex joined #perl6
04:18 Mouq perltricks++
04:19 dayangkun joined #perl6
04:20 Mouq perltricks: "Print lines that contain all vowels" another version: perl6 -ne'.say if .comb (>=) <a e i o u>' or perl6 -ne'.say if .comb ⊇ <a e i o u>'
04:29 ClarusCogitatio joined #perl6
04:29 perltricks mouq: thx, much better!
04:29 perltricks Mouq: thx, much better!
04:32 kaleem joined #perl6
04:39 raiph m: say "a" ~~ /<vowel>/
04:39 camelia rakudo-moar 48edaa: OUTPUT«No such method 'vowel' for invocant of type 'Cursor'␤  in method ACCEPTS at src/gen/m-CORE.setting:14210␤  in block <unit> at /tmp/NWcrIDxi99:1␤␤»
04:40 raiph m: say "a" ~~ /<ident>/
04:40 camelia rakudo-moar 48edaa: OUTPUT«「a」␤ ident => 「a」␤␤»
04:48 ClarusCogitatio joined #perl6
04:53 kaare_ joined #perl6
04:56 ClarusCogitatio joined #perl6
05:01 raydiak Mouq++: thanks for trying out Math::Symbolic and reporting that bug
05:01 yoleaux 17 Nov 2014 20:56Z <Mouq> raydiak: https://github.com/raydiak/Math-Symbolic/issues/1
05:01 yoleaux 17 Nov 2014 20:58Z <Mouq> raydiak: (Found because of https://gist.github.com/Mouq/f36a4ccf9547947eec8e btw :)
05:03 ClarusCogitatio joined #perl6
05:04 raydiak oh neat, and you're trying to use it...big changes coming :)
05:07 Mouq raydiak++ :)
05:08 raydiak been working on the poly branch, can reorganize an expression into a polynomial in terms of a certain var
05:08 raydiak then will solve it e.g. via quadratic equation, is the idea
05:10 ClarusCogitatio joined #perl6
05:11 raydiak also plan to add a .compile() that will return a perl routine for the expression by building it as a string and EVALing it
05:12 zakharyas joined #perl6
05:13 Mouq raydiak: Nice, will you just have it die on polynomials of powers greater than 4?
05:13 raydiak wanted to make it so Pray can render 3D equations, and so I can describe primitives mathematically and precompile the results into automatically-generated primitve classes
05:14 raydiak I don't know much about solving them in higher orders, but yes there's a lot of 'die "{...} is NYI"' going on in there :)
05:14 raydiak so more of that, I'm sure
05:16 Mouq .oO( "Disproof of Abel–Ruffini NYI" )
05:17 ClarusCogitatio joined #perl6
05:18 raydiak hah...I wanted to eventually make it smart enough to search for it's own solutions by pathfinding through a network of manipulation edges and representation nodes using some kind of progress-towards-goal metric
05:18 raydiak so maybe eventually it'll start trying to make up its own solutions if it doesn't findan obvious one :)
05:19 raydiak there is a "Knuth up-arrow NYI" in there somewhere, but I don't think you can trigger it normally
05:22 tony-o Mouq: i'm trying to use that in a grammar, match a ';' not encapsulated by '|"
05:24 tony-o rather, match everything before a ';' not in a ' or "
05:24 tinyblak joined #perl6
05:29 Mouq raydiak: :) Hmm... Well I'm sure there's research on these things out in the world...
05:29 Mouq m: say "abcd;efg" ~~ / .* <?[;]> / # ?
05:29 camelia rakudo-moar 48edaa: OUTPUT«「abcd」␤␤»
05:29 Mouq m: say "abcd;efg" ~~ / .* )> \; / # ?
05:29 camelia rakudo-moar 48edaa: OUTPUT«「abcd」␤␤»
05:31 tony-o m: say 'abcd";"efg;' ~~ / .* )> \; /
05:31 camelia rakudo-moar 48edaa: OUTPUT«「abcd";"efg」␤␤»
05:31 tony-o m: say 'abcd";"efg;' ~~ / .*? )> \; /
05:31 camelia rakudo-moar 48edaa: OUTPUT«「abcd"」␤␤»
05:32 tony-o m: say 'abcd";"efg;123' ~~ / .* )> \; /
05:32 camelia rakudo-moar 48edaa: OUTPUT«「abcd";"efg」␤␤»
05:33 tony-o Mouq: you're halfway to a 6 pack i think
05:34 stux|RC-only joined #perl6
05:34 TimToady m: say 'abcd";"efg;123' ~~ / [ '.*?' | ".*?" | .]*? )> \; /
05:34 camelia rakudo-moar 48edaa: OUTPUT«「abcd"」␤␤»
05:34 TimToady hmm
05:35 * Mouq doesn't actually understand the problem :P
05:36 TimToady m: say 'abcd";"efg;123' ~~ / [ '.*?' || ".*?" || .]*? )> \; /
05:36 camelia rakudo-moar 48edaa: OUTPUT«「abcd"」␤␤»
05:36 TimToady m: say 'abcd";"efg;123' ~~ / [ '.*?' || ".*?" || <-['"]>]*? )> \; /
05:36 camelia rakudo-moar 48edaa: OUTPUT«「」␤␤»
05:36 tony-o https://github.com/tony-o/perl6-sla​ng-sql/blob/master/t/01_basic.t#L29
05:36 Mouq m: say 'abcd";"efg;123' ~~ / [ \'.*?\' || \".*?\" || .]*? )> \; /
05:36 camelia rakudo-moar 48edaa: OUTPUT«「abcd";"efg」␤␤»
05:37 TimToady m: say 'abcd";"efg;123' ~~ / [ '<-[']>*?' || "<-["]>*?" || <-['"]>]*? )> \; /
05:37 camelia rakudo-moar 48edaa: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/mXnzv7neBHâ�¤Unable to parse regex; couldn't find final '/'â�¤at /tmp/mXnzv7neBH:1â�¤------> [32msay 'abcd";"efg;123' ~~ / [ '<-['][33mâ��[31m>*?' || "<-["]>*?" || <-['"]>]*? )> \; /[0mâ�¤    ex…»
05:38 TimToady m: say 'abcd";"efg;123' ~~ / [ \'<-[']>*?'\ || \"<-["]>*?\" || <-['"]>]*? )> \; /
05:38 camelia rakudo-moar 48edaa: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/5eXsc2iWCLâ�¤Unable to parse expression in double quotes; couldn't find final '"' â�¤at /tmp/5eXsc2iWCL:1â�¤------> [32m'\ || \"<-["]>*?\" || <-['"]>]*? )> \; /[33mâ��[31m<EOL>[0mâ�¤    expectin…»
05:38 TimToady m: say 'abcd";"efg;123' ~~ / [ \'.*?\' || \".*?\" || .]*? )> \; /
05:38 camelia rakudo-moar 48edaa: OUTPUT«「abcd";"efg」␤␤»
05:38 TimToady there we go
05:39 TimToady m: say 'abcd";"efg;123' ~~ / [ \'.*?\' | \".*?\" | .]*? )> \; /
05:39 camelia rakudo-moar 48edaa: OUTPUT«「abcd";"efg」␤␤»
05:39 tony-o that's the stuff sql slang is made of (now)
05:59 chenryn joined #perl6
06:04 kaare_ joined #perl6
06:10 chenryn joined #perl6
06:18 raydiak Mouq: true the whole network thing is a bit out there (and possibly pointless), definitely not an immediate plan...guess it just sounded cool to have the software potentially come up with solutions I didn't already spoon-feed it
06:25 raydiak good night #perl6 \o
06:28 dayangkun joined #perl6
06:37 jimmy_ joined #perl6
06:41 vike joined #perl6
06:43 dalek rakudo/nom: 5dc4b46 | TimToady++ | src/core/Exception.pm:
06:43 dalek rakudo/nom: pluralize parentheses when you mean a pair of them
06:43 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5dc4b469db
06:49 travis-ci joined #perl6
06:49 travis-ci Rakudo build failed. TimToady 'pluralize parentheses when you mean a pair of them'
06:49 travis-ci http://travis-ci.org/rakudo/rakudo/builds/41331531 https://github.com/rakudo/rakudo/c​ompare/48edaa3a7c1c...5dc4b469db21
06:49 travis-ci left #perl6
06:49 kaleem joined #perl6
06:52 xinming joined #perl6
06:53 dalek roast: e8f7579 | TimToady++ | S03-operators/precedence.t:
06:53 dalek roast: list assoc now checks for same operator in rakudo
06:53 dalek roast: review: https://github.com/perl6/roast/commit/e8f7579421
06:53 dalek roast: 4bcb05a | TimToady++ | S03-operators/minmax.t:
06:53 dalek roast: rakudo now checks list assoc op mismatch
06:53 dalek roast: review: https://github.com/perl6/roast/commit/4bcb05a4ad
06:53 dalek nqp: 54ee667 | TimToady++ | src/HLL/Grammar.nqp:
06:53 dalek nqp: list assocativity requires same operator name
06:53 dalek nqp:
06:53 dalek nqp: (except for the invocant colon, which is a comma in disguise)
06:53 dalek nqp: review: https://github.com/perl6/nqp/commit/54ee66700d
06:54 dalek rakudo/nom: f2ffb9a | TimToady++ | tools/build/NQP_REVISION:
06:54 dalek rakudo/nom: bump nqp
06:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f2ffb9a384
06:58 travis-ci joined #perl6
06:58 travis-ci NQP build failed. TimToady 'list assocativity requires same operator name
06:58 travis-ci http://travis-ci.org/perl6/nqp/builds/41332065 https://github.com/perl6/nqp/com​pare/4c2e52af9706...54ee66700d5b
06:58 travis-ci left #perl6
07:01 travis-ci joined #perl6
07:01 travis-ci Rakudo build failed. TimToady 'bump nqp'
07:01 travis-ci http://travis-ci.org/rakudo/rakudo/builds/41332096 https://github.com/rakudo/rakudo/c​ompare/5dc4b469db21...f2ffb9a384b0
07:01 travis-ci left #perl6
07:08 jack_rabbit joined #perl6
07:11 darutoko joined #perl6
07:50 FROGGS joined #perl6
07:50 TimToady m: say 1 X 2 Z 3
07:50 camelia rakudo-moar f2ffb9: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/mWbU6KB83hâ�¤Operators 'X' and 'Z' are non-associative and require parenthesesâ�¤at /tmp/mWbU6KB83h:1â�¤------> [32msay 1 X 2 Z[33mâ��[31m 3[0mâ�¤    expecting any of:â�¤        postfixâ�¤      â€¦Â»
07:51 TimToady m: say 1 | 2 ^ 3
07:51 camelia rakudo-moar f2ffb9: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/_eVu3e0P_Fâ�¤Operators '|' and '^' are non-associative and require parenthesesâ�¤at /tmp/_eVu3e0P_F:1â�¤------> [32msay 1 | 2 [33mâ��[31m^ 3[0mâ�¤    expecting any of:â�¤        postfixâ�¤      â€¦Â»
07:51 FROGGS morning
07:51 FROGGS ohh, who did that?
07:51 TimToady \o
07:51 * FROGGS backlogs
07:52 FROGGS m: say 1 // 2 || 3
07:52 camelia rakudo-moar f2ffb9: OUTPUT«1␤»
07:52 FROGGS ahh, it was missing here
07:53 TimToady hmm
07:53 TimToady m: say 1 min 2 max 3
07:53 camelia rakudo-moar f2ffb9: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/GNuq2FJ9Jdâ�¤Operators 'min' and 'max' are non-associative and require parenthesesâ�¤at /tmp/GNuq2FJ9Jd:1â�¤------> [32msay 1 min 2 [33mâ��[31mmax 3[0mâ�¤    expecting any of:â�¤        postfix…»
07:54 TimToady dunno why // vs || doesn't work yet
07:54 TimToady m: say 1 ^^ 2 || 3
07:54 camelia rakudo-moar f2ffb9: OUTPUT«3␤»
07:55 FROGGS token infix:sym<//>   { <sym>  <O('%tight_or, :assoc<left>, :pasttype<defor>')> }
07:55 TimToady but those are the same prec level as min/max
07:55 FROGGS is assoc<left> correct here?
07:55 TimToady not according to S03's prec table
07:55 FROGGS min/max just is:
07:55 FROGGS token infix:sym<min>  { <sym> >> <O('%tight_or')> }
07:55 FROGGS token infix:sym<max>  { <sym> >> <O('%tight_or')> }
07:56 FROGGS I am going to spectest the removal of the :assoc
07:58 FROGGS what is the reason that they should be non-assoc?
07:59 TimToady all list associative operators are non-associative if they differ
08:00 TimToady maybe these could be argued the other way
08:01 TimToady m: say 1 min 2 // 3
08:01 camelia rakudo-moar f2ffb9: OUTPUT«1␤»
08:01 TimToady m: say 1 // 2 min 3
08:01 camelia rakudo-moar f2ffb9: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/8TC6ZF6Mgsâ�¤Operators '//' and 'min' are non-associative and require parenthesesâ�¤at /tmp/8TC6ZF6Mgs:1â�¤------> [32msay 1 // 2 [33mâ��[31mmin 3[0mâ�¤    expecting any of:â�¤        postfixâ�¤â€¦Â»
08:01 TimToady there's an asymmetry
08:01 FROGGS well, *I* read it from left to right...
08:01 FROGGS :o)
08:03 JimmyZ m: say 1 ^^ 2 ^^ 3
08:03 camelia rakudo-moar f2ffb9: OUTPUT«Nil␤»
08:04 TimToady that one must be list associative to work with 'one' semantics
08:05 TimToady well, I think about this more in the morning; right now my eyes are no long opposite their sockets
08:05 TimToady *longer
08:05 * TimToady --> zzz &
08:05 FROGGS gnight
08:07 JimmyZ m: say ( 1 ^^ 2 ) ^^ 3
08:07 camelia rakudo-moar f2ffb9: OUTPUT«3␤»
08:24 yeahnoob joined #perl6
08:27 isacloud______ joined #perl6
08:28 xinming joined #perl6
08:29 woolfy left #perl6
08:30 denis_boyun_ joined #perl6
08:33 lizmat commute to Copenhagen&
08:38 FROGGS TimToady: removing the assoc for // and || fails to build the setting with: Operation 'defor' needs 2 operands
08:38 FROGGS actually, it fails in stage mast
08:39 virtualsue joined #perl6
08:49 rindolf joined #perl6
08:50 sqirrel_ joined #perl6
08:52 molaf__ joined #perl6
08:54 rurban joined #perl6
08:55 yeahnoob joined #perl6
08:56 ptc_p6 joined #perl6
09:01 ptc_p6 joined #perl6
09:22 breinbaas joined #perl6
09:22 yeahnoob joined #perl6
09:23 fhelmberger joined #perl6
09:43 ilbot3 joined #perl6
09:43 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:,  niecza:, std:, or /msg camelia perl6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend!
09:46 dakkar joined #perl6
09:49 ecocode joined #perl6
09:50 espadrine_ joined #perl6
09:50 prevost joined #perl6
09:51 dayangkun joined #perl6
10:05 grondilu joined #perl6
10:16 daxim joined #perl6
10:21 pecastro joined #perl6
10:21 bjz joined #perl6
10:24 Ugator joined #perl6
10:32 mathw joined #perl6
10:47 grondilu "gnotify" notifies you when a player is online:  http://www.freechess.org/H​elp/HelpFiles/gnotify.html
10:48 grondilu ^should work with relayed games as well I guess
10:48 * grondilu tries +notify GMCarlsen
10:48 FROGGS is Perl 6 actually a game?
10:48 grondilu oops
10:48 FROGGS :o)
10:48 grondilu sorry guys, wrong channel
10:48 FROGGS np
10:55 avar joined #perl6
10:57 virtualsue joined #perl6
11:04 virtualsue joined #perl6
11:18 denis_boyun_ joined #perl6
11:19 Mso150 joined #perl6
11:23 rurban joined #perl6
11:28 smls joined #perl6
11:28 smls m: say "abc,123,,xyz".comb(/<-[,]>*/).perl
11:28 camelia rakudo-moar f2ffb9: OUTPUT«("abc", "", "123", "", "", "xyz", "").list␤»
11:29 smls ^^any way to make this print «("abc", "123", "", "xyz").list␤» with comb?
11:30 moritz smls: no easy way; that's what split is for
11:31 * osfameron suspects he will need to reconfigure his entire terminal chain just in order to be able to read perl6 code :-(
11:31 moritz smls: though you could cheat with look-arounds, I guess
11:31 osfameron what's the character after .list ?
11:31 moritz .u ␤
11:31 yoleaux U+2424 SYMBOL FOR NEWLINE [So] (␤)
11:31 moritz osfameron: that one
11:32 osfameron oh, is that just a glitch then?  or part of the method name (e.g. .listNL ?)
11:32 smls moritz: I thought I could maybe rewrite  http://rosettacode.org/wiki/Token​ize_a_string_with_escaping#Perl_6  in a simpler way using comb, but it would end up just as complicated...
11:36 smls m: say "abc,123,,xyz".comb(/<-[,]>* )> ","?/).perl   # this almost does the right thing...
11:36 camelia rakudo-moar f2ffb9: OUTPUT«("abc", "123", "", "xyz", "").list␤»
11:38 moritz m: say "abc,123,,xyz".comb(/<-[,]>* )> "," | <-[,]>+/).perl
11:38 camelia rakudo-moar f2ffb9: OUTPUT«("abc", "123", "", "xyz").list␤»
11:39 moritz m: say "abc,123,,xyz".comb(/<-[,]>* <?before ','> | <-[,]>+/).perl
11:39 camelia rakudo-moar f2ffb9: OUTPUT«("abc", "", "123", "", "", "xyz").list␤»
11:43 smls Could the Perl 5 version using «split» of the above rosetta code task be ported to Perl 6?
12:07 moritz smls: yes
12:07 moritz smls: iirc the $esc . (*SKIP)(*FAIL) is a workaround for look-behinds
12:08 smls no, not in this case
12:08 smls you need to parse the string step by step from left to right, to make sure you catch all escaped characters
12:10 FROGGS osfameron: say() appends \n to the said string... and here camelia will output as U+2424
12:10 smls just finding the separator and the checking if the char behind it is the escape char, isn't enough, as it may be escaped itself
12:11 osfameron FROGGS: ah yes, output.  I did just scan the class docs to see if there was a .listNL method though earlier :-)
12:11 osfameron (it seemed doubly mysterious, as it's mojibake for me)
12:12 FROGGS m: say ''
12:12 camelia rakudo-moar f2ffb9: OUTPUT«␤»
12:12 bjz joined #perl6
12:12 sqirrel_ joined #perl6
12:13 moritz osfameron: maybe http://irclog.perlgeek.de/perl6/today helps with the Mojibake problem :-)
12:14 osfameron moritz: there seems to be plenty of terrible encoding in that too :-)
12:14 osfameron but I do see the NL symbol there at least
12:15 FROGGS hmmm, it does not strip/convert color codes
12:17 moritz osfameron: yes, it always trips when the line length limit of the IRC server strips off continuation bytes
12:21 azawawi joined #perl6
12:21 azawawi hi
12:22 yoleaux 12 Nov 2014 14:29Z <lizmat> azawawi: don't think so, deprecations are basically runtime call to a special internal sub
12:22 rindolf joined #perl6
12:23 colomon ack, bootloads of new failures overnight.  :(  http://host08.perl6.com:8080/report
12:24 moritz colomon++ # smoking
12:28 azawawi colomon: panda install URI # is not working...
12:28 azawawi colomon: and hence Farabi6... :(
12:29 * FROGGS checks URI
12:29 azawawi it seems to be the grammar parsing
12:29 FROGGS hmmmm
12:30 FROGGS ok 1 - We use URI and we are still alive
12:30 FROGGS Could not parse URI: http://example.com:80/about/us?foo#bar
12:30 moritz maybe related to LTM tie-breakers?
12:32 azawawi latest rakudo
12:33 azawawi 2014.10-133-gf2ffb9a  to be exact
12:34 FROGGS it only parses the 'http', but nothing after that
12:35 azawawi colomon: where is the version of the runtime in the smoke test?
12:35 azawawi colomon: s/test/results
12:36 colomon azawawi: the version of rakudo?
12:36 azawawi colomon: yup
12:36 colomon d7c74ef
12:37 FROGGS hmmm, it thinks that 'http' is a path_noscheme of a relative URI
12:37 colomon errr… that's not a version of rakudo
12:37 colomon This is perl6 version 2014.10-131-g48edaa3 built on MoarVM version 2014.10-47-gd7c74ef
12:38 colomon so 48edaa3
12:38 FROGGS of course this helps, but I guess that's the wrong way to fix it:
12:38 FROGGS -    token URI_reference     { <URI> | <relative_ref> };
12:38 FROGGS +    token URI_reference     { <URI> || <relative_ref> };
12:39 moritz that supports my theory that it's connected to LTM
12:40 FROGGS moritz: yes, you are right about that
12:40 raiph joined #perl6
12:41 moritz though the question is, why doesn't <URL> match longer?
12:44 FROGGS TimToady: here is some fallout of the longlit change: https://gist.github.com/FR​OGGS/ebfc9d5e903475d1c2b7
13:15 zakharyas joined #perl6
13:19 itz joined #perl6
13:26 kaleem joined #perl6
13:42 raiph joined #perl6
13:45 guru joined #perl6
14:03 jfredett joined #perl6
14:08 rindolf joined #perl6
14:16 jfredett1 joined #perl6
14:18 telex joined #perl6
14:23 moritz \o
14:23 moritz I just received a mail with a pledge for the p6 server
14:24 moritz along with this gem:
14:24 moritz Thanks you so much for your amazing work. I would appreciate very much
14:24 moritz if you could forward my appreciation to all your Perl 6 developer
14:24 moritz friends and colleagues. I frequently read the IRC logs but I am too
14:24 moritz shy to drop by just to say "Hi guys, good job. You are amazing". So if
14:24 moritz you would do it for me, I would greatly appreciate it.
14:24 moritz so, everybody, feel appreciated by carlo++!
14:26 jfredett joined #perl6
14:28 tadzik \o/
14:28 tadzik carlo, you rock :)
14:34 * jnthn waves tiredly :)
14:35 * [Coke] pounces on jnthn!
14:35 * jnthn had a long journey, followed by nice food
14:35 [Coke] (just kidding, I've only had one cup of coffee so far.)
14:36 jnthn Also figured out what I might talk about at FOSDEM :)
14:36 jnthn [Coke]: Hm, I suspect we have a double-digit timezone diff, given it's very bedtime here :)
14:38 brrt joined #perl6
14:39 n0use left #perl6
14:47 woolfy joined #perl6
14:47 rurban joined #perl6
14:49 perltricks joined #perl6
14:52 lizmat joined #perl6
14:54 [Coke] jnthn: almost 10am here.
14:55 [Coke] ugh, I have YA meeting in 6 minutes, time to grab more coffee, fer realz.
14:56 jnthn 11pm or so here
14:58 lizmat 4pm or so here :-)
14:58 lizmat (Tivoli Time)
15:00 tinyblak joined #perl6
15:00 chenryn joined #perl6
15:02 FROGGS carlo++
15:11 jnthn lizmat: enjoy! ;)
15:11 * jnthn rests &
15:15 PerlJam moritz: how much $$$ do you have pledged for the server?
15:19 moritz PerlJam: around 1.5k EUR (taken with a grain of salt in both directions)
15:19 moritz PerlJam: some pledges were "up to" and some "at least", so there's a lot of elasticity in there
15:20 moritz PerlJam: and things are complicated; I'll send out an update once things are clearer
15:20 PerlJam moritz: Did I ever email you with an amount?  If not, put me down for $50USD
15:20 KCL_ joined #perl6
15:20 moritz PerlJam: one thing seems certain though: we'll get decent hardware
15:21 PerlJam moritz++ thanks for coordinating everything.
15:21 moritz PerlJam: ok, thanks; I'll let you know the proceedings once things are clearer
15:23 moritz for everybody interested: http://moritz.faui2k3.org/tmp/ang391032014a.pdf this is the server I've ordered now, minus the additional ethernet cards
15:23 moritz it's German, but the whole tech speak in it is English anyway :-)
15:23 moritz TL;DR: 1U server 19" with 6 core x2 (hyperthreading), 32GB RAM, 2 * 2TB hard drive
15:24 moritz *cores
15:24 moritz the order hasn't been confirmed yet
15:25 moritz on the software side, somebody mentioned I might want to investigate cgroups instead of virtualization for resource management
15:25 moritz which would make the network management easier
15:25 moritz any opinions on that?
15:25 PerlJam moritz: RAID?
15:25 moritz PerlJam: software raid
15:25 PerlJam ah
15:26 PerlJam RAID1?
15:26 moritz (there's a controller in there, but it's a fake one; so just additional SATA ports)
15:27 moritz PerlJam: I haven't really done the planning yet, but RAID1 sounds sensible to me
15:31 chenryn joined #perl6
15:31 PerlJam moritz: I imagine that more people have experience with virtualization (if you're sharing the admin load) than cgroups.
15:35 moritz PerlJam: aye; but my experience with managing infrastructure is that in the end, it always comes back to me :/
15:35 moritz PerlJam: and I don't have experience with either right now
15:35 tinyblak_ joined #perl6
15:37 treehug88 joined #perl6
15:43 jluis joined #perl6
15:45 guru joined #perl6
15:55 JimmyZ joined #perl6
15:56 JimmyZ moritz: someone said it's good to use cgroup to controll the cpu resource of kvm since kvm is also a process
15:58 JimmyZ seems Google Compute Engine is doing this
15:59 * smls <3 .classify and .deepmap
16:00 * JimmyZ has some experience with kvm
16:04 tinyblak joined #perl6
16:04 Ven joined #perl6
16:05 Ven wow, matz seems to want to give ruby 3.0 soft/structural typing
16:05 Ven https://www.omniref.com/blog/blog/2​014/11/17/matz-at-rubyconf-2014-wil​l-ruby-3-dot-0-be-statically-typed/
16:07 * nwc10 is more curious about the "Matz presented a few major ideas for the next version of Ruby, including improvements in concurrency support, and JIT compilation" alluded to by that blog post
16:09 Ven nwc10: JIT has already happened to many implementations.. hehehe. Jruby "9k" will be a big thing.
16:16 kaare_ joined #perl6
16:18 Ven nwc10: I think the part that impresses me the most about Jruby 9k is actually the fact they've reimplemented C on the JVM, so that the VM can effectively inline stuff between ruby and C
16:18 Ven It looks like it's from the same place to the optimizer/JIT!
16:20 [Coke] .u §
16:20 yoleaux U+00A7 SECTION SIGN [Po] (§)
16:33 Zheglov joined #perl6
16:38 ugexe nqp: my @a := nqp::list; nqp::push(@a,'x'); nqp::setelems(@a, 0); # does ::setelems(@a,0) free memory originally used by the 1 element of @a?
16:38 camelia nqp-jvm: OUTPUT«(signal ABRT)»
16:38 camelia ..nqp-{moarvm,parrot}: ( no output )
16:39 tinyblak_ joined #perl6
16:41 [Sno] joined #perl6
16:46 [Coke] is there a ticket for that nqp-jvm abort?
16:51 ugexe nqp: say 1; # it always aborts just to clarify
16:51 camelia nqp-parrot: OUTPUT«Confused at line 2, near "say 1; # i"␤current instr.: 'panic' pc 15673 (gen/parrot/stage2/NQPHLL.pir:5731) (gen/parrot/stage2/NQPHLL.nqp:425)␤»
16:51 camelia ..nqp-jvm: OUTPUT«(signal ABRT)»
16:51 camelia ..nqp-moarvm: OUTPUT«Confused at line 2, near "say 1; # i"␤   at gen/moar/stage2/NQPHLL.nqp:485  (/home/camelia/rakudo-inst-1/languag​es/nqp/lib/NQPHLL.moarvm:panic:105)␤ from gen/moar/stage2/NQP.nqp:913  (/home/camelia/rakudo-inst-1/language​s/nqp/lib/nqp.moarvm:comp_unit:872)␤ f…»
16:55 kaleem joined #perl6
16:55 FROGGS joined #perl6
16:55 FROGGS o\
16:56 FROGGS ugexe: does it matter if it frees mem?
16:57 ugexe FROGGS: no, im just looking at rakudo source and curious
16:58 FROGGS ugexe: the backend can decide when it frees and what it keeps longer in memory
16:58 Zheglov joined #perl6
16:58 FROGGS it is just that the backend might be allowed to free something when it is not reachable anymore
17:01 ugexe i see. this optimization (i think) is why i wondered
17:01 ugexe https://github.com/rakudo/rakudo/bl​ob/e2ae40b48eac26fdd3f486b4552b506a​f38226c2/src/core/List.pm#L699-L700
17:04 netstar very elegant
17:08 japhb ugexe: Yeah, that's to preextend the backing array, so that it doesn't have to be grown repeatedly when you know exactly how big it will end up, but at the same time appearing empty so you can push onto it.
17:08 netstar %*ENV{'CWD'} is legal ?
17:12 japhb netstar: yes, but save yourself some typing and use %*ENV<CWD> instead ... or in this particular case (CWD), you may want to avoid it altogether, because every so often I see commits that change the behavior of cwd across threads and spawns -- IIRC, the current thread-local cwd is in $*CWD, not %*ENV<CWD>.
17:12 netstar thanks japhb !
17:13 Mouq joined #perl6
17:13 japhb np
17:13 netstar i am loving some of the new syntax
17:13 netstar some of it just "makes sense!"
17:14 japhb netstar: :-)
17:22 ugexe m: my @a = <a b c>; say @a[-0]; # should this give the *- failure message?
17:22 camelia rakudo-moar f2ffb9: OUTPUT«a␤»
17:24 PerlJam ugexe: no.
17:25 japhb ugexe: Why would it?  That's an int or Int, so we do not guarantee that -0 and +0 are different.
17:27 denis_boyun_ joined #perl6
17:28 PerlJam the message no longer says "negative subscript" anyway, right?
17:28 jluis_ joined #perl6
17:29 PerlJam m: my @a; say @a[-4];   # just checkign
17:29 camelia rakudo-moar f2ffb9: OUTPUT«Unsupported use of [-4] subscript to access from end of Array; in Perl 6 please use [*-4]␤  in method gist at src/gen/m-CORE.setting:13756␤  in sub say at src/gen/m-CORE.setting:16487␤  in block <unit> at /tmp/rQ1syAe1UW:1␤␤»
17:32 ugexe thats why im confused. any other negative int it will fail wanting a WhateverCode. but not for -0
17:32 kaleem joined #perl6
17:32 colomon ugexe: -0 is 0
17:32 raydiak also nobody coming from p5, c, js, ruby, lua, etc would expect it to do anything other than what it does in p6 too, if I'm not mistaken
17:33 raydiak (and good morning #perl6 \o)
17:33 ugexe colomon: gotcha. im not a math guy
17:33 * PerlJam is hard pressed to think of a language that *does* distinguish -0
17:33 colomon m: say 0 === (-0)
17:33 camelia rakudo-moar f2ffb9: OUTPUT«True␤»
17:33 colomon PerlJam: Nums make the distinction.
17:33 colomon but Ints do not.
17:34 colomon m: say 0e1 === (-0e1)
17:34 camelia rakudo-moar f2ffb9: OUTPUT«True␤»
17:34 colomon m: say -0e1
17:34 camelia rakudo-moar f2ffb9: OUTPUT«-0␤»
17:34 colomon huh
17:34 colomon I'd expect those to == but not ===
17:36 [Coke] FYI, fudge blocks don't work on arbitrary blocks, they have to start a line.
17:36 [Coke] (the blocks)
17:39 raydiak m: say .WHICH for -0e0, 0e0
17:39 camelia rakudo-moar f2ffb9: OUTPUT«Num|-0␤Num|0␤»
17:43 raydiak m: say 0e0 * -1
17:43 camelia rakudo-moar f2ffb9: OUTPUT«-0␤»
17:46 raydiak I think I'm with colomon...as much as it pains me that we even have a distinct -0, I would also not expect it to === 0
17:47 raydiak and that's enough javascript-like nonsense for me for one morning :)
17:48 TimToady one morning, everyone!
17:48 guru joined #perl6
17:48 raydiak \o TimToady
17:49 japhb There's a reason floating point numbers have a -0, and it's not just for convenience in the bit layout.  It's necessary to distinguish -0 and +0 for certain physical simulations.
17:49 * TimToady is not surprised there was some fallout to the longlit patch, since there were places in the test suite that were inadvertently depending on ordering
17:50 raydiak japhb: why?
17:50 geekosaur isn't it really about limits?
17:51 TimToady for some equations you want to know which limit...yes, what geekosaur++ said
17:51 TimToady you can approach 0 from either side
17:51 FROGGS_ joined #perl6
17:51 TimToady of course, by that argument, we should have two 1's, two 2's, etc :)
17:52 geekosaur numerical methods can do some really weird things when approaching 0 if you don't specify from which side (which is what the sign is being overloaded to do, because that "works" with numerical methods)
17:52 TimToady yes, 0 gets to be special, since, well, it is special
17:53 geekosaur except that if you do it at 0 (and +/-inf) then you get it for anything else by adding a constant offset
17:53 TimToady sure, the special can be moved around :)
17:53 geekosaur so 0, being in some sense weird anyway, gets the odd behavior
17:54 TimToady re fudge and blocks, yes, fudge is like many preprocessors in being primarily line oriented in its declarations
17:55 TimToady the only other approach requires parsing a known language, which has at least two difficulties here
17:55 TimToady one is that a mutable language like Perl 6 is not just a single language
17:56 kurahaupo joined #perl6
17:56 TimToady the second difficulty is that we're testing whether it's the language we think it is in the first place, so we can't make that assumption that we know which language we're parsing
17:56 TimToady so we have to rely on arbitrary markers, and nothing is handier for that purpose than the newlines
17:57 TimToady pod is much the same
17:57 TimToady and to a lesser extent, heredocs
17:58 TimToady anyway, that's why fudge ignores blocks that aren't where it expects them
17:59 TimToady and why the individual tests have to start and end on a line boundary, more or less
18:00 TimToady (we allow for some whitespace there)
18:00 chenryn joined #perl6
18:03 chenryn joined #perl6
18:05 sergot hi o/
18:05 sergot p: ()[*-1]
18:05 camelia rakudo-parrot f2ffb9: OUTPUT«Unsupported use of [-1] subscript to access from end of Parcel; in Perl 6 please use [*-1]␤current instr.: 'throw' pc 476005 (src/gen/p-CORE.setting.pir:197349) (gen/parrot/CORE.setting:12131)␤called from Sub 'sink' pc 519057 (src/gen/p-CORE.setting.…»
18:06 sergot r: ()[*-1]
18:06 camelia rakudo-parrot f2ffb9: OUTPUT«Unsupported use of [-1] subscript to access from end of Parcel; in Perl 6 please use [*-1]␤current instr.: 'throw' pc 476005 (src/gen/p-CORE.setting.pir:197349) (gen/parrot/CORE.setting:12131)␤called from Sub 'sink' pc 519057 (src/gen/p-CORE.setting.…»
18:06 camelia ..rakudo-moar f2ffb9: OUTPUT«Unhandled exception: Unsupported use of [-1] subscript to access from end of Parcel; in Perl 6 please use [*-1]␤   at <unknown>:1  (/home/camelia/rakudo-inst-1/languages/perl6/r​untime/CORE.setting.moarvm:throw:4294967295)␤ from src/gen/m-CORE.setting:1…»
18:14 anaeem1 joined #perl6
18:14 ugexe m: my @a; say "1:"~@a[0;-1]; say "2:"~@a[0;*-1]; @a.push('x'); say "3:"~@a[0;*-1];
18:14 camelia rakudo-moar f2ffb9: OUTPUT«1:␤2:␤3:x␤»
18:18 ajr joined #perl6
18:22 jluis joined #perl6
18:24 dwarring joined #perl6
18:24 jack_rabbit joined #perl6
18:26 El_Che joined #perl6
18:27 spider-mario joined #perl6
18:33 FROGGS TimToady: so you say that the output of the URI grammar is expected like it is now?
18:33 fhelmberger joined #perl6
18:35 dwarring r; grammar g { my rule foo {.}; my rule bar {.}; rule TOP {<foo><.bar>} }; g.parse("hi");
18:35 * dwarring ....
18:35 FROGGS m: grammar g { my rule foo {.}; my rule bar {.}; rule TOP {<foo><.bar>} }; say g.parse("hi");
18:35 camelia rakudo-moar f2ffb9: OUTPUT«No such method 'bar' for invocant of type 'g'␤  in regex TOP at /tmp/1wtwO5e6PG:1␤  in method parse at src/gen/m-CORE.setting:14182␤  in block <unit> at /tmp/1wtwO5e6PG:1␤␤»
18:36 FROGGS m: grammar g { rule foo {.}; rule bar {.}; rule TOP {<foo><.bar>} }; say g.parse("hi");
18:36 camelia rakudo-moar f2ffb9: OUTPUT«「hi」␤ foo => 「h」␤␤»
18:36 dwarring yeah that works
18:37 dwarring that's started happening since yesterday
18:37 Zheglov joined #perl6
18:37 TimToady you can't call a 'my' regex with <.foo>
18:37 anaeem1 joined #perl6
18:38 TimToady that's been spec for a long time, but rakudo is sloppy on how it implements it
18:38 kurahaupo1 joined #perl6
18:38 TimToady it just says "Oh, the . is a no-op, call back into <assertion>"
18:39 [Coke] why does S32-io/spurt.t try to unlink the file 3 times?
18:39 TimToady it should really be calling into $~MAIN's methodop rule to parse the metod
18:39 TimToady *th
18:40 * dwarring explains overnight CSS::Module failure - will fix
18:40 [Coke] (well, more than that, but right at the end.)
18:46 TimToady so, yeah, there's the <.foo> issue in addition to the longlit semantic that can now come in via either <foo> or <.foo>
18:46 Mouq m: grammar g { my rule foo {.}; my rule bar {.}; rule TOP {<foo><&bar>} }; say g.parse("hi");
18:46 camelia rakudo-moar f2ffb9: OUTPUT«「hi」␤ foo => 「h」␤␤»
18:47 Mouq joined #perl6
18:47 TimToady (but not yet <&foo>, since that goes through INTERPOLATE)
18:48 TimToady there's also the <.&foo> variant, which appears to work too
18:48 TimToady I guess that work at the moment because QRegex throws away the . and parses it as <&foo>
18:49 [Coke] TimToady: I was just looking at the "pluralize paren..." commit. that's in an exception that is thrown from one method that is never explicitly called, it seems (EXPR_nonassoc) - how does that get invoked?
18:49 TimToady you'll note that <."foo"> won't work as a method call, since it's taken as <"foo">
18:51 TimToady npq/src/HLL/Grammar.nqp line 531
18:54 TimToady m: grammar g { rule foo {.}; rule bar {.}; rule TOP {<foo><."bar"()>} }; say g.parse("hi");
18:54 camelia rakudo-moar f2ffb9: OUTPUT«[31m===[0mSORRY![31m===[0m�Unrecognized regex metacharacter < (must be quoted to match literally)�at /tmp/jk_KidFyEc:1�------> [32mfoo {.}; rule bar {.}; rule TOP {<foo><.[33m�[31m"bar"()>} }; say g.parse("hi");[0m�Malformed regex�at /t…»
18:55 TimToady m: grammar g { rule foo {.}; rule bar {.}; rule TOP {<foo><"bar">} }; say g.parse("hi");
18:55 camelia rakudo-moar f2ffb9: OUTPUT«[31m===[0mSORRY![31m===[0m�Unrecognized regex metacharacter < (must be quoted to match literally)�at /tmp/S24QYniofJ:1�------> [32m foo {.}; rule bar {.}; rule TOP {<foo><[33m�[31m"bar">} }; say g.parse("hi");[0m�Malformed regex�at /tmp…»
18:55 TimToady std: grammar g { rule foo {.}; rule bar {.}; rule TOP {<foo><"bar">} }; say g.parse("hi");
18:55 TimToady darn it, where is camelia running?  not host08, as far as I can tell...
18:56 [Coke] she was on 08 for a while. not sure if moritz moved her when we started having issues with the jvm there.
18:56 camelia joined #perl6
18:57 tinyblak joined #perl6
18:57 TimToady n: grammar g { rule foo {.}; rule bar {.}; rule TOP {<foo><"bar">} }; say g.parse("hi");
18:57 gfldex joined #perl6
18:57 camelia std : OUTPUT«Can't chdir to '/home/camelia/std/snap': No such file or directory at lib/EvalbotExecuter.pm line 166.␤    EvalbotExecuter::_auto_execute(HASH(0x1c009c8), "grammar g { rule foo {.}; rule bar {.}; rule TOP {<foo><\"bar\""..., GLOB(0xa79da70), "/tmp/Jz0AMyF1fx", "std") cal…»
18:58 camelia niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![3​1m===[0mâ�¤â�¤Unrecognized regex assertion at /tmp/17tubWGmyq line 1:â�¤------> [32m foo {.}; rule bar {.}; rule TOP {<foo><[33mâ��[31m"bar">} }; say g.parse("hi");[0mâ�¤â�¤Parse failedâ�¤â�¤Â»
18:58 FROGGS TimToady: that's nine++'s machine
18:58 TimToady .seen nine
18:58 yoleaux I saw nine 17 Nov 2014 07:56Z in #perl6: <nine> The christmas before that ;)
19:00 TimToady nine++ for setting up camelia and ++nine for doing a search for /home/camelia in std's directory nad fixing it to the actual home dir
19:00 TimToady m: say %*ENV<HOME>
19:00 camelia rakudo-moar f2ffb9: OUTPUT«/home/camelia␤»
19:01 TimToady well, maybe that's not the problem
19:01 TimToady maybe it just needs a mkdir /home/camelia/std/snap
19:01 FROGGS yeah, we had to do that on a feather recentlyish
19:06 denis_boyun joined #perl6
19:08 Guest39179 joined #perl6
19:09 TimToady hmm
19:10 FROGGS I don't understand why that URI grammar parses how it parses...
19:12 TimToady was that the thing that | -> || fixed?
19:12 FROGGS yes
19:12 Mso150 joined #perl6
19:12 FROGGS I golf it down right now
19:12 TimToady it's certainly possible there's a bug or two yet in the longlit
19:13 FROGGS TimToady: does the order in an | alternation matter?
19:13 FROGGS because it does right now
19:13 TimToady it does if it gets to PEG rule 4
19:14 TimToady 1 is LTM, 2 is longlit, 3 is derivation, 4 is order
19:14 FROGGS hmmmm
19:17 TimToady some of the issues I ran into earlier involved longlit stopping on a character class, so you can't parse both ? and ! in one expression, for instance, if you want to use longlit tiebreaking
19:18 TimToady of course, there's always the final tiebreaker, which is to fail to match the earlier rule and fail over to the later rule
19:18 TimToady but it's nice to avoid the overhead when possible
19:18 perltricks hey all I'm trying to translate this p5 one liner and not getting the right result. Any suggestions please?
19:18 FROGGS ohh, now that's funny
19:18 perltricks perl -e 'print join ".", map { ((2130706433>>8*($_))&0xFF) } reverse 0..3'
19:18 perltricks perl6 -e 'say join ".", map { ((2130706433+>8*($_))&0xFF) }, reverse 0..3'
19:18 FROGGS TimToady: I just need to comment this line: https://gist.github.com/FROGGS/ebfc9d5e9​03475d1c2b7#file-ltm-maybe-fail-pl6-L47
19:19 FROGGS TimToady: ... to make it pick <URI> in line 39
19:19 PerlJam perltricks: +& rather than just &
19:19 Tekk_` joined #perl6
19:20 perltricks m:say join ".", map { ((2130706433+>8*($_))+&0xFF) }, reverse 0..3
19:20 FROGGS TimToady: putting the bars on the left do not help sadly
19:20 perltricks m: say join ".", map { ((2130706433+>8*($_))+&0xFF) }, reverse 0..3
19:20 camelia rakudo-moar f2ffb9: OUTPUT«0.0.0.0␤»
19:21 TimToady the longlit for that line is just '//', since authority starts with a ? term
19:21 perltricks Tekk_`: thanks! that's progress. It prints out 0.0.0.0 instead of 127.0.0.1 though
19:22 TimToady m: say join ".", map { ((2130706433+>(8*$_))+&0xFF) }, reverse 0..3
19:22 camelia rakudo-moar f2ffb9: OUTPUT«127.0.0.1␤»
19:22 TimToady precedence
19:23 perltricks TimToady: Ah yes, that's it. Thank you!
19:23 TimToady seems like we could do better though
19:24 Mouq m: map {$_}, 3...0 # wtf
19:24 camelia rakudo-moar f2ffb9: OUTPUT«Cannot call 'map'; none of these signatures match:␤:(&code, *@values)␤:(Whatever, Any \a)␤:(&code, Whatever)␤  in block <unit> at /tmp/SbCjmilju7:1␤␤»
19:24 TimToady precedence
19:24 TimToady ... is looser than ,
19:24 Mouq Ahhhh
19:25 guru joined #perl6
19:27 perltricks I was wondering about that reverse. Because 3..0 doesn't do what I expected. But ... works. I can check the doccs for that one though
19:28 perltricks m: say join ".", map { ((2130706433+>(8*$_))+&0xFF) }, (3...0)
19:28 camelia rakudo-moar f2ffb9: OUTPUT«127.0.0.1␤»
19:28 Mouq perltricks: .. is just a Range, ... is a list generator
19:29 perltricks Mouq: got it, thanks
19:29 perltricks There's not pack/unpack routine in Perl 6 right?
19:29 TimToady there is, but it's incomplete
19:31 TimToady m: say 2130706433.chr.encode("utf-32").decode("latin-1")
19:31 camelia rakudo-moar f2ffb9: OUTPUT«Unknown string encoding: 'utf32'␤  in method encode at src/gen/m-CORE.setting:7116␤  in block <unit> at /tmp/rddjryPan2:1␤␤»
19:31 TimToady aww
19:32 Mouq m: say @(pack "N", 2130706433).join(".")
19:32 camelia rakudo-moar f2ffb9: OUTPUT«127.0.0.1␤»
19:32 Mouq m: say join ".", @(pack "N", 2130706433)
19:32 camelia rakudo-moar f2ffb9: OUTPUT«127.0.0.1␤»
19:38 vendethiel joined #perl6
19:39 Isp-sec joined #perl6
19:40 flussence m: say join q{.}, ([\+>] 2130706433, 0o10 xx 3).reverse »+&» 0xFF
19:40 camelia rakudo-moar f2ffb9: OUTPUT«127.0.0.1␤»
19:40 flussence can't really golf it down as far as &pack :)
19:43 kurahaupo joined #perl6
19:43 Mouq flussence: Well, tbh, I'm not really sure if that's how &pack is supposed to work or if that's just a convenient bug
19:44 flussence m: say (pack "N", 2130706433)
19:44 camelia rakudo-moar f2ffb9: OUTPUT«Buf:0x<7f 00 00 01>␤»
19:44 flussence ah, looks intentional...
19:44 TimToady we've talked about a repeating divmod from time to time
19:52 perltricks hah, thanks all!
19:55 Sqirrel joined #perl6
19:56 FROGGS TimToady: that's what I had to do: https://github.com/FROGGS/uri/commit/8c​9e2292f91d1e252ea97d2c391384700f62fdcd
19:57 FROGGS TimToady: so even when the URI I am parsing does not touch the branches that start with '//', the literals make the entire token more important
19:57 FROGGS not only the branch they are in
19:58 FROGGS at least, that is what I think is going on
20:00 ptc_p6 joined #perl6
20:00 tinyblak_ joined #perl6
20:00 * [Coke] thanks the Perl 6 folks for, in general, being decent human beings. Thanks. :)
20:03 PerlJam Coke: that's a weird thing to be thanked for, but on behalf of my fellow humans ... you're welcome.  :)
20:03 TimToady where "decent" is generally defined as "pretending to be decent most of the time"  :)
20:04 flussence I think simply being here has defused a lot of the bad habits I learned from the rest of the internet... :)
20:05 FROGGS TimToady: that's the correct link now
20:05 TimToady it wasn't before?
20:05 TimToady it looks...immutable...
20:06 FROGGS -> https://github.com/FROGGS/uri/commit/73​80a7ce18dc170e0e55b4dc41689696f68aa28d
20:06 FROGGS -.-
20:06 FROGGS seem like I forgot a
20:07 FROGGS seems*
20:07 FROGGS -.-
20:07 TimToady hier_part still has '//'
20:07 TimToady is that intentional?
20:07 FROGGS yes
20:08 FROGGS if I patch it the same I end up getting 'http:/' for a subparse
20:09 TimToady maybe there needs to be a $ or $$ in there somewhere
20:10 FROGGS but my test is just: say IETF::RFC_Grammar::URI.subparse('http://example.com:80/about/us?foo#bar');
20:12 TimToady maybe I'll need to play with the grammar myself rather than cheering from the sidelines
20:13 FROGGS m: grammar G { token TOP { <bar> | <foo> }; token foo { \w+ }; token bar { <foo> | aa } }; say G.subparse('bb')
20:13 camelia rakudo-moar f2ffb9: OUTPUT«「bb」␤ bar => 「bb」␤  foo => 「bb」␤␤»
20:13 FROGGS is that correct?
20:13 anaeem1 joined #perl6
20:13 FROGGS m: grammar G { token TOP { <foo> | <bar> }; token foo { \w+ }; token bar { <foo> | aa } }; say G.subparse('bb')
20:13 camelia rakudo-moar f2ffb9: OUTPUT«「bb」␤ foo => 「bb」␤␤»
20:14 TimToady something seem a little off there
20:14 FROGGS yeah, and that is what the URI problem boils down to I think
20:15 FROGGS star-m: grammar G { token TOP { <bar> | <foo> }; token foo { \w+ }; token bar { <foo> | aa } }; say G.subparse('bb')
20:15 TimToady okay, I'll poke at that one some later today, but first lunch, and maybe a nap, since I'm still recovering from my sniffle...
20:15 camelia star-m 2014.09: OUTPUT«「bb」␤ bar => 「bb」␤  foo => 「bb」␤␤»
20:16 FROGGS hmmm
20:16 * colomon is trusting FROGGS++
20:16 FROGGS /o\
20:16 TimToady part of the problem may be that rakudo doesn't do fates quite as completely as STD does
20:17 TimToady if a subrule has alternatives, it may be confusing them with each other in terms of fate, and the longlit info currently rides along with the fate
20:18 TimToady STD kept the subfates distinct, but rakudo just relabels the top NFA with a new fate, so maybe we're losing info somewhere
20:19 FROGGS that's the point where I guess I have to nod, since I always have problems imagining that
20:19 TimToady I thought I kept the longlit info distinct, but maybe not...
20:19 TimToady anyway, that's a good one-liner test case
20:20 TimToady or as far as I can tell, without mental nutrition...
20:20 TimToady lunch &
20:21 FROGGS couch &
20:23 mj41 joined #perl6
20:26 * colomon just moved URI to perl6-community-modules
20:26 FROGGS colomon++
20:26 colomon FROGGS++ # seems to work now
20:28 FROGGS nice
20:29 FROGGS would be interesting to see what is left open from the some run
20:30 espadrine_ joined #perl6
20:31 moritz was it grammar implementation bug, or an URI bug, or both?
20:32 FROGGS feels like a grammar impl bug
20:35 colomon FROGGS: I can always fire off another smoke run if you're interested.  takes about 30 minutes.
20:37 FROGGS ohh yes
20:37 FROGGS that'd be awesome :o)
20:43 perltricks ok y'all, just 1 one liner left to translate: "convert an ip address into an unsigned integer" https://github.com/sillymoose/Perl6-One-Liners
20:45 perltricks m: say join ",", @(unpack("N", "127.0.0.1")
20:45 camelia rakudo-moar f2ffb9: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/px6qoPnghIâ�¤Unable to parse expression in contextualizer; couldn't find final ')' â�¤at /tmp/px6qoPnghI:1â�¤------> [32msay join ",", @(unpack("N", "127.0.0.1")[33mâ��[31m<EOL>[0mâ�¤    expecti…»
20:45 perltricks m: say join ",", @(unpack "N", "127.0.0.1")
20:45 camelia rakudo-moar f2ffb9: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/LBEbDqsbS3â�¤Undeclared routine:â�¤    unpack used at line 1. Did you mean 'pack'?â�¤â�¤Â»
20:49 Mouq m: say buf8.new(+«"127.0.0.1".split(".")).unpack("N")
20:49 camelia rakudo-moar f2ffb9: OUTPUT«2130706433␤»
20:49 Mouq m: say Buf.new(+«"127.0.0.1".split(".")).unpack("N")
20:49 camelia rakudo-moar f2ffb9: OUTPUT«2130706433␤»
20:50 japhb What's perl6-community-modules (other than a github organization)?  Meaning, why are modules moved there, and what are its rules?
20:50 TimToady m: say :256["127.0.0.1".comb(/\d+/)]
20:50 camelia rakudo-moar f2ffb9: OUTPUT«2130706433␤»
20:51 japhb m: say +':256[127,0,0,1]
20:51 camelia rakudo-moar f2ffb9: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/8MDks417fJâ�¤Unable to parse expression in single quotes; couldn't find final "'" â�¤at /tmp/8MDks417fJ:1â�¤------> [32msay +':256[127,0,0,1][33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤       …»
20:51 japhb m: say +':256[127,0,0,1]'
20:51 camelia rakudo-moar f2ffb9: OUTPUT«2130706433␤»
20:52 telex joined #perl6
20:53 japhb Seriously though, is perl6-community-modules intended as a place to put modules you're relinquishing ownership of?  Or just to make it easier to collaborate with other org members?  Or something else?
20:54 flussence I take it to mean "these seem high-profile enough to need a bus number > 1"
20:54 TimToady well, but it can't mean just that; merely making the github repo available does that
20:55 TimToady I take it to also have a component of "the original author doesn't mind a fork"
20:56 TimToady "so we'll just put it somewhere where everyone can neglect it" :P
20:57 japhb :-/
20:59 perltricks Mouq: got it, thanks!
21:01 flussence after poking through it I get an impression it's used for things where someone needed a fix more urgently than upstream was willing to apply it
21:02 TimToady so temporary forks, then, for possibly permanent definitions of temporary
21:02 TimToady depending on the upstream
21:03 kjs_ joined #perl6
21:04 flussence it's a fairly githubby way of doing the "distro patchset" thing that happens in the wider world, I guess.
21:04 japhb Hmmm, who is a member?  I appear to not be, so it's not the perl6 org
21:05 TimToady m: say +":256[{'127.0.0.1'.subst(/\./,',')]"
21:05 camelia rakudo-moar f2ffb9: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/5DwEQf6rqWâ�¤Unable to parse expression in block; couldn't find final '}' â�¤at /tmp/5DwEQf6rqW:1â�¤------> [32msay +":256[{'127.0.0.1'.subst(/​\./,',')[33mâ��[31m]"[0mâ�¤    expecting any of:â�¤â€¦Â»
21:05 TimToady m: say +":256[{'127.0.0.1'.subst(/\./,',')}]"
21:05 camelia rakudo-moar f2ffb9: OUTPUT«Cannot convert string to number: malformed ':256' style radix number, expecting comma separated decimal values after opening '[' in ':256[127,0⏏.0.1]' (indicated by ⏏)␤  in method gist at src/gen/m-CORE.setting:13756␤  in sub say at src/gen/m-CORE.…»
21:06 TimToady m: say +":256[{'127.0.0.1'.subst(:g,/\./,',')}]"
21:06 camelia rakudo-moar f2ffb9: OUTPUT«2130706433␤»
21:07 ptc_p6 joined #perl6
21:07 TimToady though that one is ready-made for an injection attack
21:08 TimToady well, maybe not quite
21:10 Mso150 joined #perl6
21:23 camelia joined #perl6
21:29 itz_ joined #perl6
21:32 lizmat joined #perl6
21:38 TimToady hmm, no dalek
21:38 TimToady anyway, current nom says:
21:38 TimToady > my @a = 1,2,3; say @a[*-5]
21:38 TimToady Index [-2] is out of range; indices start at 0 for objects of type Array
21:39 TimToady though the exception is still misnamed
21:41 Mso150 joined #perl6
21:42 FROGGS sergot: ^^
21:43 FROGGS https://github.com/rakudo/rakudo/commit/​b2bf90cc2dc636717291fdc677b1268c48d33a8a
21:43 FROGGS " deconfuse out-of-range index with obsolete syntax "
21:44 * FROGGS .oO( I can call you daddy, when you call me d-Al-ek )
21:44 FROGGS ohh, was it actually betty?
21:46 lizmat does anybody have opinions about my idea of having ().end return Nil ?
21:47 lizmat m: ().end.say
21:47 camelia rakudo-moar f2ffb9: OUTPUT«-1␤»
21:47 moritz lizmat: IMHO that mixes types / categories a bit too much
21:47 moritz the typical thing would be to return an undef, so Int
21:48 TimToady it's just an out-of-range indiex, that's all
21:48 lizmat ok, Int then...
21:48 TimToady no, it wants to be -1
21:48 TimToady it's just a logic error, and should blow up
21:48 * lizmat does a git stash drop
21:49 japhb .oO( Does a git stash drop? )
21:49 japhb Sometimes ...
21:50 TimToady Today, Tomorrow...
21:50 TimToady sorry, was free-associating with Who's on First
21:50 travis-ci joined #perl6
21:50 travis-ci Rakudo build failed. TimToady 'deconfuse out-of-range index with obsolete syntax'
21:50 travis-ci http://travis-ci.org/rakudo/rakudo/builds/41411943 https://github.com/rakudo/rakudo/c​ompare/f2ffb9a384b0...b2bf90cc2dc6
21:50 travis-ci left #perl6
21:50 * TimToady wonder why travis is failing
21:50 TimToady *ders
21:53 * TimToady tries rebuilding without =master
21:54 FROGGS hmmm, do we need to bump versions again?
21:54 FROGGS MAST/Ops.nqp is new IIRC
21:54 FROGGS hmmm, maybe not...
21:55 lizmat japhb: to clarify, I had some code in the stash for making ().end return Nil
21:55 lizmat I don't anymore  :-)
21:56 FROGGS I think travis had just a hickup
21:57 vendethiel http://flowtype.org/ wow, facebook adding yet another gradual types to a language
21:57 vendethiel I guess it's so much better than TS and the likes.
21:57 vendethiel Also, guess if it works with their own JSX project.
22:00 virtualsue joined #perl6
22:02 timotimo i think we need a newer mvm version
22:02 timotimo a fresh rakudobrew is complaining that moarvm doesn't have close_fsh
22:02 timotimo close_fhi*
22:05 timotimo what. both my MoarVM and nqp are at master
22:06 timotimo i'm confused.
22:08 timotimo with a current rakudobrew i get "MoarVM op 'close_fhi' is unknown as a core or extension op" ?!?
22:08 timotimo moar --version gives me 2014.10-60
22:10 TimToady rebuilds fine without master
22:10 timotimo i'm very confused
22:10 perturbation joined #perl6
22:14 ugexe m: my @a; say @a[0;*-2];
22:14 camelia rakudo-moar f2ffb9: OUTPUT«␤»
22:14 ugexe m: my @a; say @a[0;-2];
22:14 camelia rakudo-moar f2ffb9: OUTPUT«␤»
22:15 Augustus joined #perl6
22:16 ugexe should 0;-2 throw the *-1 failure?
22:16 TimToady never gets there, since 0 doesn't exist
22:16 ugexe yeah i understand why it does that
22:17 TimToady and we presume that by the time people have learned the multi-dim syntax, they've got the message on the need for *
22:18 TimToady it'll still blow up, just not till run time
22:18 ugexe trying to trace down the *-1 on an empty list and using random code to find my way through
22:18 TimToady can't make the compiler check everything, or it'll be even slower
22:18 TimToady m: say ()[*-1]
22:18 camelia rakudo-moar f2ffb9: OUTPUT«Unsupported use of [-1] subscript to access from end of Parcel; in Perl 6 please use [*-1]␤  in method gist at src/gen/m-CORE.setting:13756␤  in sub say at src/gen/m-CORE.setting:16487␤  in block <unit> at /tmp/ekaRoYodgt:1␤␤»
22:18 TimToady not updated yet
22:18 TimToady it'll have a different message
22:19 TimToady Index [-1] is out of range; indices start at 0 for objects of type Parcel
22:20 TimToady of course, the GLR is getting rid of Parcel, so then it will say List
22:21 Augustus is there any documentation anywhere on %*LANG and how to make your own grammar/actions into a slang?
22:21 ugexe ah, i thought there might be side effects someplace else with a Whatever getting turned into the wrong thing
22:22 TimToady no, it's working as designed, just that 0-1 comes out to the value -1, which is out of range
22:23 japhb TimToady: What's the status of the GLR?  Is it paused right now, or is pmichaud working feverishly but locally?
22:23 TimToady Augustus: not really, other than the things FROGGS++ has been working on, and reading related bits of the implementation in source
22:23 TimToady and knowing how derived grammars work in general in Perl 6
22:24 TimToady slangs are just an application of that, fed back into the current language braid
22:24 TimToady which Perl 6 parsers have been doing internally for years
22:25 TimToady there's some stuff about slang syntax in the synopses that is not very implemented yet
22:26 TimToady on the camelia std thing, it looks to me like the build.pl std in crontab is not successfully making a new snapshot for some reason, but I have no way to diagnose that remotely
22:26 travis-ci joined #perl6
22:26 travis-ci Rakudo build failed. Elizabeth Mattijsen 'Fix whitespace'
22:26 travis-ci http://travis-ci.org/rakudo/rakudo/builds/41416879 https://github.com/rakudo/rakudo/c​ompare/b2bf90cc2dc6...4dd3d5038647
22:26 travis-ci left #perl6
22:26 Augustus slangs can be any arbitrary grammar, right? They don't need to derive from perl 6?
22:27 TimToady right, it's up to the grammar you poke into the braid (represented in the parser by %*LANG)
22:27 Augustus but if your actions don't generate AST appropriately, it's essentially going to 'run' at compile time, right?
22:28 Augustus like you have to understand how P6 generates code for the VM
22:28 Augustus but you generate AST and it will go through the same JIT etc that any other language would
22:29 TimToady well, we try to mediate all actions through NQP these days, which should be VM agnostic
22:29 TimToady there's very little VM-specific code left at that level
22:29 Augustus right
22:30 TimToady writing nqp is, however, something of an obscure art
22:30 Augustus i mean that obviously your action methods get run at compile time essentially
22:30 TimToady yes, and the downstream is expecting QAST of some sort
22:30 Augustus and to actually have code written in your grammar result in something that ultimately gets executed at 'runtime' you generate AST
22:31 Augustus and i'm guessing the only way to figure out how to generate appropriate AST (what does the Q stand for?) is to look at the rakudo source?
22:32 TimToady yes, you're now near enemy lines :)
22:32 Mouq Augustus: I have a thing
22:32 Augustus Mouq: yes?
22:32 Mouq But essentially you've got the gist
22:33 TimToady and your battle plans will require reconnaissance
22:33 TimToady one nice thing is that as you're generaing QAST, there's always a .dump method
22:35 Augustus I will take your word on that, I haven't even gotten to the first thing about generating QAST, I figured I would have to browse the rakudo source but haven't yet
22:35 Augustus my goal is just to make a tiny, tiny toy language
22:35 Augustus and be able to use Toy etc
22:36 TimToady m: nqp::say( (quasi { 1 + 2 }).dump );  # curious
22:36 camelia rakudo-moar b2bf90: OUTPUT«No such method 'dump' for invocant of type 'AST'␤  in block <unit> at /tmp/ec005m4JUa:1␤␤»
22:36 TimToady I guess AST is hiding the QAST inside somehow
22:37 ClarusCogitatio joined #perl6
22:39 Augustus Do you know, is $*MAIN := 'Perl5'; the line that actually switches the current grammar? I'm poking in the v5 source trying to understand what's going on
22:45 TimToady doesn't seem quite right to me
22:45 TimToady maybe it's something v5 sets to talk to itself though
22:45 Augustus there's also some $*W.install_lexical_symbol calls
22:45 Augustus but I don't know what $*W is
22:46 raydiak tuxic looks like it does it in a very similar way, though via nqp: https://github.com/FROGGS/p6-Slang-Tux​ic/blob/master/lib/Slang/Tuxic.pm#L32
22:47 Augustus ok, that appears to be setting the main langauge to be whatever the current main language is with Tuxic mixed in
22:47 Augustus just on a surface reading
22:48 Mouq Sorry, I was called away. This was written a little last minute and not quite worked on as much as I'd like https://mouq.github.io/slangs.html
22:48 raydiak I assume b/c its a slight variation instead of an entirely separate language
22:48 Augustus yeah. Is $*MAIN as alias then for $*LANG<MAIN> ?
22:48 Mouq It was written as a paper in my English class
22:48 Mouq Augustus: Nope
22:49 lizmat TimToady: re ().[-1] vs ().[*-1]
22:49 lizmat $ 6 'say ().[*-1]'
22:49 lizmat Effective index [-1] is out of range for a Parcel of 0 elements (*-1)
22:49 lizmat $ 6 'say ().[-1]'
22:49 lizmat Unsupported use of [-1] subscript to access from end of Parcel; in Perl 6 please use [*-1]
22:50 Mouq That should probably be cleared up in the document.. but it's just the key of %*LANG that the current language is contained in
22:50 Augustus Mouq: Tuxic appears to be binding to $*LANG<MAIN> while v5 is doing $*MAIN := xxxx; can you explain the difference?
22:51 Augustus so $*LANG<MAIN> has no special significance, but $*MAIN tells which key in LANG to look at?
22:51 woolfy London Perl Workshop videos are online now.  Like this one by Stefan Seifert: https://www.youtube.com/watch?v=JZD2Diw1Tbs&amp;li​st=PLxavAW22r8AkOjZQENZzCZZYYgcYAtcg9&amp;index=27
22:52 Mouq %*LANG<MAIN> === Perl6::Grammar, %*LANG{$*MAIN} === {Current slang}
22:52 Mouq The name is probably sub-optimal from a user-facing perspective
22:52 Augustus ahh, ok $*LANG<MAIN> is *always* p6
22:52 Augustus so when writing p6 code, $*MAIN will == "MAIN"
22:55 Augustus also, I see these modules make this changes inside the export function, but I see no explicit cleanup or rollback. I take it there's an implicit mechanism which will rollback when a block ends?
22:56 Mouq Well, only in the parser -- it can't normally be accessed. But `my $r #`["MAIN"] = q[[ #`["Q"] ]] ~~ rx/ ^ #`["Regex"] /
22:56 * Mouq has to go
22:59 * lizmat just committed https://github.com/rakudo/rakudo/commit/​2d9bfd95294346b2efc65f62434fac3e28a86d1f and https://github.com/rakudo/rakudo/commit/​93c2b4c4e16d76e841ebaf64625da3faa1b41b2c
23:01 perturbation hi all - just downloaded/built rakudo from github and I have a dumb question.  Are Parrot/MoarVM independent backends, or is there a dependency/hierarchy there?
23:01 lizmat they're completely independent
23:02 lizmat parrot was only used to bootstrap MoarVM (afaik)
23:02 lizmat sorry, NQP on MoarVM I should say
23:03 Augustus when you configure you can tell it what backends you want, and I noticed you no longer have to build parrot
23:03 Augustus my memory says it used to be required at some point
23:03 lizmat indeed
23:03 lizmat but no moer
23:03 lizmat more
23:03 perturbation hmm... will parrot continue to be a supported backend or is it being phased out?
23:03 lizmat good question...
23:04 Augustus my understanding is some people still work on it, but it hasn't been even close feature wise for a long time
23:04 lizmat yup, nor performance wise
23:04 Augustus JIT doesn't work at all on parrot right?
23:04 lizmat so one could argue that parrot is there for historical reasons only
23:05 perturbation gotcha - I'll check out some of the tutorials/rosetta code to get started
23:05 lizmat there's a JIT in MoarVM, and the JVM has a JIT: parrot does not
23:05 perturbation I was just wondering since I didn't really understand what was connected to what
23:06 lizmat the only connection between the backends is really NQP
23:06 lizmat if you want a new backend for Rakudo Perl 6, you need to create a backend for NQP
23:06 Augustus it is confusing since google will often show results that are 5 or 10 years old :(
23:06 lizmat the rest should more or less follow automagically
23:06 japhb Once long ago, parrot had the beginnings of a JIT, but it was unmaintained and broken, so the #parrot folks voted to remove it in the hopes of replacing with something better and less broken.  That did not come to pass.
23:07 Augustus parrot is still to this day based on PIR?
23:07 lizmat yes
23:07 bronco_creek joined #perl6
23:07 lizmat (afaik)  :-)
23:07 lizmat m: ().[*-1]
23:07 camelia rakudo-moar b2bf90: OUTPUT«Unhandled exception: Index [-1] is out of range; indices start at 0 for objects of type Parcel␤   at <unknown>:1  (/home/camelia/rakudo-inst-2/languages/perl6/r​untime/CORE.setting.moarvm:throw:4294967295)␤ from src/gen/m-CORE.setting:13764  (/home/came…»
23:07 lizmat that message will change again
23:07 Augustus but MOAR has some fundamentally different take on bytecode; not sure exactly what's different in terms of philosophy
23:08 lizmat check moarvm.org, I would say  :-)
23:09 bronco_creek Hi.  I'm trying to use panda to install JSON::Path with my 2014/9 rakudo* on moarvm.  It's failing a test.  Any advice?
23:10 travis-ci joined #perl6
23:10 travis-ci Rakudo build failed. Elizabeth Mattijsen 'Make difference between [-1] and [*-1]
23:10 travis-ci http://travis-ci.org/rakudo/rakudo/builds/41421513 https://github.com/rakudo/rakudo/c​ompare/4dd3d5038647...93c2b4c4e16d
23:10 travis-ci left #perl6
23:10 denis_boyun_ joined #perl6
23:22 rurban joined #perl6
23:27 Mso150 joined #perl6
23:29 raydiak bronco_creek: I can at least confirm the failure...embedding perl code in the path doesn't seem to work properly, but if you don't care about that, installing via 'panda --notests' may still work for your purposes
23:29 lizmat sleep&
23:29 bronco_creek raydiak: thanks
23:29 raydiak good night lizmat
23:31 bronco_creek radiak: Should I use yoleaux or something to alert jnthn?  I'm not bot savvy.
23:31 Ugator joined #perl6
23:31 ClarusCogitatio joined #perl6
23:31 raydiak bronco_creek: if you wanted to, you can ".tell jnthn something"
23:32 raydiak a bug on the github repo might do it too, but sometimes the busier ones of us don't notice the github notifications
23:36 bronco_creek .tell jnthn When I try to use panda to install JSON::Path with my 2014/9 rakudo* on moarvm it fails a test.
23:36 yoleaux bronco_creek: I'll pass your message to jnthn.
23:38 bronco_creek radiak: Thanks again.  Bye for now.
23:38 raydiak bronco_creek: you're welcome! good luck
23:38 ClarusCogitatio joined #perl6
23:41 Mso150_g joined #perl6
23:45 ClarusCogitatio joined #perl6
23:58 chenryn joined #perl6

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

Perl 6 | Reference Documentation | Rakudo