Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-10-02

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:00 BenGoldberg m: use NativeCall; sub kill(Int $proc, Int $sig) is native {*}; kill($*PID,SIGINT); sleep 1
00:00 camelia rakudo-moar e7ec20: OUTPUT«(signal INT)»
00:01 BenGoldberg m: Proc::Async.kill($*PID,SIGINT); sleep 1
00:01 camelia rakudo-moar e7ec20: OUTPUT«Proc::Async is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting:1␤  in method FALLBACK at src/RESTRICTED.setting:31␤  in any  at gen/moar/m-Metamodel.nqp:2869␤  in block <unit> at /tmp/oRWtOTFKL5:1␤␤»
00:05 TimToady locally: Too many positionals passed; expected 1 or 2 arguments but got 3
00:06 BenGoldberg Another bug is the fact that the restricted setting doesn't forbid 'is native' ;)
00:07 lichtkind_ joined #perl6
00:08 TimToady well, yes...
00:10 [Coke] Can someone kill my copy of ssh-agent on hack? I think this is why I can't git.
00:10 bjz joined #perl6
00:12 [Coke] I can't seem to kill it.
00:12 TimToady wrong owner?  stuck in D state?
00:13 TimToady not that I can help, given I probably don't even have an account...
00:13 [Coke] stuck in d
00:14 [Coke] which I guess means no, need to wait for a reboot.
00:14 TimToady then probably ... yeah
00:15 leont That really shouldn't happen :-/
00:16 TimToady The world has a way of disrespecting our shoulds and shouldn'ts.
00:29 mr_ron m: https://gist.github.com/ron​aldxs/910f61f3c6c3fd4fa74d
00:29 camelia rakudo-moar e7ec20: OUTPUT«Proc::Async is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting:1␤  in method new at src/RESTRICTED.setting:32␤  in block <unit> at /tmp/Fn5s1N9B77:1␤␤»
00:37 mr_ron m: use NativeCall; sub kill(Int $proc, Int $sig) is native {*}; signal(SIGINT).tap( { say "signal ..." }); kill($*PID,SIGINT); sleep 4
00:37 camelia rakudo-moar e7ec20: OUTPUT«signal ...␤»
00:38 mr_ron it didn't work on my system ... not sure why ... seems to work here
00:40 skids joined #perl6
00:40 BenGoldberg m: use NativeCall; sub raise(Int $sig) is native {*}; raise(SIGINT); sleep 1; say 'alive';
00:40 camelia rakudo-moar e7ec20: OUTPUT«(signal INT)»
00:41 BenGoldberg j: use NativeCall; sub raise(Int $sig) is native {*}; raise(SIGINT); sleep 1; say 'alive';
00:41 camelia rakudo-jvm e7ec20: OUTPUT«5===SORRY!5=== Error while compiling /tmp/8uAltaiPcC␤Undeclared name:␤    SIGINT used at line 1␤␤»
00:41 BenGoldberg m: SIGINT.WHAT.say
00:41 camelia rakudo-moar e7ec20: OUTPUT«(Signal)␤»
00:43 BenGoldberg m: Signal.say;
00:43 camelia rakudo-moar e7ec20: OUTPUT«(Signal)␤»
00:43 BenGoldberg j: Signal.say;
00:43 camelia rakudo-jvm e7ec20: OUTPUT«5===SORRY!5=== Error while compiling /tmp/E4O7Yk9Fos␤Undeclared name:␤    Signal used at line 1␤␤»
00:43 tokuhiro_ joined #perl6
00:44 laouji joined #perl6
00:45 BenGoldberg Surely that's a jakudo bug; even if signals aren't properly implemented, the Signal enum should exist, and the &signal function should be defined, but throw an exception.
00:46 BenGoldberg Or perhaps return a failure object.
00:47 mr_ron m: use NativeCall; sub kill(Int $proc, Int $sig) is native {*}; kill($*PID,SIGINT); sleep 1 # also doesn't work on my old Ubuntu system ...
00:47 camelia rakudo-moar e7ec20: OUTPUT«(signal INT)»
00:47 mr_ron I don't get any output
00:53 ShimmerFairy mr_ron: that  (signal INT)  might be a camelia-specific thing.
00:53 ShimmerFairy I just ran the line myself, and got only a blank line
00:54 BenGoldberg Hmm, it occurs to me that on the JVM, we *could* pretend to handle SIGINT, via Runtime.getRuntime().addShutdownHook ...
01:02 BenGoldberg If you're using bash or a similar shell, then $? will contain the exit/signal status of the last process you ran.
01:04 ShimmerFairy Ah, $? had 130 in it :)
01:05 ShimmerFairy BenGoldberg: so my guess is that $? (or equivalent) is how camelia produced the (signal INT) message.
01:08 aborazmeh joined #perl6
01:08 aborazmeh joined #perl6
01:25 samb1 joined #perl6
01:25 dalek ecosystem: 368db23 | (Tokuhiro Matsuno)++ | META.list:
01:25 dalek ecosystem: Added HTTP::Parser
01:25 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/368db2336e
01:25 dalek ecosystem: 2ce584e | (Zoffix Znet)++ | META.list:
01:25 dalek ecosystem: Merge pull request #63 from tokuhirom/http-parser
01:25 dalek ecosystem:
01:25 dalek ecosystem: Added HTTP::Parser
01:25 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/2ce584e32f
01:26 Zoffix ^^ this person should really have a commit access to the repo. They have a ton of stuff in P5: https://metacpan.org/author/TOKUHIROM
01:31 Possum joined #perl6
01:40 Possum joined #perl6
01:45 ShimmerFairy I just got "Type check failed in binding $p; expected Panda::Project but got Seq" with panda
01:52 TimToady you need the latest panda
01:52 ShimmerFairy I could've sworn I pulled panda, but maybe not...
01:53 fling joined #perl6
01:53 ShimmerFairy turns out I didn't, whoops :P
01:57 AlexDaniel joined #perl6
02:10 perlatex joined #perl6
02:15 AlexDaniel m: my @a := Array.new(:shape(3,3)); $a[1;1] = 42; say $a[1;1]
02:15 camelia rakudo-moar e7ec20: OUTPUT«5===SORRY!5=== Error while compiling /tmp/W0FV__Hi7t␤Variable '$a' is not declared. Did you mean '@a'?␤at /tmp/W0FV__Hi7t:1␤------> 3my @a := Array.new(:shape(3,3)); 7⏏5$a[1;1] = 42; say $a[1;1]␤»
02:15 AlexDaniel ah right
02:16 AlexDaniel m: my @a := Array.new(:shape(3,3)); @a[1;1] = 42; say @a[1;1]
02:16 camelia rakudo-moar e7ec20: OUTPUT«42␤»
02:16 AlexDaniel cool
02:25 moznion_ joined #perl6
02:34 noganex_ joined #perl6
02:40 kaare_ joined #perl6
02:42 AlexDaniel m: my @a := Array.new(:shape(3,3)); @a[1;1] = 42; say @a[1;25]
02:42 camelia rakudo-moar e7ec20: OUTPUT«Index 25 for dimension 2 out of range (must be 0..2)␤  in block <unit> at /tmp/VY2tubLYSJ:1␤␤»
02:45 tokuhiro_ joined #perl6
02:48 mr_ron joined #perl6
02:48 tokuhiro_ joined #perl6
02:50 mr_ron m: use NativeCall; sub kill(Int $proc, Int $sig) is native {*}; signal(SIGINT).tap( { say "signal ..." }); kill($*PID,SIGINT); sleep 1; kill($*PID,SIGINT); sleep 2;
02:50 camelia rakudo-moar e7ec20: OUTPUT«signal ...␤signal ...␤»
02:50 mr_ron good ...
03:13 baest joined #perl6
03:49 vendethiel joined #perl6
03:51 laouji joined #perl6
03:54 zacts|pi joined #perl6
04:17 zacts|pi joined #perl6
04:33 fling joined #perl6
04:41 laouji joined #perl6
04:50 mr_ron joined #perl6
04:58 khw joined #perl6
05:04 AlexDaniel hm
05:04 AlexDaniel m: my $a = 'й'; my $b = 'й'; say $a.chars; say $b.chars; say $a.codes; say $b.codes;
05:04 camelia rakudo-moar e7ec20: OUTPUT«1␤1␤1␤1␤»
05:04 AlexDaniel one is a single char, another one has a combining thingy
05:05 AlexDaniel my understanding is that .codes should actually say 2
05:05 AlexDaniel because if not, then what's the point of codes?
05:06 AlexDaniel .oO( what's the point of a code point )
05:12 ShimmerFairy AlexDaniel: NFG strings compose to NFC first, in order to minimize the number of 'fake' codepoints that have to be generated.
05:13 AlexDaniel ShimmerFairy: ok, then when “codes” and “chars” will have different output?
05:14 AlexDaniel besides obvious cases
05:14 ShimmerFairy AlexDaniel: for Str, it's whenever there's a synthetic grapheme in it.
05:16 TimToady m: my $s = 'o⃝'; say $s.chars; say $s.codes;
05:16 camelia rakudo-moar e7ec20: OUTPUT«2␤2␤»
05:16 TimToady hmm
05:16 ShimmerFairy m: say .chars, " ", .codes given "*̈" # ASTERISK plus COMBINING DIAERESIS
05:16 camelia rakudo-moar e7ec20: OUTPUT«1 2␤»
05:17 TimToady m: say uninames('o⃝')
05:17 camelia rakudo-moar e7ec20: OUTPUT«(LATIN SMALL LETTER O COMBINING ENCLOSING CIRCLE)␤»
05:17 TimToady dunno why that doesn't count as 1 char...may be a bug
05:18 ShimmerFairy TimToady: there's a bug on the devanagari grapheme used at the top of S15, because moar's "grapheme" criteria doesn't work for all graphemes.
05:19 ShimmerFairy (It checks CCC instead of using the regex for "extended grapheme cluster" specified in UAX#29(?), IIRC)
05:19 TimToady m: say 'o⃝'.UFD
05:19 camelia rakudo-moar e7ec20: OUTPUT«Method 'UFD' not found for invocant of class 'Str'␤  in block <unit> at /tmp/XYahHZ7SQa:1␤␤»
05:20 TimToady m: say 'o⃝'.NFD
05:20 camelia rakudo-moar e7ec20: OUTPUT«NFD:0x<006f 20dd>␤»
05:20 TimToady m: say uniprop(0x20dd)
05:20 camelia rakudo-moar e7ec20: OUTPUT«Me␤»
05:20 TimToady it's a mark, it should combine
05:21 TimToady m: say uniprop(0x20dd,'ccc')
05:21 camelia rakudo-moar e7ec20: OUTPUT«0␤»
05:21 TimToady but, yeah
05:21 TimToady I bet all the surrounding marks are 0
05:21 * ShimmerFairy wonders how the NYI :uni adverb for strings and/or regexes would ensure that it doesn't mess with the source input's original format, and also supposes that the I in IO should use Uni instead of Str by default, or at least allow it as an option.
05:22 TimToady m: say uniprop(0x20dc,'ccc')
05:22 camelia rakudo-moar e7ec20: OUTPUT«230␤»
05:23 TimToady yeah, since ccc is about stacking order, and enclosing marks don't have a stacking order...
05:23 ShimmerFairy say "$_.ord.base(16) - $_.uniprop("ccc")" given "\c[COMBINING ENCLOSING SCREEN]"
05:23 ShimmerFairy m: say "$_.ord.base(16) - $_.uniprop("ccc")" given "\c[COMBINING ENCLOSING SCREEN]"
05:23 camelia rakudo-moar e7ec20: OUTPUT«20E2 - 0␤»
05:24 TimToady so known bug, anyway
05:25 ShimmerFairy Yeah, MVM should instead implement the EGC regex (in non-regex version, obviously) instead, but I don't know how difficult that would be to do.
05:26 ShimmerFairy (see http://www.unicode.org/reports/tr2​9/tr29-27.html#Table_Combining_Cha​r_Sequences_and_Grapheme_Clusters  , I did remember the document correctly :P)
05:26 ShimmerFairy m: say "\r\n".chars  # which would incidentally make this a grapheme, making all future newline handling much simpler :)
05:26 camelia rakudo-moar e7ec20: OUTPUT«2␤»
05:31 TimToady m: my $s = 'o⃗'; say $s.chars; say $s.codes;
05:31 camelia rakudo-moar e7ec20: OUTPUT«1␤2␤»
05:43 grondilu $ podchecker S99-glossary.pod
05:43 grondilu S99-glossary.pod has 46 pod syntax errors.
05:44 grondilu ^makes it annoying to read on the console
05:44 * grondilu will work on fixing these errors
05:45 grondilu the syntax L</this|that> has been used and it's wrong if I'm not mistaken.
05:46 grondilu instead it's L<that|/this> according to perlpod
05:47 ShimmerFairy Yes, though to be fair it is a bit unusual that a lot of the formatting codes switch things around when you want to add display text.
05:53 dalek specs: f6234f1 | (Lucien Grondin)++ | S99-glossary.pod:
05:53 dalek specs: fix L</foo|bar> to L<bar|/foo>
05:53 dalek specs: review: https://github.com/perl6/specs/commit/f6234f1c6d
05:58 [Tux] test             50000    36.463    36.344
05:58 [Tux] test-t           50000    39.800    39.680
06:01 [Tux] http://tux.nl/Talks/CSV6/speed4.html
06:02 bjz joined #perl6
06:03 gensym joined #perl6
06:06 dalek roast: 951b577 | TimToady++ | S03-operators/composition.t:
06:06 dalek roast: unfudge passing test
06:06 dalek roast: review: https://github.com/perl6/roast/commit/951b5776a1
06:35 FROGGS joined #perl6
06:38 dalek rakudo/nom: 8a195fa | TimToady++ | src/core/operators.pm:
06:38 dalek rakudo/nom: distinguish compositions of one-arg vs many-arg
06:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8a195fa2c2
06:38 dalek roast: 2d49591 | TimToady++ | S03-operators/composition.t:
06:38 dalek roast: test composition of multi-arg functions
06:38 dalek roast: review: https://github.com/perl6/roast/commit/2d49591805
06:39 ShimmerFairy TimToady: I'm wondering, what prompted the addition of function composition? Was there some request for it that I missed, or did you just decide one day to put it in there? :)
06:40 domidumont joined #perl6
06:50 bjz joined #perl6
06:59 laouji joined #perl6
07:03 FROGGS ShimmerFairy: my bet is that there is a rosettacode task about that topic :o)
07:03 TimToady got it in one :)
07:03 FROGGS hehe
07:03 travis-ci joined #perl6
07:03 travis-ci Rakudo build errored. TimToady 'distinguish compositions of one-arg vs many-arg'
07:03 travis-ci https://travis-ci.org/raku​do/rakudo/builds/83253702 https://github.com/rakudo/rakudo/c​ompare/e7ec205c01d2...8a195fa2c209
07:03 travis-ci left #perl6
07:04 FROGGS RDD - Rosettacode Driven Development
07:04 FROGGS the travis failure just seems to be an unhappy VM
07:05 FROGGS (VM as in virtual pc)
07:05 rindolf joined #perl6
07:05 moritz is there some way to reach the travis folks and let 'em fix it?
07:06 perlatex joined #perl6
07:09 FROGGS moritz: I guess it is just a hickup...
07:10 FROGGS moritz: dunno if they let you contact them so that they will investigate... I guess their monitoring system will tell them anyway
07:11 FROGGS they were at the QA hackathon (because travis-ci++ was a sponsor), and they way I understand it is that they boot up VM snapshots, run our tests, and kill then shutdown the instances without storing their state
07:12 FROGGS that's why you can install stuff via apt without messing with anybody
07:12 moritz FROGGS: but wasn't travis unhappy yesterday as well?
07:13 moritz if so, it seems more than a one-time hiccup
07:15 FROGGS ohh, yesterday I've seen the nqp build fail, which was about failing tests for nqp-js
07:16 FROGGS though, I've not payed much attention
07:16 FROGGS paid*
07:19 pmurias joined #perl6
07:20 pmurias FROGGS: nqp-js build on travis is failing due to too old node
07:20 pmurias FROGGS: and sometimes due to random MoarVM segfaults
07:21 FROGGS pmurias: and the moarvm segfaults only happen on travis boxes?
07:23 Ven joined #perl6
07:24 RabidGravy joined #perl6
07:25 zacts hi perl6ers
07:26 FROGGS hi zacts
07:26 zacts FROGGS: are you the same entity of the nick frogs on #nemysis?
07:26 FROGGS no
07:26 zacts ah ok
07:28 abraxxa joined #perl6
07:32 cognominal joined #perl6
07:46 g4 joined #perl6
07:46 masak good morning, #perl6
07:47 masak today: Perl 6 day! \o/
07:47 moritz \o/
07:47 masak going to have a good deep look at 007.
07:48 masak I have an ongoing cleanup/refactor that I almost finished during YAPC::Europe.
07:48 masak one that will enable macros to do cooler things, no less.
07:50 FROGGS \o/
07:51 Ven \o/
07:51 masak have I talked enough about synthetic Qtrees with #perl6? I don't remember.
07:51 Ven .oO( I'll make you an' macro you won't be able to ignore )
07:52 masak there are some insights there that might be interesting to share.
07:52 moritz masak: have you talked about synaesthetic qtrees in #perl6? :-)
07:53 masak they are blue and smell like a frog's croak.
07:53 duncan_dmg joined #perl6
07:54 timotimo mhhh, macros to do color things
07:54 * Ven has never heard FROGGS++ croak... but he did talk with him 'bout macros and slangs :-)
07:54 timotimo ... damn, CRLF as a single grapheme?
07:54 timotimo that's just weird
07:55 timotimo i can deal with stuff outside of the ASCII range being unicodey, but ... that?
07:56 masak timotimo: think of it as a ligature :P
07:57 nine masak: Good morning! Before I forget again: I still think LINQ is a job for visitor macros and not for a slang, because LINQ does not introduce any new syntax. It's changing the semantics of existing syntax. And that's something visitor macros are good at.
07:57 masak nine: there are two parts of LINQ, as far as I understand.
07:57 masak nine: one part is just ordinary method calls.
07:57 masak nine: the other part is syntactic sugar.
07:57 masak I may be wrong.
07:58 masak nine: anyway, I agree with your general sentiment. if syntax is not changed, then visitor macros can do a good job.
07:59 masak a lot of the "good job" hinges on the as-yet unspecified Qtree APIs being good.
08:01 nine In a hypothetical Perl 6 LINQ, you'll be able to say my $results = from $table select .foo where .foo > .bar; # from may be a function, select and where could be infix operators and .foo and .bar are just plain mehod calls. Only that the expression is not actually evaluated but changed by the visitor macro to pass a useful data structure to the where operator
08:01 nine Same for the .foo in the select list
08:01 masak that's not valid Perl 6 by any stretch.
08:02 masak there's a TTIAR between $table and select
08:02 nine even if select is infix:<select>?
08:02 masak hm.
08:02 masak I stand corrected -- that would work :)
08:02 nine \o/
08:04 timotimo but how do we get the right $_ in there?
08:04 masak macros.
08:04 Ven macros
08:04 timotimo oh, i thought we were saying we don't need macros
08:04 timotimo carry on, then
08:04 masak visitor macros are a kind of "we don't need macros" macros :P
08:04 nine timotimo: no, we don't need a slang for that. Visitor macros would make implementing this trivial :)
08:05 * Ven has been carrying that poor "on" around for a lot, in this functional age
08:05 timotimo neato
08:05 masak Ven: then you must be really relieved to see visitor macros.
08:05 Ven masak: I can implement "on" without visitor macros :P! just look at prelude..
08:06 masak Ven: I'm not sure I understand what you mean by `on`, then.
08:06 masak the only thing I'm not quite clear on is how best to install visitor macros in the parser.
08:06 Ven masak: http://hackage.haskell.org/packages/archive/​base/latest/doc/html/Data-Function.html#v:on :P
08:07 masak ooh
08:07 timotimo curry on
08:07 masak yeah, that reads very well
08:08 masak Ven: I'm curious -- what determines the order in which abc are allocated in the type expression `(b -> b -> c) -> (a -> b) -> a -> a -> c` ?
08:08 Ven allocated?
08:09 masak assigned?
08:09 Ven assigned, inferred?
08:09 masak I would have expected to see `(a -> a -> b) -> (c -> a) -> (c -> c -> b)`
08:09 masak basically abc picked in order of appearance, left-to-right
08:10 Ven ahhh, okay. in a very theoritical way
08:10 masak not that it matters at all -- it was just surprising to me to see b and c first
08:10 Ven (sorry, I'm writing gnuasm, so "allocated" has some meaning..)
08:11 timotimo i think it's just because the focus of the operator lies on the transformation function
08:11 timotimo and if you write it like that, the transformator function has the nice property of being a -> b
08:12 masak ah, good point
08:13 masak &
08:16 darutoko joined #perl6
08:25 MARTIMM joined #perl6
08:42 ShimmerFairy timotimo: I agree that thinking of CRLF as a grapheme cluster is a bit interesting at first, but if you think about it, don't you already treat it like one? Wouldn't it be nice if you didn't have to add a "but if CRLF, advance by *two* instead of one" anymore? :)
08:54 luiz_lha joined #perl6
08:55 timotimo hmm
08:56 brrt joined #perl6
08:57 ShimmerFairy (CRLF also has a slight bonus of being the one NFG-only grapheme just about every programmer is familiar with ☺)
08:57 ShimmerFairy m: my token foo { foo {say $/.to } }; "foo" ~~ /<foo>/
08:57 camelia rakudo-moar 8a195f: OUTPUT«3␤»
08:57 ShimmerFairy m: my token foo { {} foo {say $/.to } }; "foo" ~~ /<foo>/
08:57 camelia rakudo-moar 8a195f: OUTPUT«0␤»
08:57 ShimmerFairy Interesting bug I found just now
08:59 ShimmerFairy m: my token foo { {} foo {say $¢.pos; say $¢.MATCH.to } }; "foo" ~~ /<foo>/
08:59 camelia rakudo-moar 8a195f: OUTPUT«3␤0␤»
08:59 ShimmerFairy m: my token foo { foo {say $¢.pos; say $¢.MATCH.to } }; "foo" ~~ /<foo>/
08:59 camelia rakudo-moar 8a195f: OUTPUT«3␤3␤»
08:59 ShimmerFairy $¢ is unaffected, but for whatever reason $/ apparently gets constructed just once in a rule
09:05 lizmat messages ?
09:05 yoleaux 1 Oct 2015 23:36Z <timotimo> lizmat: i wonder if push-exactly should check for "will we reach the end?" at the beginning and then perhaps use a tiny bit better code?
09:06 broquaint joined #perl6
09:06 lizmat .tell timotimo 1. I don't expect push-exactly to be called much, 2 if it is called, it is most likely *not* yet exhausted, so adding extra code for it seems like a waste to me
09:06 yoleaux lizmat: I'll pass your message to timotimo.
09:07 aborazmeh joined #perl6
09:07 aborazmeh joined #perl6
09:12 ][Sno][ joined #perl6
09:15 n_i_c_k_ joined #perl6
09:15 krakan_ joined #perl6
09:15 kaare__ joined #perl6
09:16 inokenty1 joined #perl6
09:17 shmibs_ joined #perl6
09:17 bakedb_ joined #perl6
09:17 sftp_ joined #perl6
09:18 zacts` joined #perl6
09:18 Ven joined #perl6
09:19 frew joined #perl6
09:20 brrt good netsplit #perl6
09:20 lizmat ShimmerFairy: apart from CRLF being a single synthetic grapheme
09:20 lizmat brrt o/
09:20 brrt \o lizmat
09:20 ShimmerFairy lizmat: I don't quite follow?
09:21 mprelude joined #perl6
09:21 lizmat I have this idea of having some type of quoting language that would allow *bytes* to become synthetic graphemes
09:21 lizmat and thus allow the regex engine to be used to match binary structures
09:22 ShimmerFairy lizmat: hmm... I think a variation of the regex engine that works on Blobs would be better suited, ultimately, but an interesting idea nonetheless.
09:22 lizmat and have some sort of unpack be able to generate the right synthetics out of a binary blob
09:23 ShimmerFairy I was writing up my thoughts on the subject, but I don't think I've shared it. I'll take a look.
09:23 brrt curious but sceptical
09:23 lizmat in that way, I envision being able to match mixed text and binary structures
09:23 brrt what whould you want to do with matching binary structures?
09:23 brrt hmm, i already know of a purpose perhaps
09:23 lizmat :-)
09:23 brrt o5m files (binary xml)
09:24 brrt maybe it's a good idea
09:24 lizmat it would certainly reduce the maintenance overhead (only 1 regex engine to support)
09:25 brrt current development culture is very much built on the notion that we have to completely parse-and-extract binary files
09:25 brrt for many things that is way too much overhead
09:25 lizmat and afaics, it would not require any extra work on the regex engine, as it would just be another synthetic unicode
09:26 brrt well, one thing i wonder about is that our current regex engine is not really fast
09:27 lizmat wouldn't / shouldn't the jit take care of a lot of that ?
09:27 vvz joined #perl6
09:27 brrt yes and no.
09:27 brrt it is my opinion that rakudo frames are Too Damn Large and Too Damn Nested
09:28 ShimmerFairy lizmat: here's what I was working on, but as you can see it was left incomplete: https://gist.github.com/Shimm​erFairy/72a25f87939aab077158
09:28 lizmat http://blogs.perl.org/users/gabor_s​zabo/2015/10/vagrant-perl-developme​nt-environment-v110-released.html   # gabszab++ for including rakudo
09:28 brrt and that a lot can be gained by making them smaller if we can
09:28 brrt and that all happens so far before the JIT
09:29 brrt of course, the JIT still needs to get much better, no arguing about it
09:29 espadrine joined #perl6
09:30 brrt it's just that my utter inability to make a perl6 code Do What I Mean in terms of generating a specific moarvm frame sequence is a little disheartening
09:30 telex joined #perl6
09:31 brrt also, that is of course utterly my own problem
09:32 ShimmerFairy lizmat: as you can see, I basically think of "binary grammars" as having a somewhat limited syntax, that's only vaguely regex-like.
09:33 Ven ShimmerFairy: have you seen binary destructuring in other languages?
09:33 ShimmerFairy (fwiw I'd be quite surprised if we figured out binary data parsing before christmas. There's a reason I left pack/unpack explicitly unspecified in the S32::Stringy draft I wrote :P)
09:33 Ven (i.e. Elixir)
09:33 ShimmerFairy Ven: no, admittedly. I pretty much had just my own experiences in reading binary files (in C++ usually) when writing that gist
09:33 espadrine_ joined #perl6
09:34 ShimmerFairy The <,u8 foo bar baz> for example is from when I've read file headers with a long series of same-sized types :)
09:34 Ven ShimmerFairy: if you have a few minutes, I'd recommend looking at http://zohaib.me/binary-pa​ttern-matching-in-elixir/ . I like Elixir's syntax quite a lot
09:35 lizmat what was the incantation for profiling the setting again?
09:36 Ven ShimmerFairy: also, http://erlang.org/doc/refere​nce_manual/expressions.html (scroll down to "8.17 Bit Syntax Expressions")
09:37 pmurias_ joined #perl6
09:37 pmurias_ FROGGS: I think they just happen randomly
09:38 FROGGS pmurias: k, :/
09:38 FROGGS pmurias: and they arn't reproduceable?
09:38 FROGGS on our boxes I mean
09:39 pmurias FROGGS: I think I have seen them on my machine a few times
09:39 FROGGS well, that's something
09:39 pmurias FROGGS: they happened more often on an older MoarVM version
09:39 eiro hello
09:39 Ven o/
09:40 eiro preparing slides to present perl6, i'm searching for a perl6 class hierarchy diagram (.dot or .svg)
09:40 eiro i imagine i's available in the doc repo, anyone ?
09:41 ShimmerFairy Ven: aside from the unclear  binary - size(8)  syntax to specify length, it does look nice (looking at just the first link so far). I think the syntax I've come up with in my gist is kinda similar to it, at least :)
09:42 dalek nqp: d1fcbf0 | (Pawel Murias)++ | src/vm/js/ (3 files):
09:42 dalek nqp: [js] serialize code refs marked as static
09:42 dalek nqp: review: https://github.com/perl6/nqp/commit/d1fcbf0a3a
09:42 dalek nqp: 99a2119 | (Pawel Murias)++ | src/vm/js/bin/run_tests:
09:42 dalek nqp: [js] Pass test t/serialization/02-types.t
09:42 dalek nqp: review: https://github.com/perl6/nqp/commit/99a2119485
09:42 lizmat eiro: moritz might know
09:42 Ven ShimmerFairy: yeah, it is a bit weird, but has the nice side effect to be extensible/dynamic
09:42 lizmat eiro: I don't recall such an (up-to-date) beast to exist at the moment
09:43 lizmat we've recently had quite a shuffle of classes with the GLR and followup refactors such as the GMR
09:43 pmurias FROGGS: I might be able to reproduce the segfaults with doing make clean; make x100 times haven't cecked yet
09:43 ShimmerFairy Ven: I think something that doesn't use subtraction in a _length_ specifier would be far better, in that one case :)
09:44 timotimo brrt: i absolutely agree that our frames have to shrink a bit
09:44 yoleaux 09:06Z <lizmat> timotimo: 1. I don't expect push-exactly to be called much, 2 if it is called, it is most likely *not* yet exhausted, so adding extra code for it seems like a waste to me
09:44 timotimo brrt: do you have a clue or multiple clues what in particular could be attacked in that area?
09:44 brrt well, maybe it's a good post-6.christmas project
09:44 brrt no, i have no idea
09:45 timotimo do you think the amount of registers we have is too overheady?
09:45 brrt my suspicion is that there are many others who have a better idea
09:45 brrt actually, no, i don't think so. i've never run out of GPR registers yet in the JIT
09:46 brrt what i do think is that the new jit will need a powerful way to analyse what must go into vm virtual registers and what only has a temporary meaning
09:47 FROGGS eiro: I was under the impression that a "complete" would exist, but I can only find these: http://docs.perl6.org/images/
09:47 brrt but that's bittwiddling
09:47 * brrt lunch&
09:47 travis-ci joined #perl6
09:47 travis-ci NQP build failed. Pawel Murias '[js] Pass test t/serialization/02-types.t'
09:47 travis-ci https://travis-ci.org/perl6/nqp/builds/83272661 https://github.com/perl6/nqp/com​pare/8402ce098192...99a21194859c
09:47 travis-ci left #perl6
09:47 FROGGS eiro: ohh, look: http://docs.perl6.org/images/type-graph-Any.svg
09:48 timotimo brrt, i know there's cases where we could inline blocks but we aren't; sadly, the obvious fix causes problems.
09:48 lizmat FROGGS eiro : that's what I meant with up-to-date: EnumMap is dead  :-(
09:49 ShimmerFairy Ven: correct me if I'm wrong, but the big problem I see in the syntax for Elixir is that there's no room for alternations or anything; a parser for z-machine files, for example, would benefit greatly from being able to use multis for different header versions.
09:49 FROGGS lizmat: well, it is less then a month old... so it can be updated quickly I guess
09:49 Ven ShimmerFairy: that's right. you have to do it in several "times". extract it once, "switch" (case) on it, and each case can do its thing differently
09:50 lizmat FROGGS: maybe it just needs to be regenned ?
09:50 FROGGS lizmat: most likely
09:51 dalek Heuristic branch merge: pushed 16 commits to rakudo/curli by lizmat
09:51 eiro awesome! thanks lizmat and FROGGS
09:51 lizmat FROGGS: wasn't there a way to profile the settings ?
09:52 FROGGS you can --profile-compile a script
09:53 FROGGS but if you'd --profile the setting, you'd get a profile which is too big to load it
09:53 lizmat :-(
09:54 ShimmerFairy Ven: also, I didn't spot anything similar to my admittedly weird <&& ...> idea :P
09:54 Ven *g*
09:58 leont joined #perl6
10:01 Alina-malina joined #perl6
10:05 FROGGS .tell moritz rakudo (via rakudobrew) needs to be upgraded to unbreak htmlify of the docs... I'd almost do it but the rakudobrew seems to be globally used... can I just continue?
10:05 yoleaux FROGGS: I'll pass your message to moritz.
10:09 moritz FROGGS: yes, go ahead
10:09 yoleaux 10:05Z <FROGGS> moritz: rakudo (via rakudobrew) needs to be upgraded to unbreak htmlify of the docs... I'd almost do it but the rakudobrew seems to be globally used... can I just continue?
10:09 dalek rakudo/nom: d028dae | lizmat++ | src/core/Any-iterable-methods.pm:
10:09 dalek rakudo/nom: More whitespace correction for readability
10:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d028daed9c
10:09 abaugher joined #perl6
10:22 _itz what was the reason the REPL used linenoise rather than linedit or readline?
10:22 _itz s/linedit/editline
10:23 FROGGS m: $_ = [42]; say [.[0].Num]
10:23 camelia rakudo-moar 8a195f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/BsayF9F0wp␤Unsupported use of . to concatenate strings; in Perl 6 please use ~␤at /tmp/BsayF9F0wp:1␤------> 3$_ = [42]; say [.[7⏏0].Num]␤»
10:23 FROGGS star-m: $_ = [42]; say [.[0].Num]
10:23 camelia star-m 2015.03: OUTPUT«42␤»
10:23 FROGGS :/
10:25 FROGGS m: $_ = [42]; say [.[0].Num] # TimToady: was that you?
10:25 camelia rakudo-moar 8a195f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/AR78nvpnh1␤Unsupported use of . to concatenate strings; in Perl 6 please use ~␤at /tmp/AR78nvpnh1:1␤------> 3$_ = [42]; say [.[7⏏0].Num] # TimToady: was that you?␤»
10:25 lizmat m: $_ = [42]; say [ . [0].Num]
10:25 camelia rakudo-moar 8a195f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/s9T_gkfKtZ␤Unsupported use of . to concatenate strings; in Perl 6 please use ~␤at /tmp/s9T_gkfKtZ:1␤------> 3$_ = [42]; say [ . [7⏏0].Num]␤»
10:25 lizmat m: $_ = [42]; say [. [0].Num]
10:25 camelia rakudo-moar 8a195f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0YBcEBySVa␤Unsupported use of . to concatenate strings; in Perl 6 please use ~␤at /tmp/0YBcEBySVa:1␤------> 3$_ = [42]; say [. [7⏏0].Num]␤»
10:26 FROGGS m: $_ = [42]; say .[0].Num
10:26 camelia rakudo-moar 8a195f: OUTPUT«42␤»
10:28 _itz http://www.ulalaunch.com/webcast.aspx
10:34 aborazmeh joined #perl6
10:34 aborazmeh joined #perl6
10:35 orbusbak joined #perl6
10:36 sjn_phone_ joined #perl6
10:39 travis-ci joined #perl6
10:39 Ven joined #perl6
10:39 travis-ci Rakudo build passed. Elizabeth Mattijsen 'More whitespace correction for readability'
10:39 travis-ci https://travis-ci.org/raku​do/rakudo/builds/83275894 https://github.com/rakudo/rakudo/c​ompare/8a195fa2c209...d028daed9c32
10:39 travis-ci left #perl6
10:41 timbunce_ joined #perl6
10:46 bjz joined #perl6
10:50 sjn_phone_ left #perl6
11:05 aborazmeh joined #perl6
11:05 aborazmeh joined #perl6
11:06 dalek rakudo/nom: e19a521 | lizmat++ | src/core/Any-iterable-methods.pm:
11:06 dalek rakudo/nom: Some comments + code legibility
11:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e19a5218c1
11:08 lizmat .tell jnthn could you look at https://gist.github.com/li​zmat/9f95a6f75f27cebecd65 and see if I made any obvious mistakes there ?
11:08 yoleaux lizmat: I'll pass your message to jnthn.
11:08 lizmat .tell jnthn it compiles/builds ok, seems to handle simple cases ok, but causes sever spectest fallout in weird ways
11:08 yoleaux lizmat: I'll pass your message to jnthn.
11:08 lizmat .tell such as Cannot invoke this object (REPR: Uninstantiable)
11:08 yoleaux lizmat: I'll pass your message to such.
11:09 lizmat .tell jnthn documentation on nqp::handle would also be appreciated  :-)
11:09 yoleaux lizmat: I'll pass your message to jnthn.
11:19 abaugher joined #perl6
11:26 kid51 joined #perl6
11:29 larion joined #perl6
11:29 pink_mist lizmat: "such as Cannot invoke.." wasn't sent to jnthn
11:30 lizmat pink_mist: thanks for noticing
11:32 masak ShimmerFairy: did you submit the .to thing?
11:32 ShimmerFairy masak: yes, and it isn't .to specifically, but $/ in general :)
11:35 masak *nod*
11:39 lizmat .tell jnthn is it correct that we cannot .Slip a container ?
11:39 yoleaux lizmat: I'll pass your message to jnthn.
11:56 sufrostico joined #perl6
11:58 ely-se joined #perl6
11:58 ely-se On a scale from nonexisting to stable, where is Perl 6 now? :p
12:00 mr_ron joined #perl6
12:01 nine I'd say we're very well into the third 80 %
12:02 ely-se neat
12:04 masak it's not stable for all uses I can imagine for it, but for quite a lot of the important ones.
12:05 * pink_mist is quite unsure what 'the third' means in nine's sentence ... but then, that may have been intended
12:06 FROGGS pink_mist: in software developement you usually complete a project up to 80%, and then the rest takes also the same amount as time so you call it the second 80%
12:06 pink_mist ohhh, neat =)
12:06 * masak wonders if and when we'll hit a fourth 80%
12:07 ShimmerFairy I'm waiting for the sixth 80% :P
12:07 FROGGS the third 80% are perhaps after that hump
12:08 nine pink_mist: it was an allusion to Larry's "We're done with about 80% of the design ­ now we're working on the second 80%"
12:11 ely-se 20% to go until world domination
12:13 Ven joined #perl6
12:15 maddingu1 joined #perl6
12:16 masak question: I have two variables, $x and $y. I want to pass either just `$x` or `$x, $y` to a function &foo, passing $y iff $y is defined
12:16 masak the way to do this pre-GLR used to be `$x, |$y`
12:16 masak this does not seem to work anymore. what's the new way? :)
12:17 masak m: sub foo($x, $y?) { say $y.defined ?? "got \$y" !! "no \$y" }; foo(1); foo(1, 2)
12:17 camelia rakudo-moar e19a52: OUTPUT«no $y␤got $y␤»
12:18 masak m: sub foo($x, $y?) { say $y.defined ?? "got \$y" !! "no \$y" }; for 5, Any -> $y { foo(1, |$y) }
12:18 camelia rakudo-moar e19a52: OUTPUT«got $y␤no $y␤»
12:18 masak hm.
12:18 bakedb joined #perl6
12:18 masak seems it *does* work.
12:18 masak ok, back to the drawing board. something else is wrong with my program...
12:19 nine m: sub foo($x, $y?) { say $y.defined ?? "got \$y" !! "no \$y" }; for 5, Any -> $y { foo(1, $y) }
12:19 camelia rakudo-moar e19a52: OUTPUT«got $y␤no $y␤»
12:19 nine masak: no, your test is broken
12:19 nine masak: it does not differ between Any being passed as $y and no $y at all
12:21 nine m: multi sub foo($x, $y) { say "y: $y"; }; multi sub foo($x) { say "no y"; }; my $x = 1; for 2, Any -> $y { foo($x, |($y.defined ?? $y !! Empty)); }
12:21 camelia rakudo-moar e19a52: OUTPUT«y: 2␤no y␤»
12:22 nine ^^^ would be my first take
12:22 masak yeah
12:22 masak seems I was actually using Nil, not Any
12:23 nine Which is pretty much exactly what I would do in Perl 5
12:23 masak m: my $x = Empty; say $x ~~ Empty
12:23 camelia rakudo-moar e19a52: OUTPUT«True␤»
12:26 cognominal joined #perl6
12:28 dalek rakudo/nom: e3717ef | lizmat++ | src/core/List.pm:
12:28 dalek rakudo/nom: Make List.keys many times faster on finite lists
12:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e3717ef133
12:29 lizmat and that includes Arrays  :-)
12:30 nine lizmat: I love it when two lines of code improve performance a lot :)
12:30 Ven joined #perl6
12:31 lizmat :-)
12:31 lizmat cycling&
12:31 masak m: say <a b c>.map({ (state $)++ })
12:31 camelia rakudo-moar e19a52: OUTPUT«(0 1 2)␤»
12:31 masak m: say <a b c>.map({ $++ })
12:31 camelia rakudo-moar e19a52: OUTPUT«(0 1 2)␤»
12:48 cognominal m: my $a:foo<bar> =  42; say $a
12:48 camelia rakudo-moar e19a52: OUTPUT«5===SORRY!5=== Error while compiling /tmp/HHa8yEbkBG␤Variable '$a' is not declared␤at /tmp/HHa8yEbkBG:1␤------> 3my $a:foo<bar> =  42; say 7⏏5$a␤»
12:48 cognominal m: my $a:foo<bar> =  42; say $a:foo<bar>
12:48 camelia rakudo-moar e19a52: OUTPUT«5===SORRY!5=== Error while compiling /tmp/UqbULlNjB1␤Variable '$a' is not declared␤at /tmp/UqbULlNjB1:1␤------> 3my $a:foo<bar> =  42; say 7⏏5$a:foo<bar>␤»
12:48 olinkl joined #perl6
12:49 rurban joined #perl6
12:53 travis-ci joined #perl6
12:53 travis-ci Rakudo build errored. Elizabeth Mattijsen 'Make List.keys many times faster on finite lists'
12:53 travis-ci https://travis-ci.org/raku​do/rakudo/builds/83292961 https://github.com/rakudo/rakudo/c​ompare/e19a5218c137...e3717ef1331c
12:53 travis-ci left #perl6
12:56 diana_olhovik_ joined #perl6
12:56 ely-se joined #perl6
13:12 dalek perl6-roast-data: cf49fa5 | coke++ | / (9 files):
13:12 dalek perl6-roast-data: today (automated commit)
13:12 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/cf49fa557d
13:12 dalek perl6-roast-data: 5d91526 | coke++ | / (9 files):
13:12 dalek perl6-roast-data: today (automated commit)
13:12 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/5d91526c1b
13:13 dalek rakudo-star-daily: 752e2e8 | coke++ | log/ (9 files):
13:13 dalek rakudo-star-daily: today (automated commit)
13:13 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/752e2e838d
13:13 dalek rakudo-star-daily: c3de848 | coke++ | log/ (9 files):
13:13 dalek rakudo-star-daily: today (automated commit)
13:13 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/c3de84874a
13:14 [Coke] (someone pointed out I can just ignore that ssh-agent and start up a new one)
13:59 pyrimidi_ joined #perl6
13:59 ely-se joined #perl6
14:04 skids joined #perl6
14:06 Skarsnik joined #perl6
14:10 tokuhiro_ joined #perl6
14:11 Skarsnik Hm, I have a weird issue with DBIis (using Pg). When I use fetchrow_hashref. The hash is broken in a weird way. like the value don't hold type ($value.WHAT warn and return nothing). I can't even write $hashref.perl http://pastebin.com/Kr15biPh
14:11 yoleaux 1 Oct 2015 06:33Z <FROGGS> Skarsnik: You'd declare the CStruct as 'class Foo is repr<CStruct> { has int32 $.bar }' and then 'say nativecast(Foo, $pointer)'
14:14 moritz Skarsnik: try $value.^name instead of .WHAT
14:14 domidumont joined #perl6
14:18 Skarsnik hm, it's all str type. Should it be Str that $hashref.perl could work?
14:19 masak could someone with Sherlock Holmes-like faculties have a look at a weird error in 007? https://gist.github.com/masak/56e03f67ab6f030791e7
14:24 masak I realize I'm not following error reporting best practices here, since the debug statements, and the refactor that causes the bug, are both local and unpushed
14:24 masak but maybe someone can spot something obvious that I'm missing?
14:25 iH2O joined #perl6
14:26 * masak looks again and goes "...oh"
14:28 iH2O left #perl6
14:30 skids joined #perl6
14:33 masak m: sub f { my &b = { return 5 }; sub g { &b() }; g(); say "dead code" }; f()
14:33 camelia rakudo-moar e3717e: ( no output )
14:33 masak m: sub f { my &b = { return 5 }; sub g { &b() }; g(); say "dead code" }; say f()
14:33 camelia rakudo-moar e3717e: OUTPUT«5␤»
14:34 ilmari masak: an escape continuation!
14:34 ilmari s/an/a wild/; s/!/appears!/
14:34 masak so here's the thing: when we enter &f, the lexical sub &g gets a "refresh" in that its OUTER switches from &f's static frame/lexpad to the runtime one that was created when entering &f
14:34 masak does someone know where this happens in Rakudo? I'm curious about the mechanism.
14:36 masak or maybe it's all handled in nqp?
14:36 reneeb joined #perl6
14:38 masak or down on the Moar level, even?
14:39 masak ilmari: that may be a way to think about it. in my mind, it's just "return binds to subs, not blocks"
14:45 masak in some sense, a sub must have knowledge of what blocks it contains, so that it can go and update the OUTER on all of them.
14:47 timotimo hey Skarsnik
14:47 timotimo have you found out anything about what's wrong yet?
14:48 timotimo m: my Str $foo = "hello"; say $foo.WHAT
14:48 camelia rakudo-moar e3717e: OUTPUT«(Str)␤»
14:48 timotimo m: my Str $foo = "hello"; say $foo.WHAT ~ ": value";
14:48 camelia rakudo-moar e3717e: OUTPUT«Use of uninitialized value of type Str in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed.  in block <unit> at /tmp/FNbhJMawSi:1␤: value␤»
14:48 timotimo you're using a rakudo version that's a bit older and doesn't yet have this extra bit of text telling you what you could do instead
14:49 moritz m: my Str $foo = "hello"; say $foo.^name ~ ": value";
14:49 camelia rakudo-moar e3717e: OUTPUT«Str: value␤»
14:49 timotimo the thing is, a regular "say" on the .WHAT will call .gist on it, which gives you the helpful output
14:49 masak food &
14:49 timotimo but the ~ operator will call .Str on it, which will give you that warning, because it indicates you've likely got a logic error somewhere
14:49 timotimo as in: expected a defined string in a string concatenation, but got an undefined string instead
14:49 Skarsnik that pretty weird. it does not evaluate the concatenation first?
14:50 timotimo it does
14:50 timotimo the concatenation is what calls .Str
14:50 timotimo and that explodes
14:50 Skarsnik m: my Str $foo; $foo.WHAT.Str;
14:50 camelia rakudo-moar e3717e: OUTPUT«Use of uninitialized value of type Str in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed.  in block <unit> at /tmp/KO0jNKXaOJ:1␤»
14:50 Skarsnik ok
14:51 timotimo the other thing is a bit more puzzling; the thing with $hashref
14:51 Skarsnik all type are str not Str. probably the issue?
14:51 timotimo what types?
14:51 timotimo i don't see any types there :\
14:52 timotimo oh, that's what that loop returns?
14:52 Skarsnik $value.^name give me str
14:52 timotimo huh, interesting
14:53 timotimo i hadn't realized we can pass that stuff along in hashes without getting a box built for it
14:54 Skarsnik I expected DBIish to give me the type associate with the field too x)
14:55 duncan_dmg joined #perl6
14:55 timotimo to figure that out, you'll probably have to dig into the code
14:56 timotimo https://github.com/perl6/DBIish​/blob/master/lib/DBDish/Pg.pm6
15:00 timotimo it seems like Pg is just calling PQgetvalue and just works with strings?
15:01 timotimo there's probably a way to ask pq what type is going to come up and then use a different getvalue function
15:02 Skarsnik what does Z does in https://github.com/perl6/DBIi​sh/blob/master/lib/DBDish.pm6 fetchcall-hash
15:02 timotimo did you know you can click on the line numbers and the url will change to include that line number?
15:02 timotimo it's the zip metaoperator
15:03 timotimo that line is responsible for adding an empty array as the value for all of names' entries as the keys
15:03 timotimo that sentence didn't grammar :?
15:03 timotimo here's an example:
15:03 timotimo m: say <foo bar baz> Z=> 1, 2, 3
15:03 camelia rakudo-moar e3717e: OUTPUT«(foo => 1 bar => 2 baz => 3)␤»
15:03 timotimo m: my %res = <foo bar baz> Z=> 1, 2, 3; say %res.perl
15:03 camelia rakudo-moar e3717e: OUTPUT«{:bar(2), :baz(3), :foo(1)}␤»
15:04 timotimo the thing is: Z will stop at the shorter of the two sequences on both sides
15:04 timotimo that's why it says [] xx * on the RHS
15:04 timotimo that's an infinite stream of new arrays
15:04 timotimo so that the right hand side is never responsible for stopping the sequence
15:04 timotimo does thath elp?
15:04 Woodi hi #perl6 :)
15:04 timotimo greetings woodi
15:07 Skarsnik ..should the Pg module convert the str to Str? since str are just native type?
15:07 Woodi for me LINQ is a bit baroque and unnecesary mental context switch. an realy how it works ? it already have some ActivRecord fetched from database and just doing .grep( $_ < $a )  or it translates into db engine calls and then fetches things ?
15:07 timotimo AFAIK it can also generate db engine calls
15:08 timotimo Skarsnik: good question; as i said, i didn't our hashes can just hold str objects :)
15:09 Skarsnik there is a LINQ equivelent in perl6?
15:09 timotimo people are suggesting it and discussing how best it could be implemented
15:10 Skarsnik well having a sql like syntax to search in your own container is nice
15:11 timotimo hmm. it could be that the "also handle self-referential data structures in .perl" code that was added ~a month ago doesn't handle native str and friends well
15:11 timotimo i haven't looked at that code at all yet
15:12 timotimo m: my str $foobar; say $foobar.WHERE
15:12 camelia rakudo-moar e3717e: OUTPUT«139691431830272␤»
15:12 timotimo hm, that's not it at least
15:12 timotimo m: my str $foobar; say $foobar.perl
15:12 camelia rakudo-moar e3717e: OUTPUT«""␤»
15:13 timotimo m: my str $foobar; say $foobar.WHICH
15:13 camelia rakudo-moar e3717e: OUTPUT«Str|␤»
15:13 timotimo m: my str $foobar = "hello"; say $foobar.WHICH
15:13 camelia rakudo-moar e3717e: OUTPUT«Str|hello␤»
15:13 timotimo m: my str $foobar = "hello"; say $foobar.WHERE
15:13 camelia rakudo-moar e3717e: OUTPUT«140081669525640␤»
15:13 timotimo hmm.
15:14 Skarsnik the Pg module has a method to get the type of the column, but it's not used https://github.com/perl6/DBIish/b​lob/master/lib/DBDish/Pg.pm6#L307
15:14 timotimo ah, i see
15:14 timotimo hmm.
15:15 Skarsnik should I fill an issue on the module page?
15:15 timotimo at the very least, that'll be interesting for tracking things
15:17 Skarsnik btw, how can I call a MyClass.New(%hash) and the hash is the list of named parameter? I wanted to fill my class directly like that x) (since the table has the same col names)
15:18 PerlJam Skarsnik: |%hash
15:18 gfldex m: my %h{'a', 'b', 'c'}; %h.perl.say;
15:18 camelia rakudo-moar e3717e: OUTPUT«(my Any % = )␤»
15:18 gfldex m: my %h{'a', 'b', 'c'}; %h.perl.say; my %welp{<a b c>}; %welp.perl.say;
15:18 camelia rakudo-moar e3717e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/53ni2meJTE␤Invalid hash shape; type expected␤at /tmp/53ni2meJTE:1␤------> 3b', 'c'}; %h.perl.say; my %welp{<a b c>}7⏏5; %welp.perl.say;␤    expecting any of:␤        constraint␤»
15:18 gfldex is that GLR fallout?
15:19 gfldex m: my %h{'a'..'c'}; %h.perl.say;
15:19 timotimo since when do we support %h{'a', 'b', 'c'} ?!?
15:19 camelia rakudo-moar e3717e: OUTPUT«===SORRY!===␤Cannot find method 'value'␤»
15:19 moritz Skarsnik: MyClass.new(|%hash)
15:19 Skarsnik obviously that does not work :) Type check failed in assignment to '$!id'; expected 'Int' but got 'str'
15:20 moritz Skarsnik: well, the hash must be built correctly first :-)
15:20 moritz even Perl 6 does not have a "do magic, make it work" command
15:22 timotimo moritz: well, DBIish is allegedly building it wrong :)
15:22 [Coke] m: do .WHAT, now
15:22 camelia rakudo-moar e3717e: ( no output )
15:22 timotimo m: my str $thing = "hi"; my %foo; %foo{'me'} = $thing; say %foo{'me'}.WHAT
15:22 camelia rakudo-moar e3717e: OUTPUT«(Str)␤»
15:23 moritz timotimo: is it "let's blame the library, DWIM, dammit" time?
15:23 timotimo haha
15:23 Skarsnik in this case, yes x)
15:23 PerlJam I didn't think DBIish knew much about how to translate "stuff in database" into "properly typed stuff in Perl 6"
15:23 gfldex m: my %h{'a', 'b', 'c'}; %h.perl.say; %h<b> = 42; %h.gist.say; %h<c> = 666; %h.gist.say;
15:23 camelia rakudo-moar e3717e: OUTPUT«(my Any % = )␤b => 42␤b => 42, c => 666␤»
15:23 gfldex timotimo: don't worry, it isnt really supported :)
15:24 gfldex nvm, my bad
15:24 gfldex m: my %h{'a', 'b', 'c'}; %h.perl.say; %h<b> = 42; %h.gist.say; %h<e> = 666; %h.gist.say;
15:24 camelia rakudo-moar e3717e: OUTPUT«(my Any % = )␤b => 42␤b => 42, e => 666␤»
15:24 timotimo shouldn't it NYI in that case?
15:25 Skarsnik how to cast str to Str?
15:25 gfldex there are no spec tests that i could find
15:25 PerlJam gfldex: I'd expect consistent failure rather than doing something that appears to work but doesn't
15:25 timotimo m: my Str $foo; my str $bar = "hello"; $foo = $bar; say $foo.WHAT
15:25 camelia rakudo-moar e3717e: OUTPUT«(Str)␤»
15:25 timotimo m: say (my str $foo = "hi").Str.WHAT
15:25 camelia rakudo-moar e3717e: OUTPUT«(Str)␤»
15:25 timotimo m: say (my str $foo = "hi").WHAT
15:25 camelia rakudo-moar e3717e: OUTPUT«(Str)␤»
15:25 timotimo ...
15:26 timotimo i'm not sure how to even pass around a str without it becoming a Str automatically
15:26 Skarsnik let's see
15:27 gfldex i believe to remember jnthn write something about unicode Str and str. You may want to ask him.
15:27 timotimo also, are you on latest rakudo?
15:27 timotimo this is less about unicode and more about boxing
15:27 timotimo str and Str behave the same way with regards to NFG and unicode and such
15:27 Skarsnik :m my %hash; my str $a: %hash<b> = $a; say %hash.perl;
15:27 Skarsnik m: my %hash; my str $a: %hash<b> = $a; say %hash.perl;
15:27 camelia rakudo-moar e3717e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/GTiNacak0L␤Confused␤at /tmp/GTiNacak0L:1␤------> 3my %hash; my str $a:7⏏5 %hash<b> = $a; say %hash.perl;␤    expecting any of:␤        colon pair␤»
15:28 Skarsnik m: my %hash; my str $a; %hash<b> = $a; say %hash.perl;
15:28 camelia rakudo-moar e3717e: OUTPUT«{:b("")}␤»
15:28 Skarsnik m: my %hash; my str $a; %hash<b> = $a; say %hash<b>.^name;
15:28 camelia rakudo-moar e3717e: OUTPUT«Str␤»
15:28 [Coke] masak: http://www.johnhodgman.com/post/130332715278/​terrible-wordplay-in-two-languages-at-loblaws
15:30 pink_mist lol
15:30 Skarsnik so why PG give me str?!  https://github.com/perl6/DBIish/b​lob/master/lib/DBDish/Pg.pm6#L323  %results{$row{$key}} = $row; should convert to Str ?
15:31 timotimo what version of rakudo are you on?
15:32 timotimo only thing i can imagine would be the use of := somewhere, but it shouldn't be that infectious
15:32 Skarsnik This is perl6 version 2015.06-313-g43e4bf6 built on MoarVM version 2015.06-98-gf22142b
15:33 timotimo that points at a commit from july
15:33 timotimo that's quite old
15:33 PerlJam Skarsnik: you might want to use a post-GLR version of rakudo
15:34 gfldex i rakudobugged both shaped hash cases as #126251
15:35 Skarsnik ah yes. %hash{$key} = $value; still give me str in my version
15:35 timotimo if that's the case ... case closed :)
15:36 timotimo no need to try to debug a multiple months out of date rakudo
15:37 Skarsnik still I would have want the real type of the field x)
15:37 timotimo that's the next step :)
15:37 Skarsnik but it probably give me issue with pgarray since the module has nothing to handle them
15:38 timotimo in that case you can just NYI
15:39 synbot6 joined #perl6
15:39 Skarsnik interesting writing for $hashref.kv -> Str $key, Str $value  keep $value and $key as str too
15:41 PerlJam well, that's supposed to be a constraint, not a coercion.
15:42 Skarsnik should it fail?
15:42 timotimo no
15:42 timotimo it should update your rakudo to the newest version :)
15:44 Skarsnik m: class MyClass{}; my @array = 1..5; say $p.^name for @array -> MyClass $p;
15:44 camelia rakudo-moar e3717e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/JkNVvFAhqy␤Variable '$p' is not declared␤at /tmp/JkNVvFAhqy:1␤------> 3class MyClass{}; my @array = 1..5; say 7⏏5$p.^name for @array -> MyClass $p;␤»
15:44 timotimo the for form with an arrow doesn't allow you to put the code in front
15:44 [Sno] joined #perl6
15:44 timotimo because the arrow is actually just part of the pointy block syntax
15:44 timotimo which goes -> signature { block }
15:45 Skarsnik m: class MyClass{}; my @array = 1..5; for @array -> MyClass $p {say $p.^name ~ $p};
15:45 camelia rakudo-moar e3717e: OUTPUT«Type check failed in binding $p; expected MyClass but got Int␤  in block <unit> at /tmp/rwChHMgrcj:1␤␤»
15:46 Skarsnik should I just rerun rakudobrew build moar ?
15:47 Skarsnik How I type the value and key of a hash btw?
15:47 PerlJam Skarsnik: I would "rakudobrew self-upgrade; rakudobrew nuke moar; rakudobrew build moar" if I were you
15:48 Skarsnik thx :)
15:51 Skarsnik maybe it will fix some issue I had with the XML module x)
15:53 reneeb2 joined #perl6
15:55 lichtkind joined #perl6
15:58 loveJesus_ joined #perl6
16:01 duncan_dmg joined #perl6
16:07 lichtkind_ joined #perl6
16:07 timotimo the GLR changed a lot of things around
16:07 timotimo and modules were updated to work with the new glR
16:08 timotimo so if you've fetched a recent version of some module it'll expect post-GLR semantics
16:08 araujo_ joined #perl6
16:08 TimToady m: say ({ [+] @_ } ∘ *.map(* * 2))(1..10)
16:08 camelia rakudo-moar e3717e: OUTPUT«110␤»
16:10 * Ven really loves that *g
16:10 PerlJam When did that get added?
16:10 [Coke] in the past week or so
16:10 PerlJam cool
16:10 araujo_ joined #perl6
16:12 tony-o perl6-bench works with GLR now too
16:13 araujo_ joined #perl6
16:13 skids joined #perl6
16:14 tony-o Skarsnik: which XML module
16:15 domidumont joined #perl6
16:15 araujo_ joined #perl6
16:15 FROGGS[tab] joined #perl6
16:16 Skarsnik XML. I had weird behavior with elements. like :SINGLE always giving me False or sometime it just die when finding the right element
16:17 Skarsnik I never managed to replicate the error with simple test x)
16:19 timotimo m: /foo/
16:19 camelia rakudo-moar e3717e: OUTPUT«Method 'match' not found for invocant of class 'Any'␤  in block <unit> at /tmp/OKYsJJcwHN:1␤␤»
16:19 timotimo m: $_ = "hello"; /foo/
16:19 camelia rakudo-moar e3717e: ( no output )
16:19 timotimo m: grep { /foo/ }, <bar baz foobar barfoo foo>;
16:19 camelia rakudo-moar e3717e: OUTPUT«Method 'match' not found for invocant of class 'Any'␤  in block <unit> at /tmp/fh8XtssGPB:1␤␤»
16:19 timotimo m: grep -> $_ { /foo/ }, <bar baz foobar barfoo foo>;
16:19 camelia rakudo-moar e3717e: OUTPUT«Method 'match' not found for invocant of class 'Any'␤  in block <unit> at /tmp/qKXkIpcWVl:1␤␤»
16:20 timotimo m: grep -> $_ { .say }, <bar baz foobar barfoo foo>;
16:20 camelia rakudo-moar e3717e: OUTPUT«bar␤baz␤foobar␤barfoo␤foo␤»
16:20 timotimo the what now?
16:20 timotimo m: grep -> $_ { m/foo/ }, <bar baz foobar barfoo foo>;
16:20 camelia rakudo-moar e3717e: ( no output )
16:20 timotimo m:say  grep -> $_ { m/foo/ }, <bar baz foobar barfoo foo>;
16:20 timotimo m: say grep -> $_ { m/foo/ }, <bar baz foobar barfoo foo>;
16:20 camelia rakudo-moar e3717e: OUTPUT«(foobar barfoo foo)␤»
16:20 AlexDaniel joined #perl6
16:21 timotimo i should look for the code that used to support this
16:22 timotimo m: $_ = "hello"; say /foo/
16:22 camelia rakudo-moar e3717e: OUTPUT«/foo/␤»
16:22 timotimo right
16:22 moritz no, it should be fixed
16:23 moritz given 'foo' { say !/o/ };
16:23 moritz m: given 'foo' { say !/o/ };
16:23 camelia rakudo-moar e3717e: OUTPUT«Method 'match' not found for invocant of class 'Any'␤  in block <unit> at /tmp/MOXI6h1c1X:1␤␤»
16:24 lichtkind_ i got strange warning with rakudo
16:24 timotimo fixed? as in: a bare regex like that is now a match against $_?
16:24 timotimo or maybe used to be?
16:24 lichtkind joined #perl6
16:25 FROGGS joined #perl6
16:25 geekosaur used to be
16:25 timotimo ah
16:26 timotimo i hadn't realized
16:26 lichtkind_ used heredocs and it said: asked to remove 20 spaces but shortst indent is 16 spaces in any trim_heredoc at ...
16:27 timotimo why is that strange?
16:27 timotimo can you paste the exact code, please?
16:28 FROGGS o/
16:30 xfix joined #perl6
16:30 xfix joined #perl6
16:30 Skarsnik FROGGS, I tried your nativecall thing with CStruct and CPointer. but I don't know if it work well or I miss type a struct to have the right fields size
16:31 Skarsnik *nativecast
16:37 Skarsnik PerlJam, erf that nuke all panda and installed modules :(
16:38 moritz lichtkind_: each line in a heredoc must be at indented at least as much as the end delimiter
16:39 lichtkind_ moritz yes i seen now what END triggeres
16:39 lichtkind_ btw you will create that repo now?
16:40 timotimo lichtkind has ways to make you
16:42 zacts joined #perl6
16:46 philh joined #perl6
16:52 lichtkind_ i dont have the rights and we already talkked about it
16:53 timotimo just the word order in the sentence made it sound like you're commanding, or threatening
16:53 timotimo it was much more threatening-sounding when i didn't see the ? at the end
16:54 lichtkind_ sure i will stretch my hand through the wire and will smash moritz
16:55 timotimo hah
16:56 TimToady hmm, trying to rakudobrew build moar on my server box (Linux Mint), and I get: Can't compile simple gcc probe, so something is badly wrong at build/probe.pm line 92.
16:57 ilmari TimToady: apt-get install build-essential
16:57 ilmari (if I remember correctly that mint is based on ubuntu)
16:57 tony-o better not be slangin perl6 as root, TimToady
16:57 TimToady thanks
16:58 El_Che TimToady: the cool kids use rakudobrew :)
16:58 tony-o El_Che: that's why he's using it
16:58 TimToady I guess we upgraded, so we lost our build-essentials at some point
16:59 El_Che tony-o: TimToady is a cool kid :)
16:59 * TimToady just wants to make sure it all works before my talk on Monday
16:59 TimToady s/my/his/
16:59 tony-o that was a strange 2nd person sentence
16:59 FROGGS m: [.say]
16:59 camelia rakudo-moar e3717e: OUTPUT«(Any)␤»
17:00 FROGGS m: $_ = [42]; say [.[0].Num] # TimToady: that currently breaks rebuilding docs.perl6.org
17:00 camelia rakudo-moar e3717e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/T5OUQY3Vku␤Unsupported use of . to concatenate strings; in Perl 6 please use ~␤at /tmp/T5OUQY3Vku:1␤------> 3$_ = [42]; say [.[7⏏0].Num] # TimToady: that currently break␤»
17:01 FROGGS I can bisect it, but a hint would be nice :o)
17:01 FROGGS is this about the precedence changes of dot?
17:01 TimToady presumably, or at least related
17:02 FROGGS k
17:02 TimToady m: $_ = [42]; say [Num(.[0])]
17:02 camelia rakudo-moar e3717e: OUTPUT«[42]␤»
17:02 duncan_dmg left #perl6
17:03 FROGGS : $_ = [42]; say [.[0]]
17:03 FROGGS m: $_ = [42]; say [.[0]]
17:03 camelia rakudo-moar e3717e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Z61I7SBUou␤Unsupported use of . to concatenate strings; in Perl 6 please use ~␤at /tmp/Z61I7SBUou:1␤------> 3$_ = [42]; say [.[7⏏0]]␤»
17:03 FROGGS m: $_ = [42]; say [(.[0])]
17:03 camelia rakudo-moar e3717e: OUTPUT«[42]␤»
17:03 TimToady m: $_ = [42]; say [42.Num]
17:03 camelia rakudo-moar e3717e: OUTPUT«[42]␤»
17:04 TimToady probably a backtrack that is trying to determine if you used an infix where a term was expected
17:06 FROGGS since I dont make progress with the other stuff I started I might look into this one tonight
17:07 TimToady ah, it's trying to parse [.[0]] as a reduce
17:07 FROGGS thanks for the scalar containers :o)  (we dont have pointers so...)
17:08 TimToady m: say [.[0]]
17:08 camelia rakudo-moar e3717e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/pBoE_ggFB9␤Unsupported use of . to concatenate strings; in Perl 6 please use ~␤at /tmp/pBoE_ggFB9:1␤------> 3say [.[7⏏0]]␤»
17:08 TimToady m: say [ .[0] ]
17:08 camelia rakudo-moar e3717e: OUTPUT«[(Any)]␤»
17:08 FROGGS ohh
17:12 TimToady testing fix
17:13 FROGGS TimToady++
17:13 * FROGGS looks at RT
17:16 araujo joined #perl6
17:22 lichtkind_ btw thanks moritz :)
17:23 lichtkind_ moritz: and please create "problem_solver_tutorial"
17:27 araujo joined #perl6
17:31 moritz lichtkind_: what description should I use?
17:35 moritz lichtkind_: anyway, repo created. Have fun!
17:35 lichtkind_ thanks i still formulate description
17:35 lichtkind_ will post in a minute
17:36 lichtkind_ extensive Perl 6 tutorial, which builds an application, has parallel Perl 5 tutorial under ...
17:36 lichtkind_ the link i have to create since current version is just German
17:36 lichtkind_ and a bit outtated
17:39 dalek roast: 647e449 | TimToady++ | S03-metaops/ (6 files):
17:39 dalek roast: make sure . doesn't try to work with metaops
17:39 dalek roast: review: https://github.com/perl6/roast/commit/647e44955d
17:39 lichtkind joined #perl6
17:40 dalek rakudo/nom: ef814c3 | TimToady++ | src/Perl6/Grammar.nqp:
17:40 dalek rakudo/nom: suppress use of . within metaops
17:40 dalek rakudo/nom:
17:40 dalek rakudo/nom: In particular, reduce must backtrack to an array composer.  The rest
17:40 dalek rakudo/nom: of the metaops must just fail to parse.
17:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ef814c33bb
17:41 timbunce_ left #perl6
17:46 Peter_R joined #perl6
17:59 TEttinger joined #perl6
18:03 TimToady we should have, for every special-case optimization, a test that it's still worth doing, since the general case may someday get optimized to be as good as the special case, and then we will want to remove the special case as mere bloat
18:03 travis-ci joined #perl6
18:03 travis-ci Rakudo build passed. TimToady 'suppress use of . within metaops
18:03 travis-ci https://travis-ci.org/raku​do/rakudo/builds/83348680 https://github.com/rakudo/rakudo/c​ompare/e3717ef1331c...ef814c33bb87
18:03 travis-ci left #perl6
18:04 TimToady we've got a lot of near-duplicate code that we will someday want to factor back out
18:12 TimToady it will, however, be very difficult to test such things, since we would have to compile with and without the special case, to have a valid comparison
18:14 TimToady I don't think we want to hack the dispatcher to ignore a particular special case...well, we could build a special version that *could* ignore a particular set of candidates, I suppose, and just use that special dispatcher when testing
18:15 TimToady but we're very ad hoc in the way we evaluate optimizations right now
18:16 TimToady and it's all very "here's the situation right now"
18:16 bjz joined #perl6
18:17 TimToady a test dispatcher that can do "knockouts" (as in genetics) would be a good mid-hanging fruit for someone
18:18 jdv79 sounds more than mid maybe
18:19 * TimToady assumes everyone except jnthn++ is mid :)
18:19 mr_ron m: https://gist.github.com/ron​aldxs/e19a8501839e76b4ac35
18:19 camelia rakudo-moar e3717e: OUTPUT«True␤False␤True␤False␤Method 'hexlet' not found for invocant of class 'Cursor'␤  in block <unit> at /tmp/i0PagAuIc8:6␤␤»
18:20 jdv79 that's quite a wide middle class
18:20 mr_ron character class regex mathcing problem in gist.  help anyone?
18:26 TimToady !~~ is a known bug
18:28 TimToady at least, it looks related to a known bug
18:29 mr_ron it really doesn't have much to do with !~~ - if you took that line out it wouldn't make much difference
18:32 mr_ron m: my token hexlet { <[A..F]> }; say so '.' ~~ /<- alpha>/; say so '.' ~~ /<- hexlet>/;
18:32 camelia rakudo-moar ef814c: OUTPUT«True␤Method 'hexlet' not found for invocant of class 'Cursor'␤  in block <unit> at /tmp/fC7Y78QhYH:1␤␤»
18:32 yqt joined #perl6
18:33 TimToady probabably needs to be taught about lexicals
18:33 TimToady m: my token hexlet { <[A..F]> }; say so '.' ~~ /<- alpha>/; say so '.' ~~ /<- &hexlet>/;
18:33 camelia rakudo-moar ef814c: OUTPUT«5===SORRY!5===␤Unrecognized regex metacharacter < (must be quoted to match literally)␤at /tmp/8hkGNT4OpD:1␤------> 3so '.' ~~ /<- alpha>/; say so '.' ~~ /<-7⏏5 &hexlet>/;␤Unrecognized regex metacharacter - (must be quoted to match literal…»
18:33 MilkmanDan joined #perl6
18:33 TimToady and maybe . and &
18:33 TimToady so yeah, basically a NYI sort of thing, I think
18:34 zakharyas joined #perl6
18:40 mr_ron m: grammar G {token TOP { <- hexlet> }; token hexlet { <[A..F]> } }; say so G.parse('G'); say so G.parse('A');
18:40 camelia rakudo-moar ef814c: OUTPUT«True␤False␤»
18:40 bakedb joined #perl6
18:44 mr_ron It's inconsistent - I'm inclined to RT if no objection ...
18:45 araujo_ joined #perl6
18:45 TimToady is fine
18:46 TimToady (to RT)
18:58 silug joined #perl6
19:06 domidumont joined #perl6
19:12 muraiki joined #perl6
19:12 FROGGS Method 'roles' not found for invocant of class 'Array'
19:12 FROGGS in block  at ./htmlify.p6:261
19:12 FROGGS docs are almost unbroken...
19:17 espadrine_ joined #perl6
19:24 lizmat Got a WEIRD error while building the setting: https://gist.github.com/li​zmat/41a44f3c2e35ea36d7ce
19:25 lizmat I'm pretty baffled at this point...
19:26 lizmat the name of the role does not seem to makker
19:26 lizmat *matter
19:26 FROGGS lizmat: does it need to be a 'my role'?
19:27 lizmat trying that
19:27 lizmat FROGGS++  seems to fix it
19:27 lizmat but why ?
19:28 FROGGS m: my class Foo { class Bar { } }
19:28 camelia rakudo-moar ef814c: ( no output )
19:28 FROGGS m: my class Foo { role Bar { } }
19:28 camelia rakudo-moar ef814c: ( no output )
19:28 FROGGS m: my class Foo does Iterable does Associative { role Bar { } }
19:28 camelia rakudo-moar ef814c: OUTPUT«===SORRY!===␤Method 'iterator' must be implemented by Foo because it is required by a role␤»
19:28 lizmat I mean, there are plenty of other Iterator related roles without the my in the setting, e.g. ProcessStr in src/core/Str
19:28 FROGGS m: my class Foo does Associative { role Bar { } }
19:28 camelia rakudo-moar ef814c: ( no output )
19:29 FROGGS lizmat: I... can't explain
19:29 FROGGS was just a guess
19:29 lizmat me neither, but thanks for the eyes!  FROGGS++
19:29 FROGGS okay :o)
19:31 lizmat ok, gotten further now... won't compile Test.pm   but at least that's traceable
19:32 masak [Coke]: "fromidable!"
19:33 lizmat .oO( new Stromae song? )
19:33 masak lizmat: http://irclog.perlgeek.de/p​erl6/2015-10-02#i_11308953
19:34 lizmat .oO( cheesy! )
19:38 dha joined #perl6
19:40 masak who here on channel should I talk to about the implementation of S04's "blocks are conceptually cloned into closures as soon as the lexical scope containing them is entered" ?
19:40 diakopter me me me me
19:40 masak \o/
19:40 masak I'm at the point where I need to add something like that to 007, and I'm curious about prior art, war stories, classical no-nos, that kind of thing.
19:41 dha Not me. :-)
19:43 masak my first thought is something like this: keep a hash around that maps from containing blocks to lists of (directly) contained blocks. whenever we enter a block, check the hash table, traverse the list, and update all the kids' OUTER.
19:43 masak oh, and "block" really means "block or routine".
19:43 masak oh, and this needs to work even if a block was added through a synthetic Qtree :) (but that's just a technicality)
19:45 masak I guess in 007 I wouldn't really need the hash table, since the program literally is its AST. but (a) that may change, and (b) the hash is still less work than traversing
19:47 AlexDaniel So I've been thinking about qqx// and stuff, and even though I was bringing this issue up a couple of times I couldn't come up with a nice solution. For those who don't know, the problem is that getting the output of some program is too hard, huffmanly you'll just use qqx// and there you go. What newbies might not understand is that it passes the whole thing to shell, which most of the time is not what you want (and if you want it then
19:47 AlexDaniel it's ok to write it out explicitly). So my proposed solution: create two new subs – “runout” and “shellout”. Similarly to “run” and “shell”, but return the str instead (program output). Huffmanly it is correct, since “run” should be preferred over “shell”. If you wish, it is still possible to shell out your security. Upgrading to “run” from “runout” is somewhat straightforward too, if needed (although it w
19:47 AlexDaniel you need such extra functionality then it's probably ok). What happens with qqx// then? Just burn it with fire. Comments?
19:48 masak AlexDaniel: if you don't feel all that strongly about your own solution, it sounds like a thing that should be explored in module space... :)
19:49 masak AlexDaniel: "runout" and "shellout" are short, but not very descriptive. even knowing the background, I feel a note of confusion looking at those names.
19:50 AlexDaniel masak: pass_string_to_shell_insecure – I'm ok with this name too
19:51 masak ;)
19:51 AlexDaniel masak: You want me to write a module that will disable qqx//? Can't we just fix that right in the language? :)
19:51 pyrimidine joined #perl6
19:52 masak AlexDaniel: what I'm saying is "I couldn't come up with a nice solution" doesn't sound like we've arrived at the big wow that makes everything simpler.
19:52 masak AlexDaniel: I agree with you in principle that qqx// is very convenient, and that that's unfortunate given how injectable it is.
19:52 AlexDaniel masak: it solves the problem though
19:53 AlexDaniel it is very convenient only because it is so short to type it, I think
19:53 masak I don't usually take this side in debates, but... sometimes Perl is just about getting the job done. and you have to trust that people know about security risks.
19:53 AlexDaniel nooooo
19:53 masak that's how I feel about qqx// -- I'd be sad to see it go.
19:54 AlexDaniel masak: trusting people to know about security risks… what a wishful thinking! I think we both know about the amount of shell injections out there, it could be great if perl6 could help people just a little bit in that sense
19:55 masak oh, sure.
19:55 masak I'm not saying we ought to be insecure for the sake of it.
19:55 masak but I *am* saying that we're in a different ballpark here than, say, two-arg open()
19:56 masak where "hey, I could be calling out to the shell" isn't exactly written on the tin
19:56 AlexDaniel and what I've meant by saying that it was hard to come up with a solution is that qqx// is too damn short! There's no way to fix that without removing it… sadly!
19:57 masak yes. you're proposing to remove a convenience, for security reasons.
19:57 AlexDaniel convenince? I'm not sure if typing shellout() is much harder than qqx//, except for the quoting stuff
19:58 masak listen to yourself :)
19:58 masak if I didn't want interpolation, I'd use qx//
20:00 AlexDaniel masak: like shellout("unsecure $stuff"), what's so hard about it?
20:00 AlexDaniel masak: or what would be the use case when that's not enough?
20:01 AlexDaniel however, most of the time the answer is “you don't want interpolation if you're passing random stuff to shell”
20:02 AlexDaniel and if you want it, then be explicit by using a longer sub name. Perfect
20:03 AlexDaniel also, there is a word “shell” in “shellout”, which makes it very clear what's going to happen with your string. Just a little reminder, I like it
20:05 AlexDaniel masak: but I'd really like to hear a counterexample where just a regular sub “shellout” will not be enough to get your job done (which is now handled by qqx//), when you really need it.
20:06 araujo__ joined #perl6
20:06 pyrimidi_ joined #perl6
20:06 dalek rakudo/nom: 2fb63c7 | lizmat++ | src/core/Map.pm:
20:06 dalek rakudo/nom: Give Hash.pairs/kv/keys/values/antipairs pull-all
20:06 dalek rakudo/nom:
20:06 dalek rakudo/nom: my @ = %h.pairs       30% faster
20:06 dalek rakudo/nom: my @ = %h.keys        30% faster
20:06 dalek rakudo/nom: my @ = %h.values      30% faster
20:06 dalek rakudo/nom: my @ = %h.kv          2x as fast
20:06 dalek rakudo/nom: my @ = %h.antipairs   3x as fast
20:06 dalek rakudo/nom:
20:06 dalek rakudo/nom: Also now uses a role to factor out the common stuff.  This role also
20:06 dalek rakudo/nom: contains a count-only method, which is the same for all of these methods.
20:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2fb63c7507
20:07 FROGGS lizmat++
20:09 dalek doc: 6564ace | FROGGS++ | htmlify.p6:
20:09 dalek doc: s/push/append/ roles to todo list
20:09 dalek doc:
20:09 dalek doc: Otherwise we sneak extra Arrays into the list of roles that need doing.
20:09 dalek doc: review: https://github.com/perl6/doc/commit/6564ace7df
20:10 FROGGS Invocant requires an instance of type Str, but a type object was passed.  Did you forget a .new?
20:10 FROGGS in block  at ./htmlify.p6:540
20:10 FROGGS -.-
20:10 diakopter well, did you forget a .new
20:11 FROGGS :P
20:11 FROGGS no :o)
20:12 lizmat diakopter o/
20:12 diakopter ahoy from Vught
20:12 lizmat greetz to Martin!
20:12 AlexDaniel hm, other opinions? I'm really touched by the fact that qqx// is there yet there is no safer way to do that with relatively short code, that's disappointing…
20:14 AlexDaniel just like in perl5 there was “system” that couldn't get the output, so you go dancing around it either with using a module, writing to file or trying to use backticks and sanitizing your input… “run” in perl6 is definitely a strong step forward, yet it's still not good enough to just get the output.
20:15 tokuhiro_ joined #perl6
20:15 AlexDaniel which, by the way, is probably one of the most common tasks
20:16 * FROGGS nods
20:16 moritz run($command, :out).out.slurp
20:16 moritz maybe not the best huffman coding
20:16 AlexDaniel yeah, 100% correct huffman coding
20:17 AlexDaniel And hey, wanna see a live example for this problem?
20:17 AlexDaniel http://rosettacode.org/wiki/Ge​t_system_command_output#Perl_6
20:17 * lizmat is tempted to optimize typed hashes as well, but refrains for now
20:17 AlexDaniel I mean of this problem
20:17 AlexDaniel “Execute a system command and get its output into the program.”
20:18 lizmat I'd rather hear jnthn's opinion about using 2 hashes for typed hashes, instead of the one like in Bags
20:18 AlexDaniel so it says use qx. Well, once the user has a need to pass a variable he will just put another “q”
20:19 AlexDaniel but the task itself does not say anything about using the shell
20:19 AlexDaniel it says “execute a system command“… Whatever that means
20:20 telex joined #perl6
20:20 AlexDaniel looking at the other examples, however, I see that most of the languages just throw it into the shell
20:20 skids .oO(use attitude; qx[dir].say # --> "Warning: What, you haven't implemented 'dir' in Perl 6 yet?!?  Get to work!")
20:21 pink_mist use attitude <bad>; #rather
20:21 Psyche^ joined #perl6
20:22 FROGGS moritz: we get now as far as this (after about 11min): http://doc.perl6.org/build-log/​build-2015-10-02T20:10+0000.log
20:23 moritz FROGGS: did you fix any .push breakage?
20:23 FROGGS moritz: only one spot... I dunno if there is more: https://github.com/perl6/doc/commit/6564ace7df
20:24 FROGGS but I'm going to continue tomorrow...
20:24 FROGGS zzzZZZzzz &
20:24 moritz lib/Pod/Convenience.pm6:            @chunks.push: $c.map: {
20:24 moritz wonder if that needs to be an append
20:25 moritz ah, but that's only used for debugging
20:27 pyrimidine joined #perl6
20:27 Gruber -46
20:28 AlexDaniel m: run('echo', 'foo', 'bar', :out).out.slurp
20:28 camelia rakudo-moar 2fb63c: OUTPUT«run is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting:1␤  in sub run at src/RESTRICTED.setting:14␤  in block <unit> at /tmp/EpWDA1d90A:1␤␤»
20:28 AlexDaniel uhh
20:28 AlexDaniel “Method 'slurp' not found for invocant of class 'IO::Pipe'”
20:30 AlexDaniel if not slurp, then how can I do it?
20:31 AlexDaniel .get
20:31 AlexDaniel but isn't it for 1 line only?
20:31 gfldex try lines
20:32 gfldex there may be .Supply in the future
20:32 lizmat AlexDaniel: please make a ticket, IO::Pipe should be able to slurp
20:32 AlexDaniel gfldex: and then “join” them?
20:32 lizmat and .Supply  :-)
20:33 AlexDaniel lizmat: thanks, will do
20:33 lizmat lines(:!chomp)
20:33 gfldex .lines returns a lazy list, so joining then may take a while
20:33 jnthn masak: I'm going to rest, but: in Rakudo sub foo() {} as well as the static lexpad entry just compiles to approx &foo := take-closure(sub foo() { }.clone());
20:33 yoleaux 11:08Z <lizmat> jnthn: could you look at https://gist.github.com/li​zmat/9f95a6f75f27cebecd65 and see if I made any obvious mistakes there ?
20:33 yoleaux 11:08Z <lizmat> jnthn: it compiles/builds ok, seems to handle simple cases ok, but causes sever spectest fallout in weird ways
20:33 yoleaux 11:09Z <lizmat> jnthn: documentation on nqp::handle would also be appreciated  :-)
20:33 yoleaux 11:39Z <lizmat> jnthn: is it correct that we cannot .Slip a container ?
20:33 jnthn lizmat: Tomorrow :)
20:33 moritz uhm, maybe .slurp-rest ?
20:33 moritz 'cause it's an already opened handle
20:33 jnthn masak: We don't go doing "deeper" cloning than that.
20:33 * jnthn back tomorrow
20:33 AlexDaniel .oO( maybe qqx// …)
20:34 lizmat jnthn: safe travels!
20:34 AlexDaniel moritz: indeed, it's .slurp-rest!
20:34 AlexDaniel lizmat: if there's slurp-rest, is there any need to open a ticket?
20:35 flussence «Stage parse      :  95.033» # ouch, where'd that extra-extra 20s come from in the past few days?
20:35 lizmat ah, good point...
20:35 lizmat AlexDaniel: if there is a slurp-rest, I guess no ticket is needed  :-)
20:35 AlexDaniel my $output = run($command, $arg1, $arg2, :out).out.slurp-rest;
20:35 AlexDaniel awesome
20:37 Skarsnik maybe a slurp to say to use slupr-rest? xD
20:38 AlexDaniel Skarsnik: maybe there has to be an easier way to do the whole thing…
20:40 masak jnthn: thanks.
20:40 dha joined #perl6
20:41 masak I guess the added implicit thing to that is that all those assignment get hoisted to the top of the scope.
20:41 lichtkind hai mäsak
20:42 masak lichtkind: hay
20:43 rurban joined #perl6
20:43 tokuhiro_ joined #perl6
20:43 lichtkind rurban: grüzi grad wollt ich dir über twitter schreiben
20:44 masak diakopter: yes, please give mine-too regards to mberends.
20:46 lizmat flussence: re parse slowdown: I have *no* idea, but in general, we lost 10-15% in the past days  :-(
20:46 lizmat flussence: even with bare startup
20:46 masak :/
20:48 flussence maybe I should attempt hacking on the CORE & --profile thing again, though that went pretty painful last time (ate my fastest hardware alive even with 16GB of swap)
20:48 diakopter bug fixes tend to expose optimizations as unwarranted when you have an aggressive optimizer
20:51 pyrimidi_ joined #perl6
21:02 sufrostico joined #perl6
21:14 AlexDaniel I've changed http://rosettacode.org/wiki/Ge​t_system_command_output#Perl_6 to mention run and stuff
21:16 AlexDaniel it is probably required to mention that “run“ should be preferred in http://doc.perl6.org/language​/quoting#Shell_quoting%3A_qx
21:16 AlexDaniel although it mentions it, it doesn't say which one you should choose (and for newbies a sane recommendation is important).
21:16 AlexDaniel but not today
21:20 dha So. I want to make a general proposal about function documentation. What would be the best way to go about that in a way that it could be agreed to be implemented? Is that even possible?
21:20 rindolf joined #perl6
21:21 dha Or should I just start submitting endless pull requests? :-)
21:21 lizmat dha: you mean you don't have a commit bit yet ?
21:24 dha I do, but this would be extensive, and I don't want to just do it without at least a little consensus.
21:26 dha Basically, as it stands the documentation has the signatures of the functions, but that is probably less useful than the usage statements such as the ones that are in the perl 5 docs.
21:27 dha I want to propose adding such usage statements.
21:27 dha e.g. something like https://gist.github.com/dha/ea03e5c840f7131248de  and https://gist.github.com/dha/e69e8daa6c6519c71060
21:28 dha I'd also like a bit of feedback on format before committing.
21:28 * pink_mist thinks that looks great
21:29 dha Thanks.
21:34 PerlJam dha++  I second that assessment
21:34 lizmat looks good to me dha++
21:37 El_Che a silly question. Once you use sub MAIN in a small script (e.g. for cli params), all the logic must be called from there (as in Java) because the rest of the "naked" script will be called before MAIN?
21:38 PerlJam El_Che: I'm not sure I understand the question.
21:39 timotimo what have i been missing?
21:40 dha joined #perl6
21:40 PerlJam El_Che: perhaps I do after a little more thought ...  MAIN is executed last in the sequence of things (modulo any phasers)
21:41 PerlJam El_Che: you're not required to call all logic from MAIN, but it's a good spot
21:41 El_Che PerlJam: in most examples laying around it's kind of presented as a magic Getopt replacement.
21:42 El_Che PerlJam: my point being is that when you use it, you get a typical main block like in Java.
21:42 colomon Any “top level” code before the MAIN will get executed before MAIN is called.
21:43 El_Che PerlJam: you can not say something like "i'll handle the parameters from there and the rest everywhere"
21:43 colomon so (for instance) you can play with @*ARGS before MAIN is called
21:43 El_Che thx, that's what my play code does,but it's good to get confirmation
21:44 Skarsnik Oh run replace the p5 system call?
21:44 El_Che was trying to migrate some p5 to P6 to see how far I got. I was at the command line parameters phase :)
21:44 dha So, I got disconnected. People are actually on board with my idea?
21:44 PerlJam dha: at least 3 of us.
21:46 dha Yay. Ok, maybe I will just start doing things. Thanks.
21:47 jdv79 dha's idea++
21:47 Skarsnik dha, yes, the Usage statement are generaly more meaninful that just the signature
21:47 jdv79 usnt that like alot of man pages?
21:47 jdv79 *isnt
21:47 pyrimidine joined #perl6
21:48 PerlJam very similar, but better :)
21:48 dha jdv79 - probably, yes.
21:49 dha to be honest, I'm tempted to make separate docs for implementers and users. But that's probably overkill.
21:49 dha :-)
21:50 PerlJam way overkill since we switch hats all the time.
21:51 dha Yeah. So gonna keep the signatures. Just add usage. :-)
21:51 PerlJam yay!
21:54 dha How do you like the "Defined as:" and "Usage:" headings? Put that everywhere, or just assume people will figure it out?
21:56 PerlJam I lean towards explicit contextual clues rather than implicit, so I'd put them in.  Dunno what anyone else thinks.
21:57 dha So noted. I guess my only remaining question, which may not be immediately answerable, is how this will render in the html pages.
21:57 pink_mist if it doesn't render well, someone will /make it/ render well :P
21:58 PerlJam pink_mist: aye, well said  :)
21:59 dalek doc: 5d17958 | (David H. Adler)++ | lib/Type/Str.pod:
21:59 dalek doc: Added usage and examples for lc() in Str.pod
21:59 dalek doc: review: https://github.com/perl6/doc/commit/5d179587ec
21:59 dha pink_mist - yay.
21:59 dha And so it begins...
21:59 pink_mist dha++ =)
22:04 dha Hm. So, in C<split> the docs use things like C<$delimiter>. Now that I'm putting in the usage statements, should that be changed to "DELIMITER"?
22:06 lizmat good question
22:07 dha Also, the C<split> docs don't say what C<$limit> actually does. Bah.
22:07 lizmat my gut feeling is yes
22:07 PerlJam my gut is with lizmat's gut :)
22:07 dha And how do your guts feel about whether that should be in a C<> tag?
22:09 PerlJam unless there's a more appropriate markup, C<> should be fine.
22:10 dha Ok. And I'm putting in code tags around the examples too. Ha!
22:14 dalek doc: 81278cc | (David H. Adler)++ | lib/Type/Str.pod:
22:14 dalek doc: Added usage to C<split>
22:14 dalek doc: Added TODO for LIMIT to C<split>
22:14 dalek doc: Put code tags around examples in C<split>
22:14 dalek doc: review: https://github.com/perl6/doc/commit/81278cc0d0
22:14 masak 'night, #perl6
22:14 dha night masak
22:17 lizmat gnight masak
22:19 colomon o/
22:22 pyrimidi_ joined #perl6
22:23 felher joined #perl6
22:28 lichtkind o/
22:31 dha Procedural query: Commit a whole bunch of commits to the main repository, or would it be better/cleaner to do a lot in my own fork, and then do a pull request?
22:33 PerlJam I'd do it in a branch in the main repo.  No need for a fork/PR if you've got commit to the repo in question.
22:37 dha Ok. That makes sense.
22:37 dha I don't think I've ever had to make a branch before. This should be fun. :-)
22:38 AlexDaniel How can I pass all arguments to another subroutine? @_ does not seem to do the trick
22:41 Peter_R joined #perl6
22:45 tokuhiro_ joined #perl6
22:45 lizmat m: sub a(|c) { b(|c) }; sub b($a, :$foo) { dd $a, $foo }; a( 42, :foo(666) )   # AlexDaniel
22:45 camelia rakudo-moar 2fb63c: OUTPUT«Int $a = 42␤Int $foo = 666␤»
22:45 lizmat |c is a Capture named c
22:45 lizmat which you flatten again in the call with |
22:46 AlexDaniel oh
22:46 lizmat takes care of both positional and named params
22:47 lizmat a |c will take the rest of any parameters
22:47 lizmat so you can also do:
22:48 lizmat sub a($always, |rest) { dd $always; b(|rest) }
22:52 dalek rakudo/nom: 61d1f99 | lizmat++ | src/core/List.pm:
22:52 dalek rakudo/nom: Iterified List.pick
22:52 dalek rakudo/nom:
22:52 dalek rakudo/nom: Removed the :eager candidate.
22:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/61d1f992bb
22:53 skids joined #perl6
22:54 lizmat .tell jnthn I get the feeling that any new class in the setting (like the anonymous once for iterators) make parsing the setting a lot more expensive
22:54 yoleaux lizmat: I'll pass your message to jnthn.
22:54 lizmat .tell jnthn possibly even O(n)  :-(
22:54 yoleaux lizmat: I'll pass your message to jnthn.
22:58 ShimmerFairy dha: if you're working on stringy documentation in particular, you might be interested in the potential rewrite of S32::Str[ingy] I shared a little while ago. Some of it is stuff I'd like to change about strings (and thus shouldn't be doc'd), but a lot of it is about describing stuff in more detail.
22:58 timotimo lizmat: i like reading those performance improvements :(
22:59 raiph joined #perl6
23:03 dha ShimmerFairy -  I'll take a look. On github?
23:04 dha Also, I don't have to do strings immediately. The usage idea came up in the context of split, so I started with that. But I'm not constrained by it.
23:04 ShimmerFairy dha: here's the blog post I wrote, which links to the gist: https://shimmeryfairy.wordpress.com/2015/09/2​5/my-rewrite-ish-of-s32stringy-finally-done/
23:04 sufrostico joined #perl6
23:04 ShimmerFairy dha: OK, I wasn't sure if you were focusing on strings at the moment, but I figured just in case :)
23:05 dha Yeah. I appreciate the heads up. Thanks.
23:06 ShimmerFairy dha: I just figured I'd point it out as a source of information (like the $limit parameter on split, for example). Just a heads up that it's not exactly what's currently spec, but for the most part it's just more explanation.
23:08 dha Cool. I'll be wary of introducing anything not yet in. :-)
23:11 ShimmerFairy (and another note that functions for the most part are defined on Stringy in my draft, whereas those methods have traditionally been (and currently still are) defined on Str (in fact, ISTR a bit of crufty language somewhere that Str was once a role!))
23:12 mr_ron joined #perl6
23:24 ZoffixWork joined #perl6
23:24 ZoffixWork m: my @fib := 0, 1, *+* ... *;
23:24 camelia rakudo-moar 61d1f9: OUTPUT«Type check failed in binding; expected Positional but got Seq␤  in block <unit> at /tmp/dk42QvZhqP:1␤␤»
23:25 ZoffixWork Has this changed? Found the code here: http://rosettacode.org/wiki​/Fibonacci_sequence#Perl_6
23:27 ZoffixWork m: my @fib = 0, 1, *+* ... *; say @fib[10]
23:27 camelia rakudo-moar 61d1f9: OUTPUT«55␤»
23:27 * ZoffixWork shrugs
23:36 AlexDaniel m: my $fib := 0, 1, *+* ... *; say $fib[10]
23:36 camelia rakudo-moar 61d1f9: OUTPUT«55␤»
23:37 ZoffixWork Thanks.
23:37 AlexDaniel ZoffixWork: possibly changed after glr
23:37 AlexDaniel I'm not quite sure why would you need := though
23:38 wtw joined #perl6
23:43 AlexDaniel ZoffixWork: thanks for reporting, I've changed the example
23:44 ZoffixWork \o/
23:44 AlexDaniel It looks like there is nothing wrong with “@fib =”, somebody correct me if I'm wrong :)
23:45 lichtkind lizmat ping?
23:46 AlexDaniel ZoffixWork: I think that there are many other pre-GLR examples waiting to be fixed :)
23:46 ZoffixWork :)
23:52 dalek doc/usage_statements: 7fb82bf | (David H. Adler)++ | lib/Type/Array.pod:
23:52 dalek doc/usage_statements: Added usage statements to Array.pod
23:52 dalek doc/usage_statements: review: https://github.com/perl6/doc/commit/7fb82bf499

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

Perl 6 | Reference Documentation | Rakudo