Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-04-22

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 bowtie_ joined #perl6
00:13 bowtie_ joined #perl6
00:24 laouji joined #perl6
00:26 jepeway joined #perl6
00:28 bowtie_ joined #perl6
00:30 jepeway hm...anybody about? got a likely think-o I could use some help with.
00:30 TimToady nope, nobody here
00:31 jepeway heh.  "us chickens," eh?
00:31 timotimo i'm still here
00:32 jepeway coolio.
00:32 jepeway so, i'm trying to create a role that specifies a/some multi methods.
00:33 jepeway when i do that role in a class and call one of those methods, I get a "ambiguous method call" error.
00:33 jepeway so...
00:34 jepeway m: role A { multi method a(Int $i) {...}; multi method a(Str $s) {...};  }; class B does A { multi method a(Int $i){0xa}; multi method a(Str $s) {"a"}; } ; B.new.a(0).say
00:34 camelia rakudo-moar a94d68: OUTPUT«Ambiguous call to 'a'; these signatures all match:␤:(B $: Int $i, *%_)␤:(B $: Int $i, *%_)␤  in block <unit> at /tmp/bibrhPJqwr:1␤␤»
00:34 jepeway what do I miss, here?
00:35 timotimo huh, interesting
00:35 timotimo well, you could make it work by providing a proto method a inside B, perhaps
00:35 TimToady looks kinda like a bug to me
00:35 timotimo agreed
00:35 TimToady a ... shouldn't be counted as a real candidate
00:36 jepeway ah.
00:36 timotimo right, we should already be detecting that
00:36 jepeway so, proto method would be a workaround?
00:36 jepeway s/would/might/
00:36 TimToady mebbe
00:37 timotimo hopefully it won't give you a "you should have provided these two multi methods!" thing
00:37 TimToady I'm not sure the ... stub really works to require multi candidates
00:37 timotimo m: role A { multi method a(Int $i) {...}; multi method a(Str $s) {...};  }; class B does A { multi
00:37 camelia rakudo-moar a94d68: OUTPUT«5===SORRY!5===␤Whitespace required after keyword 'multi'␤at /tmp/VswDEPkWIy:1␤------> 3tr $s) {...};  }; class B does A { multi7⏏5<EOL>␤Missing block␤at /tmp/VswDEPkWIy:1␤------> 3tr $s) {...};  }; class B does A { multi7⏏5<EOL>…»
00:37 timotimo oops
00:37 TimToady it's mostly been used at an only/proto granularity till now
00:37 timotimo m: role A { multi method a(Int $i) {...}; multi method a(Str $s) {...};  }; class B does A { proto method a(|) { * }; multi method a(Int $i){0xa}; multi method a(Str $s) {"a"}; } ; B.new.a(0).say
00:37 camelia rakudo-moar a94d68: OUTPUT«Ambiguous call to 'a'; these signatures all match:␤:(B $: Int $i, *%_)␤:(B $: Int $i, *%_)␤  in block <unit> at /tmp/3YYp8pIGwG:1␤␤»
00:37 timotimo huh.
00:37 timotimo the multis from the role are at the same "level"
00:38 TimToady they aren't being overridden the way an only or proto method would be
00:38 bowtie_ joined #perl6
00:39 timotimo maybe an "only proto" would help :P
00:39 laouji joined #perl6
00:40 TimToady m: role A { proto method a(|) { * }; multi method a(Int $i) {...}; multi method a(Str $s) {...};  }; class B does A { multi method a(Int $i){0xa}; multi method a(Str $s) {"a"}; } ; B.new.a(0).say
00:40 camelia rakudo-moar a94d68: OUTPUT«Ambiguous call to 'a'; these signatures all match:␤:(B $: Int $i, *%_)␤:(B $: Int $i, *%_)␤  in block <unit> at /tmp/eV7FzX4tMQ:1␤␤»
00:40 TimToady protos are already only
00:40 telex joined #perl6
00:40 TimToady well, for now, don't stub multis in a role
00:40 timotimo well, well, well. this begs for some roast tests
00:41 jepeway hokay.
00:41 TimToady but it seems kinda reasonable to want to do that
00:42 jepeway does that mean there's no way to say "if you do this role, you gotta implement this multi method"?
00:42 TimToady unless there's some deep jnthn-sized reason to not want to do that...
00:42 TimToady not currently
00:42 jepeway or do I just drop the stub ... ?
00:42 TimToady that will still be ambiguous, and wrong as well :)
00:43 TimToady at the moment, all you can do is write a backstop method there that checks the type against a list
00:45 TimToady m: role A { multi method a(::T $i) { die "Oops" if T ~~ Int|Str};  }; class B does A { multi method a(Int $i){0xa}; multi method a(Str $s) {"a"}; } ; B.new.a(0).say
00:45 camelia rakudo-moar a94d68: OUTPUT«10␤»
00:45 TimToady m: role A { multi method a(::T $i) { die "Oops" if T ~~ Int|Str};  }; class B does A { multi method a(Str $s) {"a"}; } ; B.new.a(0).say
00:45 camelia rakudo-moar a94d68: OUTPUT«Oops␤  in method a at /tmp/KGNLFSDhXK:1␤  in block <unit> at /tmp/KGNLFSDhXK:1␤␤»
00:46 TimToady m: role A { multi method a(::T $i where Int|Str) { die "Oops" };  }; class B does A { multi method a(Str $s) {"a"}; } ; B.new.a(0).say
00:46 camelia rakudo-moar a94d68: OUTPUT«Oops␤  in method a at /tmp/NMLnwxjpPV:1␤  in block <unit> at /tmp/NMLnwxjpPV:1␤␤»
00:46 TimToady equivalently
00:47 alini joined #perl6
00:47 TimToady but that won't help you at COMPOSE time
00:47 TimToady m: role A { multi method a(::T $i where Int|Str) {...};  }; class B does A { multi method a(Str $s) {"a"}; } ; B.new.a(0).say
00:47 camelia rakudo-moar a94d68: OUTPUT«Stub code executed␤  in block <unit> at /tmp/vFSlanz6je:1␤␤»
00:49 bowtie joined #perl6
00:49 laouji joined #perl6
00:52 * jepeway gets the backstop method after a hard stare
00:53 jepeway should I submit a bug report?
00:53 jepeway and thanks, tt^2 :)
00:55 jepeway err.../[Tt][Tt] ** 2/?
00:58 bowtie_ joined #perl6
01:00 jepeway well, gtg.  hope to be around a bit more.
01:00 jepeway ciao.
01:02 ugexe is there some way to augment the class composing the role somehow to include the proto whatever() { ... } ?
01:07 Ben_Goldberg joined #perl6
01:09 yeahnoob joined #perl6
01:09 bowtie_ joined #perl6
01:26 bowtie_ joined #perl6
01:54 aborazmeh joined #perl6
01:54 aborazmeh joined #perl6
01:59 egrep joined #perl6
02:01 chenryn joined #perl6
02:03 noganex_ joined #perl6
02:23 bowtie joined #perl6
02:42 aborazmeh joined #perl6
02:42 aborazmeh joined #perl6
02:51 colomon joined #perl6
02:56 bowtie_ joined #perl6
03:12 spider-mario joined #perl6
03:16 colomon joined #perl6
03:21 bowtie joined #perl6
03:31 jack_rabbit joined #perl6
03:41 bowtie_ joined #perl6
03:52 kaare_ joined #perl6
03:55 dayangkun joined #perl6
03:55 mtj_ joined #perl6
03:56 mtj_ joined #perl6
04:01 bowtie_ joined #perl6
04:11 bowtie_ joined #perl6
04:23 cschwenz joined #perl6
04:43 aborazmeh joined #perl6
04:43 aborazmeh joined #perl6
04:45 bowtie joined #perl6
04:46 laouji joined #perl6
04:48 chenryn joined #perl6
04:58 laouji joined #perl6
05:20 bowtie joined #perl6
05:30 bowtie_ joined #perl6
05:40 bowtie_ joined #perl6
05:42 alini joined #perl6
05:45 Patterner joined #perl6
05:49 bowtie_ joined #perl6
05:51 tinyblak joined #perl6
05:59 bowtie_ joined #perl6
06:00 diana_olhovik joined #perl6
06:06 chenryn joined #perl6
06:09 yeahnoob joined #perl6
06:10 bowtie_ joined #perl6
06:14 kaare_ joined #perl6
06:16 kaare__ joined #perl6
06:20 bowtie joined #perl6
06:21 domidumont joined #perl6
06:21 RabidGravy joined #perl6
06:26 domidumont joined #perl6
06:28 Alina-malina joined #perl6
06:29 chenryn joined #perl6
06:31 bowtie_ joined #perl6
06:33 FROGGS joined #perl6
06:41 bowtie_ joined #perl6
06:49 fhelmberger_ joined #perl6
06:50 bowtie_ joined #perl6
06:53 cognominal joined #perl6
06:56 moritz \o
06:57 Ven joined #perl6
06:58 _mg_ joined #perl6
06:59 brrt joined #perl6
06:59 nwc10 o/
07:00 FROGGS o/
07:06 bowtie_ joined #perl6
07:07 Ven \o, #perl6
07:08 nwc10 yay, we have balance again
07:13 brrt \o
07:14 aborazmeh joined #perl6
07:14 aborazmeh joined #perl6
07:16 chenryn joined #perl6
07:16 bowtie_ joined #perl6
07:16 jnthn \o/
07:20 MARTIMM joined #perl6
07:20 rindolf joined #perl6
07:20 [Tux] o/
07:21 [Tux] tony-o, good work on CSV::Parser. that did a huge speedup!
07:22 dalek specs: 6e2a5ae | (Stéphane Payrard)++ | S99-glossary.pod:
07:22 dalek specs: S99 : fixing broken links
07:22 dalek specs: review: https://github.com/perl6/specs/commit/6e2a5ae127
07:23 [Tux] https://gist.github.com/Tux/e8a6036ccb2a69abe1a1
07:23 [Tux] still I do see an overall slowdown
07:24 brrt compared to p5?
07:26 bowtie joined #perl6
07:27 domidumont joined #perl6
07:27 [Tux] brrt, see gist: compared to itself over time
07:28 [Tux] https://github.com/Tux/CSV​/blob/master/README.speed for a longer table (since 2014.10)
07:29 laouji_ joined #perl6
07:29 * [Tux] commutes ...
07:29 chenryn joined #perl6
07:31 chenryn joined #perl6
07:32 sergot moarning \o
07:35 yeahnoob joined #perl6
07:37 bowtie_ joined #perl6
07:41 Rounin joined #perl6
07:42 chenryn joined #perl6
07:43 espadrine joined #perl6
07:46 yvan1 joined #perl6
07:46 bowtie_ joined #perl6
07:48 bjz joined #perl6
07:49 RabidGravy boom!
07:49 laouji joined #perl6
07:49 alini joined #perl6
07:58 bowtie_ joined #perl6
08:03 rurban joined #perl6
08:08 colomon joined #perl6
08:09 bowtie_ joined #perl6
08:10 darutoko joined #perl6
08:13 labster morning all o/
08:15 cschwenz joined #perl6
08:17 bjz joined #perl6
08:21 zakharyas joined #perl6
08:21 bowtie joined #perl6
08:25 sergot joined #perl6
08:34 MilkmanDan joined #perl6
08:35 abraxxa joined #perl6
08:40 tadzik 'morning!
08:42 bowtie_ joined #perl6
08:45 dakkar joined #perl6
08:49 ab5tract_ joined #perl6
08:52 bowtie_ joined #perl6
08:54 chenryn joined #perl6
08:55 scumdog joined #perl6
08:57 bjz joined #perl6
09:02 bowtie_ joined #perl6
09:11 bowtie_ joined #perl6
09:18 leont joined #perl6
09:18 nine A good, quiet morning to everyone!
09:21 bowtie joined #perl6
09:29 moritz morning? which timezone are you in? :-)
09:30 FROGGS UGT of course :o)
09:31 moritz good ol' UGT
09:32 bowtie_ joined #perl6
09:38 lizmat joined #perl6
09:40 bowtie_ joined #perl6
09:43 eli-se joined #perl6
09:44 eli-se good morning
09:44 lizmat good morning, #perl6!   (still legal in my timezone :-)
09:45 * lizmat gently nudges timotimo
09:50 bowtie_ joined #perl6
09:59 bowtie_ joined #perl6
10:08 telex joined #perl6
10:09 bowtie_ joined #perl6
10:10 sjn joined #perl6
10:18 bowtie_ joined #perl6
10:20 leont left #perl6
10:24 andreoss joined #perl6
10:24 andreoss what is __SUB__ in perl6?
10:25 moritz &?SUB
10:25 moritz iirc
10:25 moritz no, &?ROUTINE
10:32 bowtie joined #perl6
10:36 rurban joined #perl6
10:36 zakharyas joined #perl6
10:42 _mg_ joined #perl6
10:42 Sysaxed joined #perl6
10:46 alini joined #perl6
10:46 rindolf joined #perl6
10:52 bowtie_ joined #perl6
10:54 xfix joined #perl6
10:55 lolisa joined #perl6
11:09 bowtie_ joined #perl6
11:12 nbdsp joined #perl6
11:18 bowtie_ joined #perl6
11:23 jiajia joined #perl6
11:32 bowtie joined #perl6
11:44 lizmat m: my @a = ^10; @a>>.say  # I assume this is intentional, even though we don't hyper this just yet ?
11:44 camelia rakudo-moar a94d68: OUTPUT«9␤7␤5␤3␤1␤8␤6␤4␤2␤0␤»
11:47 chenryn joined #perl6
11:49 lizmat m: my @a = "A", "C", "E"...*; say @a[^10]  # is this a bug, sorta expected A C E G I K M O Q S
11:49 camelia rakudo-moar a94d68: OUTPUT«A C E F G H I J K L␤»
11:51 lizmat afk&
11:52 psch lizmat: S03:1939 says only numeric sequence don't need a generating closure
11:52 synbot6 Link: http://design.perl6.org/S03.html#line_1939
11:53 psch m: my @a = "A", "C", "E", { .succ.succ } ... *; say @a[^10]
11:53 camelia rakudo-moar a94d68: OUTPUT«A C E G I K M O Q S␤»
12:10 lolisa joined #perl6
12:33 Ven joined #perl6
12:35 _mg_ joined #perl6
12:48 dalek rakudo-star-daily: 61e174d | coke++ | log/ (2 files):
12:48 dalek rakudo-star-daily: today (automated commit)
12:48 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/61e174d09b
12:48 andreoss joined #perl6
12:49 aborazmeh joined #perl6
12:49 aborazmeh joined #perl6
12:49 andreoss &?ROUTINE seems to refer only to one multi sub from which it was called, to to the whole defenition of function
12:50 andreoss *not to the ...
12:50 zakharyas joined #perl6
12:52 andreoss moritz: is there a way to call the multi sub (not one of multies) within itself?
12:52 andreoss not using its name i mean
12:53 psch m: multi f(Int $) { "Int" }; multi f(Str $) { "Str" }; multi f($a) { ::('&' ~ &?ROUTINE.name)($a.Str) }; say f(3/4) # horribly hacky, there's probably a better way...
12:53 camelia rakudo-moar a94d68: OUTPUT«Str␤»
12:53 moritz m: m: multi f(Int $) { "Int" }; multi f(Str $) { "Str" }; multi  f($a) {
12:53 camelia rakudo-moar a94d68: OUTPUT«5===SORRY!5=== Error while compiling /tmp/iuEivf7nAW␤Missing block␤at /tmp/iuEivf7nAW:1␤------> 3multi f(Str $) { "Str" }; multi  f($a) {7⏏5<EOL>␤»
12:54 moritz m: m: multi f(Int $) { "Int" }; multi f(Str $) { "Str" }; multi  f($a) { &?ROUTINE.proto.('Str') }
12:54 camelia rakudo-moar a94d68: ( no output )
12:54 moritz m: m: multi f(Int $) { "Int" }; multi f(Str $) { "Str" }; multi  f($a) { &?ROUTINE.proto.('Str') }; f Any
12:54 camelia rakudo-moar a94d68: OUTPUT«Method 'proto' not found for invocant of class 'Sub'␤  in sub f at /tmp/9XzHe3nLCR:1␤  in sub f at /tmp/9XzHe3nLCR:1␤  in block <unit> at /tmp/9XzHe3nLCR:1␤␤»
12:55 moritz m: m: multi f(Int $) { "Int" }; multi f(Str $) { "Str" }; multi  f($a) { &?ROUTINE.dispatcher.('Str') }; f Any
12:55 camelia rakudo-moar a94d68: ( no output )
12:55 _mg_ joined #perl6
12:55 moritz m: m: multi f(Int $) { "Int" }; multi f(Str $) { "Str" }; multi  f($a) { say &?ROUTINE.dispatcher.('Str') }; f Any
12:55 camelia rakudo-moar a94d68: OUTPUT«Str␤»
12:55 moritz andreoss: ^^ seems that &?ROUTINE.dispatcher does what you want
12:55 andreoss thanks
12:55 * colomon wonders if he can get his system up and running on JSON::Fast before his current $work run using JSON::Tiny finishes.
12:57 timotimo o/
12:57 timotimo colomon: as i said, JSON::Fast ought to be just replacing the use statement
13:01 colomon timotimo: here’s hoping!
13:01 colomon first step, however, is building a new rakudo on my Mac.  :)
13:02 colomon then I can do some timings.
13:02 timotimo right
13:02 colomon luckily for my process, I suspect the JSON::Tiny-based $work will take at least 4 more hours.
13:02 colomon (that’s running on my Linux box)
13:12 colomon timotimo: JSON::Fast
13:12 colomon *fetch stage failed for JSON::Fast: source-url meta info missing
13:12 btyler colomon: I remember you poked around with the Jansson binding, but found it unsuitable -- why was it no good again?
13:12 timotimo damn, didn't i fix that?
13:13 colomon btyler: I don’t remember the exact issues, but I think the fact that it required a complete overhaul of my code was the problem.
13:13 timotimo it's in support.source, isn't it?
13:13 timotimo because that's where i put it
13:13 btyler oh O_o
13:13 timotimo it used to be in support.source-url, but i was told that's wrong
13:14 _mg_ joined #perl6
13:14 colomon timotimo: I don’t have any idea what you are talking about there.
13:15 colomon what is the url of the JSON::Fast source?
13:15 timotimo META.info
13:15 FROGGS timotimo: https://github.com/FROGGS/p6-Inl​ine-C/blob/master/META.info#L11
13:15 timotimo "source" : "git://github.com/timo/json_fast.git"
13:15 btyler it exports to-json and from-json, which should be pretty much indistinguishable from the JSON::Tiny versions
13:15 timotimo huh?
13:15 timotimo btyler: actually, it doesn't export to-json, because rakudo's core setting already seems to have that
13:16 muraiki joined #perl6
13:16 timotimo and trying to export that gives a nasty redeclaration error
13:16 btyler wat
13:16 timotimo m: say to-json(["hi", "btyler"])
13:16 camelia rakudo-moar a94d68: OUTPUT«[␤  "hi",␤  "btyler"␤]␤»
13:16 btyler well, maybe I'll poke at it this evening. I didn't see that when I was fixing the tests a few days ago
13:17 timotimo now i have a source-url in my meta.info as well
13:17 btyler to the new AT-POS methods
13:18 colomon btyler: when I tried it, the data structure it returned was 100% different from the one JSON::Tiny returned.
13:18 colomon timotimo: panda install git://github.com/timo/json_fast.git worked for me.  :)
13:19 timotimo oh, cool
13:19 btyler colomon: ah, maybe before I split it into 'dump into native p6 data structure' (from-json) and 'keep this as a jansson object' (jansson-from-json)
13:19 timotimo ah, i must have somehow missed you mentioning jansson
13:19 btyler keeping it as a jansson object is way faster, but emulating everything you might do with a normal p6 structure was a bit much
13:20 btyler anyways, no big deal, just pondering, because 4 hours of mostly JSON processing sounds painful
13:20 timotimo yes! ouch.
13:22 btyler also, timotimo, what's going on with the core to-json? I have a sub to-json is export, and that's the one that gets called
13:22 btyler and no warnings about redec
13:23 timotimo er
13:23 timotimo wow
13:23 timotimo that's dumb
13:23 timotimo i made a silly copy-paste mistake
13:24 timotimo and now i'll need a fully built rakudo to run the tests
13:24 moritz btyler: redeclarations in inner scopes never warn
13:25 btyler makes sense. now I'm wondering how timo encountered it, though
13:25 FROGGS good question
13:26 _mg_ joined #perl6
13:26 timotimo don't look at the source
13:27 timotimo it's very embarassing
13:27 btyler colomon: anyways, if you have a test case where JSON::Jansson::from-json returns something wildly different from JSON::Tiny::from-json, I'd be delighted to take a look and fix it
13:28 btyler (unless it's just jansson being broken, but that would surprise me)
13:30 dalek rakudo/nom: abc3875 | timotimo++ | src/Perl6/Compiler.nqp:
13:30 dalek rakudo/nom: mention --profile-filename in the usage message
13:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/abc3875206
13:31 aborazmeh joined #perl6
13:31 aborazmeh joined #perl6
13:32 _mg_ joined #perl6
13:33 hoelzro o/ #perl6
13:38 * DrForr just booked for YAPC::NA, and I gather Evozon is booking me for ::EU.
13:40 timotimo JSON::Fast now has to-json again
13:40 timotimo or ... for the first time
13:46 aborazmeh joined #perl6
13:46 aborazmeh joined #perl6
13:52 ssqq joined #perl6
13:59 ssqq joined #perl6
14:02 ssqq joined #perl6
14:04 dayangkun joined #perl6
14:07 xfix joined #perl6
14:08 cognominal joined #perl6
14:10 zakharyas joined #perl6
14:10 timotimo i'll have some more modules to "fix"
14:11 timotimo hm. or maybe not
14:13 * DrForr grouses about line comments.
14:17 Sysaxed joined #perl6
14:30 skids joined #perl6
14:40 [ptc] does anyone have admin rights on the perl6/perl6-examples repo?
14:41 [ptc] I'd like to turn on Travis builds for that repo
14:43 moritz I do
14:43 moritz what do I have to do?
14:43 PerlJam greetings
14:43 moritz \o PerlJam
14:44 PerlJam What's new in the world today?  (Is there a release tomorrow?)
14:45 FROGGS PerlJam: there is AFAIK
14:48 PerlJam masak++ for that at least :)
14:48 PerlJam Doesn't look like anyone has signed up for future releases though.
14:49 * [Coke] wonders if anyone else is avoiding it due to the new signing requirements.
14:50 PerlJam huh.
14:50 * PerlJam takes a stab at predicting the future ...
14:50 dalek rakudo/nom: bd25f32 | PerlJam++ | docs/release_guide.pod:
14:50 dalek rakudo/nom: claim the August release
14:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bd25f3205f
14:51 PerlJam not I.  I'm just busy-ish
14:52 PerlJam Also ... is it really a *requirement*?  OR just a suggestion?
14:53 konsolebox joined #perl6
14:53 konsolebox joined #perl6
14:53 moritz it says you can skip the step
14:55 konsolebox joined #perl6
14:56 moritz [Coke]: why do the signing requirements make you avoid the release process?
14:56 moritz [Coke]: I'm wondering if there's something I can do to lower the threshold
14:58 Ven joined #perl6
14:58 [Coke] it was already a pita. What's the purpose of adding the signatures?
14:59 [Coke] (those are two separate things. doing a release was already a pita. this just puts it over my threshold of time investment)
15:00 lizmat joined #perl6
15:04 moritz [Coke]: the purpose is to strengthen trust by making the downloads verifiable
15:05 timotimo would it be problematic to let someone else do the signature for the release manager?
15:06 FROGGS creating the key just took 5 minutes here fwiw
15:06 lizmat joined #perl6
15:06 [Coke] "strengthen trust" ?
15:06 [ptc] moritz: sorry, had to zip off for a minute
15:06 timotimo a freshly created key isn't worth terribly much, though ;)
15:06 [ptc] moritz: it'd be good if you could flip the build switch on travis-ci.org for perl6-examples
15:06 timotimo we perl6ers need to network among ourselves and especially people outside the perl6 community with our gpg keys
15:06 [ptc] moritz: that's all that's needed :-)
15:07 moritz timotimo: well, I wouldn't sign a package that somebody made and that I downloaded over plain http
15:07 timotimo right, that's what i feared
15:07 moritz [Coke]: how would you check if a tarball was tempered with?
15:07 timotimo tampared* iirc
15:07 [Coke] by verifying with the hashes posted by the release manager.
15:07 btyler tampered :)
15:08 [Coke] btyler++
15:08 timotimo er, did i really type "tampared"? :)
15:08 timotimo i did mean "tampered"
15:08 timotimo thanks
15:09 [Coke] the tarballs aren't tied back to git necessarily anyway.
15:09 moritz [Coke]: if somebody compromised the webserver, they can just change the hashes; and our release announcements and the downloads are hosted on the same server
15:09 timotimo that's correct, especially the star tarballs
15:09 moritz [Coke]: hence signing the tarballs
15:10 [Coke] ah, two signatures.
15:10 timotimo .o( starballs )
15:10 dalek specs: 7a811c0 | (Stéphane Payrard)++ | S99-glossary.pod:
15:10 dalek specs: S99: new entries. Expanded some others
15:10 dalek specs: review: https://github.com/perl6/specs/commit/7a811c03a4
15:11 gfldex joined #perl6
15:13 moritz [ptc]: done
15:13 [ptc] moritz: sweet!  thanks :-)
15:14 colomon loading an 8 meg JSON file takes a long time.
15:14 timotimo i hear you :(
15:15 dalek specs: 5cc19b5 | lizmat++ | S99-glossary.pod:
15:15 dalek specs: Fix typo, cognominal++
15:15 dalek specs: review: https://github.com/perl6/specs/commit/5cc19b5bb2
15:15 colomon timotimo: it’s been more than 40 minutes now even with JSON::Fast
15:16 timotimo ah, damn
15:16 timotimo how's the RAM usage?
15:16 colomon looks like 2 GB
15:17 timotimo mhm
15:18 cognominal Someday we need to hook the glossary to the IRC log
15:21 dalek perl6-examples: 9f9be8f | paultcochrane++ | .travis.yml:
15:21 dalek perl6-examples: Add initial Travis-CI configuration
15:21 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/9f9be8f993
15:21 dalek perl6-examples: 92b0269 | paultcochrane++ | categories/cookbook/0 (6 files):
15:21 dalek perl6-examples: Merge branch 'master' of github.com:perl6/perl6-examples
15:21 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/92b02693a3
15:26 RabidGravy joined #perl6
15:27 nine colomon: what JSON file is that?
15:27 tony-o [Tux]: did you run that with the Buffer only version?
15:27 |Tux| latest checkout
15:28 |Tux| https://gist.github.com/Tux/de990d9294125224c129
15:29 |Tux| *that* is my test-script
15:29 colomon nine: it’s generate by my $work software to try to quanitfy what the CAD file it loaded in looks like, so I can compare between different runs of the importer.
15:29 nine colomon: so non-publishable?
15:30 colomon nine: this particular one, yes
15:30 colomon nine: here’s the beginning: https://gist.github.com/co​lomon/afed34519bcd4f82ebb5
15:30 dalek Heuristic branch merge: pushed 54 commits to rakudo/newio by lizmat
15:31 colomon nine: I can generate one a public domain CAD file and share it.
15:31 colomon probably not the same length, but...
15:31 tony-o |Tux|: i wonder how the 'buf' branch compares, it only uses Buffers
15:31 nine colomon: I found a 1.1 MB json file on my disk. I guess that suffices for a quick test
15:31 Ven joined #perl6
15:32 |Tux| sh$ for i in $(seq 1 10000); do echo 'hello,","," ",world,"!"'; done > /tmp/hello.csv
15:33 |Tux| that is what the CSV file looks like. You can do the tests yourself
15:34 colomon nine: I just found a 2.8 MB file I can share, if you’d like.
15:34 btyler colomon: I'd be interested too :)
15:34 btyler particularly if you find something where JSON::Tiny and JSON::Jansson generate different data structures using from-json
15:35 colomon btyler, nine: Google Drive upload okay for you guys?
15:35 btyler sure
15:35 timotimo we have a fast xml parser already, right? something based on libxml?
15:36 tony-o timotimo: froggs was working on libxml
15:37 tony-o timotimo: someone else wrote a PP xml parser, i wrote an html to xhtml parser based on it (both are slow)
15:37 timotimo right, i've been using exemel, i think
15:37 timotimo to parse the opengl api file
15:37 timotimo (i haven't done more than from-xml it yet)
15:37 timotimo took about a minute, IIRC
15:38 tony-o the exemel one is what i was referring to ^
15:38 tony-o it's slow, so is my xhtml converter
15:38 nine colomon: time perl6 -e 'use JSON::XS:from<Perl5>; JSON::XS::decode_json("Holt​kamp.json".IO.slurp(:bin))'
15:38 nine colomon: real    0m3.858s
15:38 nine colomon: With a 1.1 MB test file. Maybe interesting to you?
15:38 btyler nine: the question is how long it takes to serialize into a P6 data structure :)
15:39 btyler JSON::XS is beastly fast at both parsing and creating the data structure, but I bet crossing the p5/p6 boundary is going to hurt
15:39 colomon btyler, nine: https://drive.google.com/file/d/0BzQNY9​oWjFaOcnFjSFRkcFdSdHc/view?usp=sharing
15:39 timotimo sort of like an hllize operation?
15:39 nine btyler: that call returns it as a P6 data structure. Add a say and it'll take a second more
15:39 dalek perl6-examples: 9e74d4f | paultcochrane++ | categories/euler/prob002- (2 files):
15:39 dalek perl6-examples: [euler] make output consistent for prob002
15:39 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/9e74d4f27a
15:39 dalek perl6-examples: 4019e24 | paultcochrane++ | .travis.yml:
15:39 dalek perl6-examples: Add missing module dependencies to install step
15:39 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/4019e248a5
15:40 timotimo nine: only a second? that probably means that perl5 is doing the stringification of the whole structure, eh?
15:40 colomon nine: yes, that’s definitely interesting.  I’ve been trying to resist rewriting it in p5, so if I can get the speed of p5 from p6, that’s definitely intriguing.  :)
15:40 dalek rakudo/newio: b4f2ad9 | lizmat++ | src/core/Str.pm:
15:40 dalek rakudo/newio: Fix mergo
15:40 dalek rakudo/newio: review: https://github.com/rakudo/rakudo/commit/b4f2ad96cc
15:41 nine timotimo: no, I get a Hash
15:41 timotimo oh? wow
15:41 timotimo that's the many megabytes big file, yes? that's neat
15:41 colomon afk
15:41 nine To be honest, I'm quite a bit surprised myself. I thought it could be faster than JSON::Fast, but had no idea about those orders of magnitude
15:42 nine timotimo: 1.1 MB
15:43 CurtisOvidPoe joined #perl6
15:43 nine 15 seconds for the 2.7 MB parasolid-globe.x_t.json
15:44 nine nine@sphinx:~> time perl6 -e 'use JSON::XS:from<Perl5>; JSON::XS::decode_json("parasolid-glob​e.x_t.json".IO.slurp(:bin)).keys.say'
15:44 nine Instances Objects Counts Header
15:44 nine real    0m15.601s
15:44 nine Did I mention that I really love the integrated Inline::Perl5 support? Saves me a lot of typing :)
15:44 hoelzro since tomorrow is the release, is it possible to have the tab completion stuff I wrote merged in?
15:45 dalek specs: dd31858 | lizmat++ | / (6 files):
15:45 dalek specs: Turn @*INC/%*CUSTOM_LIB into @?INC/%?CUSTOM_LIB
15:45 dalek specs:
15:45 dalek specs: These should only be changeable at compile time, so make them at least look
15:45 dalek specs: like compile-time constants.
15:45 dalek specs: review: https://github.com/perl6/specs/commit/dd31858bf0
15:46 FROGGS[mobile] joined #perl6
15:46 lizmat hoelzro: I'm afraid looking at your branch, fell through the cracks at the QA hackathon  :-(
15:46 nine I wonder if JSON::Tiny could transparently switch to JSON::XS if Inline::Perl5 and JSON::XS are installed. That could speed up rakudo startup until FROGGS++'s serialization changes land...
15:46 hoelzro =(
15:46 hoelzro I wish I could've been there!
15:48 FROGGS[mobile] nine: I dont think this would work out in the setting
15:48 nine FROGGS[mobile]: yeah, to load Inline::Perl5 you'd have to have the JSON parsed already for one...
15:48 timotimo right, the point is that we require the json stuff in order to be able to load the database of installed modules
15:48 nine Easy fix: merge Inline::Perl5 into Rakudo ;)
15:48 timotimo ouch :)
15:48 FROGGS[mobile] :p
15:48 FROGGS[mobile] and nativecall
15:48 timotimo "use NativeCall" goes through the database, too, though
15:49 dalek rakudo/nom: e0b3401 | TimToady++ | src/Perl6/Grammar.nqp:
15:49 dalek rakudo/nom: remove silly YOU_ARE_HERE restriction
15:49 dalek rakudo/nom:
15:49 dalek rakudo/nom: We're supposed to be able to define settings in terms of other settings
15:49 dalek rakudo/nom: in the outer scope.  That's why they're settings, not preludes.
15:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e0b3401452
15:49 masak good afternoon, #perl6
15:50 FROGGS[mobile] TimToady: that means we have to reopen a certain RT
15:50 TimToady good, because that's the wrong way to fix whatever the problem was
15:51 FROGGS[mobile] I'll provide the ticket number as soon as I am at my laptop
15:51 TimToady 'kay, thanks
15:52 FROGGS[mobile] star-m: say {YOU_ARE_HERE} # something like that
15:52 camelia star-m 2015.03: OUTPUT«1␤»
15:52 TimToady if there's a closed RT for which that is the fix, it should surely fail a test, right?
15:52 nine Our little JSON experiment tells me that converting data is quite fast already. So NativeCall's call overhead seems to be the main performance blocker in Inline::Perl5.
15:53 FROGGS[mobile] TimToady: aye
15:53 TimToady part of the problem is that the actual mechanism is currently acting more like a prelude than a setting
15:54 TimToady if you put the {YOU_ARE_HERE} in a loop, it only gets called once, despite the loop
15:55 TimToady but we can use {YOU_ARE_HERE} already in settings based on other settings
15:56 * TimToady notes also that the RESTRICTED setting doesn't have a {YOU_ARE_HERE} because of this arbitary restriction, so it assumes it has prelude semantics instead
15:56 TimToady well, except it does add the lexical scope, I'll give it that
15:56 Ven \o, masak
15:58 TimToady in any case, the intent of the original design is nestable settings, each with its own {YOU_ARE_HERE}
15:59 mr-foobar joined #perl6
16:00 lizmat TimToady: how would one setting load another ?
16:01 TimToady it's compiled with that other setting
16:01 TimToady I mean statically nestable, not dynamically
16:02 TimToady RT #115372 is the YOU_ARE_HERE test in question, I think
16:02 synbot6 Link:  https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=115372
16:02 [ptc] m: my @a = 1, 2, [3, 4], 5; say @a.perl
16:02 camelia rakudo-moar bd25f3: OUTPUT«[1, 2, [3, 4], 5]<>␤»
16:03 hoelzro lizmat: any chance you or someone else could look at it today? =)
16:06 hoelzro I made that chance shortly after 2015.03 went out, hoping it would make it into 2015.04
16:07 lizmat hoelzro: I really feel too noob to be able to judge the branch  :-(
16:08 hoelzro bummer
16:08 hoelzro I remember FROGGS[mobile] wanted to take a look a while ago
16:08 hoelzro but it needed updating against master/nom
16:12 dalek perl6-examples: 14825c2 | paultcochrane++ | categories/euler/prob (4 files):
16:12 dalek perl6-examples: [euler] rename *.p6 to *.pl
16:12 dalek perl6-examples:
16:12 dalek perl6-examples: This is to be consistent with the other files in this category
16:12 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/14825c2513
16:12 dalek perl6-examples: c742177 | paultcochrane++ | t/categories/99-problems.t:
16:12 dalek perl6-examples: Correct expected output after .perl output changes
16:12 dalek perl6-examples:
16:12 dalek perl6-examples: See rakudo(nom):80afb7d for more details
16:12 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/c742177823
16:19 ssqq dalek: specs S05-regex.pod line:596 <say "@()"> should be <say "{@()}">
16:20 spider-mario joined #perl6
16:20 ssqq p6: if 'str' ~~ m:g/ \w / { say "@() {@()}" }
16:20 camelia rakudo-moar e0b340: OUTPUT«@() s t r␤»
16:22 ssqq p6: 'str' ~~ / <any> /
16:22 camelia rakudo-moar e0b340: OUTPUT«P6opaque: no such attribute '$!pos'␤  in method ACCEPTS at src/gen/m-CORE.setting:16803␤  in block <unit> at /tmp/tmpfile:1␤␤»
16:23 andreoss is there a function to split a list in X parts or in parts of Y length?
16:24 moritz you can use comb to do the latter
16:24 moritz with a regex /.**1..4/ for example
16:25 moritz m: say 'abcdefghijklm'.comb(/.**1..4/)
16:25 camelia rakudo-moar e0b340: OUTPUT«abcd efgh ijkl m␤»
16:25 andreoss comb is a method of Str, not Array
16:26 moritz oh, list, sorry
16:26 [ptc] yay!  the examples tests now pass!
16:27 moritz m: my @a = 1..10; say gather while @a take @a.splice(4)
16:27 camelia rakudo-moar e0b340: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Hee0_56KpI␤Missing block␤at /tmp/Hee0_56KpI:1␤------> 3my @a = 1..10; say gather while @a7⏏5 take @a.splice(4)␤    expecting any of:␤        infix␤        infix stopper␤        parameterized…»
16:27 moritz m: my @a = 1..10; say gather while  @a { take @a.splice(4) }
16:28 moritz m: my @a = 1..10; .say for gather while  @a { take @a.splice(4) }
16:28 camelia rakudo-moar e0b340: OUTPUT«(timeout)»
16:28 camelia rakudo-moar e0b340: OUTPUT«(timeout)5␤6␤7␤8␤9␤10␤»
16:28 eli-se joined #perl6
16:30 moritz m: my @a = 1..10; say @a.splice(4)
16:30 camelia rakudo-moar e0b340: OUTPUT«5 6 7 8 9 10␤»
16:30 moritz m: my @a = 1..10; .say for gather while  @a { take @a.splice(0, 4) }
16:30 camelia rakudo-moar e0b340: OUTPUT«1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤»
16:30 moritz m: my @a = 1..10; .say for gather while  @a { take item @a.splice(0, 4) }
16:30 ugexe comb is a method of cool
16:30 camelia rakudo-moar e0b340: OUTPUT«1 2 3 4␤5 6 7 8␤9 10␤»
16:30 moritz ugexe: but if you call it on a list, it'll coerce to Str first -- not what andreoss wants
16:30 ugexe ah
16:31 PerlJam andreoss: .rotor would almost work if it did the right thing with an overlap of 0
16:31 ssqq p6: 'str' ~~ / <print> /
16:31 camelia rakudo-moar e0b340: OUTPUT«Cursor<140104630153016>C​ursor<140104630197984>P6opaque: no such attribute '$!pos'␤  in method ACCEPTS at src/gen/m-CORE.setting:16803␤  in block <unit> at /tmp/tmpfile:1␤␤»
16:31 moritz the downside of the method above is that it destroys the array
16:31 ssqq built-in token <print> have not implement, so the debug info should be more readable.
16:31 dalek perl6-roast-data: 7dcbd9f | coke++ | / (9 files):
16:31 dalek perl6-roast-data: today (automated commit)
16:31 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/7dcbd9fee2
16:32 PerlJam m:  my @a = 1..10; say @a.rotor(4,0).perl
16:32 camelia rakudo-moar e0b340: OUTPUT«($(1, 2, 3, 4), $(5, 6, 7, 8), $(9, 10))␤»
16:32 PerlJam oh, it does do the right thing with a 0 overlap.
16:32 PerlJam I wonder why I thought it was broken
16:33 PerlJam (whoever implemented rotor)++
16:33 kaare_ joined #perl6
16:34 PerlJam Mouq++ looks like
16:34 moritz PerlJam++ has the best solution
16:34 * moritz has never used rotor before
16:34 dalek doc: ad05f16 | moritz++ | WANTED:
16:34 dalek doc: Add List.rotor to WANTED
16:34 dalek doc: review: https://github.com/perl6/doc/commit/ad05f168d2
16:35 andreoss m: multi split-by(\n, *[])   {  } ; multi split-by(\n, *@xs ) {  @xs[0 ... n -1] , split-by(n, |@xs[n .. *]).list; } ; say split-by(3, 1 ... 10).perl;
16:35 camelia rakudo-moar e0b340: OUTPUT«Nil␤»
16:37 andreoss m: multi split-by(\n, *[])   {  } ; multi split-by(\n, *@xs ) {  @xs[0 ... n -1] , split-by(n, |@xs[n .. *]).list; } ; say split-by(3, @(1 ... 10)).perl;
16:37 camelia rakudo-moar e0b340: OUTPUT«((1, 2, 3), ((4, 5, 6), (7, 8, 9), (10, Any, Any)))␤»
16:37 andreoss .splice is an ugly mutator
16:37 PerlJam andreoss: why 0 ... n-1 instead of just ^n ?
16:38 dalek perl6-examples: 65086c1 | paultcochrane++ | categories/euler/prob003-eric256.pl:
16:38 dalek perl6-examples: [euler] simplify output to ease testing
16:38 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/65086c1d12
16:38 dalek perl6-examples: aabe746 | paultcochrane++ | categories/euler/prob003-hexmode.pl:
16:38 dalek perl6-examples: [euler] finish partially complete implementation
16:38 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/aabe7463b2
16:38 dalek perl6-examples: 34d4855 | paultcochrane++ | t/categories/euler.t:
16:38 dalek perl6-examples: Add initial tests for Euler project examples
16:38 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/34d48551d9
16:39 ugexe m: my @a = 1,2,3; my $x = 0; say @a[0 ... $x].perl; say @a[^$x].perl
16:39 camelia rakudo-moar e0b340: OUTPUT«(1,)␤()␤»
16:40 andreoss PerlJam: i'm yet not used to it
16:41 andreoss though this won't work with infinite lists, since they cannot be slurped
16:42 diana_olhovik_ joined #perl6
16:42 ugexe i had that 0..0 vs ^0 confusion trick me before
16:46 mohij joined #perl6
16:54 telex joined #perl6
16:54 yvan1 joined #perl6
16:56 dalek roast: 1c80e0b | TimToady++ | S04-blocks-and-statements/pointy.t:
16:56 dalek roast: {YOU_ARE_HERE} is reserved for settings
16:56 dalek roast: review: https://github.com/perl6/roast/commit/1c80e0bbf9
16:56 dalek rakudo/nom: 4bf8538 | TimToady++ | src/Perl6/Grammar.nqp:
16:56 dalek rakudo/nom: {YOU_ARE_HERE} is reserved for settings
16:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4bf8538c9e
16:58 PerlJam Will that be YOU-ARE-HERE in the future?
17:00 molaf joined #perl6
17:02 * TimToady thinks the s:g/_/-/ business is a bit hobgobliny
17:02 TimToady _ is still perfectly fine for internals
17:02 PerlJam perhaps, but I *like* - more than _     :-)
17:02 TimToady how many settings have you written lately?
17:03 PerlJam good point
17:03 TimToady maybe we should make it {yOUaREhERE} instead...
17:05 ugexe {*~*urhere*~*}
17:05 TimToady .oO(we have ur here here)
17:06 TimToady anyway, at least I can compile my CORN setting now, even if it doesn't work quite right yet
17:08 PerlJam .oO( Will the other one be named CORP? )
17:08 TimToady ayup
17:08 TimToady that's how niecza++ has 'em
17:10 TimToady and we probably need a setting that does nothing except be a derived setting, just for namespace testing purposes
17:10 TimToady not sure if we want to make RESTRICTED official...
17:10 TimToady m: say SETTING::pi; # though it did flush out this one
17:10 camelia rakudo-moar e0b340: OUTPUT«3.14159265358979␤»
17:10 TimToady m: say UNIT::OUTER::pi; # though it did flush out this one
17:10 camelia rakudo-moar e0b340: OUTPUT«(Any)␤»
17:11 TimToady (what it used to say)
17:11 _mg_ joined #perl6
17:11 TimToady anyway, roast currently has 0 tests for settings
17:13 andreoss why there's grep-index, but no map-index?
17:14 timotimo what is map-index supposed to be?
17:14 * PerlJam still thinks *-index should go away, so map has it right :)
17:14 timotimo i mean, grep-index gives you the index of things it matched back
17:14 andreoss .map-index would pass an index to mapper function
17:15 PerlJam andreoss: why?
17:15 timotimo so ... kind of like @foo.keys.map?
17:15 timotimo or more like @foo.pairs.map?
17:16 andreoss @x.map-index: { @y[$_] } # replaces @x with @y
17:16 TimToady why wouldn't you just map the list of indices then?
17:17 TimToady @x.keys.map: { @y[$_] }
17:17 andreoss it's two calls indead of one
17:17 grettis joined #perl6
17:17 TimToady it's mental baggage
17:17 FROGGS joined #perl6
17:18 TimToady and why not just subscript in that case?
17:18 TimToady @y[@x.keys]
17:18 PerlJam andreoss: you're optimizing the wrong thing if that's the argument for map-index
17:19 TimToady or even @y[^@x]
17:21 * TimToady agrees that the -index forms probably should go away in favor of adverbs, in which case we get more than just :k semantics
17:25 TimToady grep is just a content-based slicer, if you think about it
17:30 ssqq joined #perl6
17:31 ssqq left #perl6
17:33 ssqq joined #perl6
17:37 TimToady andreoss: slurpies can take infinite lists; the "slurpiness" is notional
17:38 TimToady m: sub foo(*@stuff) { say @stuff[^10] }; foo(0,1,*+*...*)
17:38 camelia rakudo-moar 4bf853: OUTPUT«0 1 1 2 3 5 8 13 21 34␤»
17:42 andreoss m: multi split-by(\n, *[])   {  } ; multi split-by(\n, *@xs ) {  @xs[^ n].item , split-by(n, |@xs[n .. *]).list; }; say split-by(3, my @x = 1..10)[^2].perl;
17:42 camelia rakudo-moar 4bf853: OUTPUT«($(1, 2, 3), $(4, 5, 6), $(7, 8, 9), $(10,))␤»
17:43 andreoss m: multi split-by(\n, *[])   {  } ; multi split-by(\n, *@xs ) {  @xs[^ n].item , split-by(n, |@xs[n .. *]).list; }; say split-by(3, my @x = 1..*)[^2].perl;
17:43 camelia rakudo-moar 4bf853: OUTPUT«()␤»
17:45 timotimo interesting, i hadn't realized that yet
17:47 skids .oO(Just think of _ as uppercase -)
18:13 Rounin joined #perl6
18:14 gfldex joined #perl6
18:18 DrForr Could someone riddle me this: https://gist.github.com/dr​forr/2f5407a2479731ff4082
18:30 FROGGS DrForr:
18:30 FROGGS -        {       <COMMENT>*
18:30 FROGGS +        {       [ <COMMENT> \s*]*
18:33 TimToady or \n?
18:33 DrForr So whitespace only applies inside a rule, not between invocations. Got it.
18:33 DrForr (lazy wording, I know, but I'm doing several hings...)
18:33 TimToady or <COMMENT> *
18:34 DrForr I'll take the latter form, thanks.
18:35 Zoffix joined #perl6
18:37 brrt joined #perl6
18:42 colomon btw, reading in the 8 MB file with JSON::Fast is now up to 4.94 GB.
18:43 colomon just killed it
18:44 TimToady Headline: "France foils terror attack"...no, unless France somehow encourages people to shoot themselves in the leg if they're about to be bad
18:46 FROGGS hoelzro: did you force-pushed to your three branches by any change?
18:47 brrt waitwhat
18:47 FROGGS chance*
18:47 brrt TimToady: headlines have been nonsense since there have been headlines
18:47 brrt almost as much as deadlines
18:49 raydiak m: 'foo' ~~ /<{'o ** 2'}>/   # known?
18:49 camelia rakudo-moar 4bf853: OUTPUT«5===SORRY!5=== Error while compiling EVAL_0␤Quantifier quantifies nothing␤at EVAL_0:1␤------> 3anon regex { ^o\c[32]**7⏏5\c[32]2}␤»
18:50 FROGGS eww
18:50 nine colomon: may sound strange, but have you tried JSON::Tiny? Sounds more like you encounter an endless loop.
18:51 _mg_ joined #perl6
18:51 raydiak FROGGS: that's the exact same thing I thought last night before I ran around an ripped all the spaces out of my project's pattern strings :P
18:52 FROGGS raydiak: why do you have pattern strings at all?
18:53 raydiak FROGGS: my project uses the strings for other things too, so I need them in a string form, so I just generate the regexen from the strings (along with other stuff)
18:54 colomon nine: yes, I tried it, and it took just as long.
18:56 hoelzro FROGGS: yes
18:56 nine colomon: that's not exactly encouraging :(
18:56 FROGGS hoelzro: that does not help
18:57 FROGGS grrr, and my connection to github is flaky
18:57 hoelzro =/
18:58 alini joined #perl6
18:58 hoelzro if you have the tab-completion branch checked out, just git fetch and git reset --hard origin/tab-completion
18:58 hoelzro after that, you can perl Configure.pl --gen-moar and it should work fine
18:58 * moritz hopes nobody wants to merge before the release tomorrow
18:59 hoelzro moritz: I would like to, but I am willing to hold off to guarantee stability
19:01 dalek rakudo/nom: f1d5d0f | lizmat++ | src/core/Any.pm:
19:01 dalek rakudo/nom: Deprecate grep-index in favour of grep :index
19:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f1d5d0f6df
19:03 lizmat TimToady: suggestions on how to handle last-index ?   :index and :from-end ?
19:05 Zoffix left #perl6
19:06 FROGGS hoelzro: https://github.com/rakudo/rakudo​/pull/391#issuecomment-95306400
19:06 brrt oh btw
19:06 hoelzro interesting...thanks FROGGS
19:07 hoelzro I'll have a look
19:07 brrt i apparently made a new perl convert in the last few months
19:07 brrt (that brings me up to two, if i may brag)
19:08 FROGGS a new perl convert? what does that mean?
19:08 zakharyas joined #perl6
19:09 lizmat TimToady: re grep vs grep-index: I always thought that it was a design smell if the return value changed depending on an attribute
19:09 brrt somebody who didn't use perl and now does. he's
19:09 FROGGS brrt: ahh, gotcha
19:09 lizmat also: grep() "is rw", whereas I don't think grep :index should be "is rw"
19:10 brrt our new sysadmin, used to use sed/awk and now perl
19:10 lizmat TimToady: so maybe the whole f1d5d0f is bogus, as some of the candidates are "is rw" and some aren't
19:10 lizmat jnthn: is it a problem if some mmd candidates are "is rw" and some aren't ?
19:16 Patterner joined #perl6
19:22 TimToady :k, :kv, :p should follow the same policy as subscripting does
19:23 TimToady lunch &
19:23 hoelzro FROGGS: thanks for the test; I seem to have forgotten to test the situation where linenoise isn't installed =/
19:25 colomon joined #perl6
19:26 tony-o where does panda install bin/ files to when used in conjunction with rakudobrew ?
19:30 kst joined #perl6
19:32 FROGGS tony-o: to "%*CUSTOM_LIB<site>/bin" I guess
19:34 rurban joined #perl6
19:39 tony-o for rakudobrew, shouldn't it install to .rakudobrew/bin ?
19:39 tony-o or at least be linked there. .
19:41 hoelzro FROGGS: I'll fix that after work tonight; I guess it'll have to wait until May =/
19:42 FROGGS hoelzro: well, quite some ppl use HEAD anyway (via rakudobrew for example)
19:42 hoelzro true
19:43 eli-se joined #perl6
19:43 hoelzro that's something I hadn't thought of; in order to get history back, in addition to the new features, one needs to install Linenoise
19:44 hoelzro perhaps I should patch rakudobrew to tell people that post-install?
19:45 FROGGS dunno how rakudobrew could handle that
19:46 hoelzro FROGGS: just after installing rakudo, it would print "you should probably 'panda Linenoise'"
19:47 FROGGS yes, we can put that into our makefile perhaps
19:48 hoelzro that works too
19:48 hoelzro that can come post-merge =)
19:49 FROGGS sure :o)
19:50 timotimo i'll most likely cover the week + a half when the release comes out tomorrow
19:59 yqt joined #perl6
20:03 torbjorn im using a grammar to parse some javascript (or dart actually), a portion of which contains foo:"bar", baz:"test" , which I parse with a rule. is there a way to add those key:value pars to real names in the capture? ie have foo => "bar" be in there as if it were a named capture
20:03 torbjorn ofcourse its a small matter to fix it afterwards, but it would be nice to have it all served on a platter from the grammar
20:05 arnsholt torbjorn: $<sensible_name>=[...]
20:06 torbjorn yeah, but could i pick up that sensible_name from the text that im parsing?
20:06 arnsholt Or if it's a subrule you want to have a less generic name <key=.identifier>
20:06 FROGGS torbjorn: that's what you do in the actions
20:06 torbjorn otherwise it'd be foo:$<foo>=[\w+]
20:06 arnsholt Oh, like that. No, I don't think there's a simple way to do it
20:07 arnsholt Can't really see why you'd want it either, TBH
20:07 FROGGS make that pair a subrule, and then: make ~$<key> => ~$<val>
20:07 FROGGS ... in the action
20:07 arnsholt Yeah, that's the sensible way to do it
20:07 * torbjorn googles grammar actions
20:07 torbjorn my perl 6 fu is not all that (yet!)
20:08 FROGGS m: say ("foo:bar" ~~ /(\w+) ':' (\w+) { make ~$0 => ~$1 } /).made
20:08 camelia rakudo-moar f1d5d0: OUTPUT«foo => bar␤»
20:08 arnsholt torbjorn: Nothing magical, just a class with the same names as your grammar rules
20:08 FROGGS torbjorn: what is happening here in the block would have to go into an action method
20:08 arnsholt Then, when a rule matches, the corresponding action method is called, with the match object as an argument
20:08 torbjorn ah. so i see, seems to fit perfectly, as you say
20:10 arnsholt Then MyGrammar.parse($string, :actions(MyActions.new))
20:10 torbjorn great
20:10 FROGGS m: grammar G { rule TOP { (\w+) ':' (\w+) } }; class A { method TOP($/) { make ~$0 => ~$1 } }; say G.parse( "foo:bar", :actions(A) ).made
20:10 camelia rakudo-moar f1d5d0: OUTPUT«foo => bar␤»
20:23 dalek perl6-examples: f97eb16 | (David Warring)++ | categories/parsers/CSSGrammar.pm:
20:23 dalek perl6-examples: [CSSGrammar.pm] removed case sensitivity
20:23 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/f97eb16fe0
20:29 beastd joined #perl6
20:30 brrt left #perl6
20:30 brrt joined #perl6
20:32 dalek rakudo/nom: 049fe61 | lizmat++ | src/core/Any.pm:
20:32 dalek rakudo/nom: Revert "Deprecate grep-index in favour of grep :index"
20:32 dalek rakudo/nom:
20:32 dalek rakudo/nom: <TimToady>  :k, :kv, :p should follow the same policy as subscripting does
20:32 dalek rakudo/nom:
20:32 dalek rakudo/nom: My patch only partially addresses this, and it seems inappropriate to put this
20:32 dalek rakudo/nom: in just before the release tomorrow.
20:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/049fe61afa
20:37 dalek roast: dc55cec | TimToady++ | S05-interpolation/regex-in-variable.t:
20:37 dalek roast: test things broken if we escape in MAKE_REGEX
20:37 dalek roast:
20:37 dalek roast: (Injection attacks need to be solved in a more fundamental way anyway.)
20:37 dalek roast: review: https://github.com/perl6/roast/commit/dc55cecaec
20:37 dalek rakudo/nom: 7bef4a3 | TimToady++ | src/core/Cursor.pm:
20:37 dalek rakudo/nom: remove EVAL bandaid in MAKE_REGEX for now
20:37 dalek rakudo/nom:
20:37 dalek rakudo/nom: Escaping characters obscures the actual injection attack vulnerability,
20:37 dalek rakudo/nom: and breaks other things.  (A better solution will be to not use interpolation.)
20:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7bef4a3051
20:39 zeleiadi joined #perl6
20:44 diana_olhovik joined #perl6
20:49 dolmen joined #perl6
21:24 TimToady m: say "foo" ~~ /<{" o ** 2 "}>/
21:24 camelia rakudo-moar 7bef4a: OUTPUT«「oo」␤»
21:26 TimToady m: say "foo" ~~ /<{"^ o ** 2 ";}>/
21:26 camelia rakudo-moar 7bef4a: OUTPUT«「oo」␤»
21:26 TimToady m: say "foo" ~~ /<{"« o ** 2 ";}>/
21:26 camelia rakudo-moar 7bef4a: OUTPUT«「oo」␤»
21:27 TimToady m: say "foo" ~~ /<{"<![o]> o ** 2 ";}>/
21:27 camelia rakudo-moar 7bef4a: OUTPUT«Nil␤»
21:27 TimToady something's eating some zero-width assertions but not others
21:28 lizmat maybe something's on a diet ?
21:29 TimToady m: say "foo" ~~ /<{"<!after 'f'> o ** 2 ";}>/
21:29 camelia rakudo-moar 7bef4a: OUTPUT«「oo」␤»
21:29 TimToady it's like something's doing a substr
21:31 TimToady m: say "foo" ~~ /<{"<at 1> o ** 2 ";}>/
21:31 camelia rakudo-moar 7bef4a: OUTPUT«cannot numify this␤  in regex  at EVAL_0:1␤  in method ACCEPTS at src/gen/m-CORE.setting:16795␤  in block  at src/gen/m-CORE.setting:16682␤  in method INTERPOLATE at src/gen/m-CORE.setting:16671␤  in method ACCEPTS at src/gen/m-CORE.setting:16795…»
21:31 TimToady m: say "foo" ~~ /<{"<at(1)> o ** 2 ";}>/
21:31 camelia rakudo-moar 7bef4a: OUTPUT«Nil␤»
21:31 TimToady m: say "foo" ~~ /<{"<at(0)> o ** 2 ";}>/
21:31 camelia rakudo-moar 7bef4a: OUTPUT«「oo」␤»
21:31 TimToady sure seems like something is doing substr
21:41 rurban joined #perl6
21:53 masak 'night, #perl6
21:54 lizmat gnight masak
21:59 vendethiel joined #perl6
22:08 telex joined #perl6
22:12 ponbiki joined #perl6
22:21 tony-o what is that supposed to do TimToady  ?
22:27 raydiak it *should* do the same thing as if you removed the '<{"' and '";}>' (which runs the code in the <{ }> and inserts the resulting string as part of the regex instead of as a literal string)
22:27 cognominal joined #perl6
22:33 jferrero joined #perl6
22:33 jferrero joined #perl6
22:36 vendethiel joined #perl6
22:59 skids joined #perl6
23:00 lizmat good night, #perl6!
23:01 raydiak good night lizmat
23:02 cognominal joined #perl6
23:03 rmgk_ joined #perl6
23:09 hahainternet joined #perl6
23:12 vendethiel joined #perl6
23:17 raydiak anyone know some good words for a state in between purely fixed vs variable, static vs dynamic, along those lines? only thing I can think of is "slushy" which underwhelms me
23:18 raydiak (or a bunch of prefixes which make longer more awkward words, like quasi- etc)
23:19 skids flexible?
23:20 cognominal and persistent vs mutable, another axis where your slushy may lie? a way to say, I have no idea about what ur thinking about.
23:21 raydiak yes I need more words to make me seem more articulate when I have no idea what I'm thinking about :)
23:22 skids Well, flex would imply bending without breaking.  Transient would imply having a normal value which is occasionally changed then reverted back.
23:25 skids Then there's hard/firm/soft but that's overloaded already.
23:25 cognominal In the persistent world à la clojure, a transient is somehing that you can't revert. It is a  stateful hack hidden within the confine of a function.
23:25 cognominal http://clojure.org/transients
23:26 raydiak need something to have a name before it can be used, but what "it" is, and thus the most appropriate name, is often still a very "flexible" concept when the name is chosen...same problem with children
23:27 cognominal Not to say that transient is not an appropriate word for what you think but it is already taken.
23:30 cognominal I am reading Programming Clojere and it is eye opening. Too bad Rich Hickey is hang on ??? (whatever is the lipian word for code as data)
23:30 raydiak I will have to think more specifically about how to describe this, and that will probably help find the word...thanks for the words and ideas, they help the entropy pool immensely :)
23:32 timotimo what kind of insights does the "programming clojure" book hold?
23:32 cognominal it is a long time that a O'Reilly book made me such a big effect comparable to Programming Perl
23:33 skids cognomial: I think "transient" got that connotation because engineers get overheard talking about derivatives as if they were quantities.
23:33 cognominal I guess a TimToady is necessary here.
23:34 cognominal for the beotian I am, transient  in electronic sounds like some intermediary step you don't want to know about (just like the transient in Clojure that breaks the functional fiction)
23:34 cognominal TimToady++
23:36 cognominal http://en.wikipedia.org/wiki/Homoiconicity was the word I searched.
23:36 skids cognomial: and in electronic, that's exactly what it means when viewed outside the time domain, but the people saying it, are working in the time domain :-)
23:36 cognominal Probably a curse word in the Perl world where we believe on the merits of syntax.
23:37 skids erm s/time/frequency/
23:39 ugexe metamorphic perhaps, or differentiation
23:39 cognominal timotimo, one insight is the merit of persistent structures for concurrency
23:41 TimToady raydiak: what activity might cause it to vary?
23:41 cognominal I have not yet read Masak blog about mazes but in PJ there is an interesting maze implementation, a conway life game as well that may interest him
23:41 ssqq joined #perl6
23:47 vendethiel joined #perl6
23:55 ssqq p6: map(* * 2, ^5)
23:55 camelia rakudo-moar 7bef4a: ( no output )
23:56 ssqq p6: say map(* * 2, ^5)
23:56 camelia rakudo-moar 7bef4a: OUTPUT«0 2 4 6 8␤»
23:56 ssqq p6: say map(**2, ^5)
23:56 camelia rakudo-moar 7bef4a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfile␤Unable to parse expression in argument list; couldn't find final ')' ␤at /tmp/tmpfile:1␤------> 3say map(**7⏏2, ^5)␤    expecting any of:␤        infix␤        infix stopper␤»
23:56 TimToady m: say **.WHAT
23:56 camelia rakudo-moar 7bef4a: OUTPUT«(HyperWhatever)␤»
23:58 perturbation joined #perl6

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

Perl 6 | Reference Documentation | Rakudo