Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2016-09-13

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:02 Juerd Sent an email :)
00:10 mcmillhj joined #perl6
00:21 rgrinberg joined #perl6
00:43 BenGoldberg joined #perl6
00:44 Pierre_ joined #perl6
00:53 Pierre_ joined #perl6
01:03 bob777 joined #perl6
01:04 Pierre_ joined #perl6
01:12 nadim_ joined #perl6
01:22 kalkin- joined #perl6
01:42 _slade_ joined #perl6
01:59 lucs joined #perl6
02:01 Pierre_ joined #perl6
02:02 Pierre_ joined #perl6
02:10 Pierre_ joined #perl6
02:11 Pierre_ joined #perl6
02:20 AlexDaniel m: my @chars = (0..0x1FFFF).grep({.uniname ~~ /AIRPLANE/})».chr
02:20 camelia rakudo-moar 22946e: ( no output )
02:20 AlexDaniel m: say (0..0x1FFFF).grep({.uniname ~~ /AIRPLANE/})».chr
02:20 camelia rakudo-moar 22946e: OUTPUT«(✈ 🛦 🛧 🛨 🛩 🛪 🛫 🛬)␤»
02:20 AlexDaniel m: .say for (0..0x1FFFF).grep({.uniname ~~ /AIRPLANE/})».chr.uninames
02:20 camelia rakudo-moar 22946e: OUTPUT«Cannot resolve caller uninames(List); none of these signatures match:␤    (Str:D $str)␤  in block <unit> at <tmp> line 1␤␤»
02:21 AlexDaniel m: uniname.say for (0..0x1FFFF).grep({.uniname ~~ /AIRPLANE/})».chr
02:21 camelia rakudo-moar 22946e: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Calling uniname() will never work with any of these multi signatures:␤    (Str:D $str) ␤    (Int:D $code)␤at <tmp>:1␤------> 3<BOL>7⏏5uniname.say for (0..0x1FFFF).grep({.unin␤»
02:21 AlexDaniel m: .uniname.say for (0..0x1FFFF).grep({.uniname ~~ /AIRPLANE/})».chr
02:21 camelia rakudo-moar 22946e: OUTPUT«AIRPLANE␤UP-POINTING MILITARY AIRPLANE␤UP-POINTING AIRPLANE␤UP-POINTING SMALL AIRPLANE␤SMALL AIRPLANE␤NORTHEAST-POINTING AIRPLANE␤AIRPLANE DEPARTURE␤AIRPLANE ARRIVING␤»
02:21 AlexDaniel wait a minute, why is it so fast?
02:21 AlexDaniel committable6: HEAD .uniname.say for (0..0x1FFFF).grep({.uniname ~~ /AIRPLANE/})».chr
02:21 committable6 AlexDaniel, ¦«HEAD»: AIRPLANE␤UP-POINTING MILITARY AIRPLANE␤UP-POINTING AIRPLANE␤UP-POINTING SMALL AIRPLANE␤SMALL AIRPLANE␤NORTHEAST-POINTING AIRPLANE␤AIRPLANE DEPARTURE␤AIRPLANE ARRIVING
02:21 AlexDaniel committable6: 2015.12 .uniname.say for (0..0x1FFFF).grep({.uniname ~~ /AIRPLANE/})».chr
02:21 committable6 AlexDaniel, ¦«2015.12»: AIRPLANE␤UP-POINTING MILITARY AIRPLANE␤UP-POINTING AIRPLANE␤UP-POINTING SMALL AIRPLANE␤SMALL AIRPLANE␤NORTHEAST-POINTING AIRPLANE␤AIRPLANE DEPARTURE␤AIRPLANE ARRIVING
02:22 AlexDaniel benchable6: 2015.12,HEAD .uniname.say for (0..0x1FFFF).grep({.uniname ~~ /AIRPLANE/})».chr
02:22 benchable6 AlexDaniel, starting to benchmark the 2 given commits
02:22 benchable6 AlexDaniel, benchmarked the given commits, now zooming in on performance differences
02:22 benchable6 AlexDaniel, ¦«2015.12»:1.2373␤¦«HEAD»:1.0631
02:23 AlexDaniel hm, it has always been fast then
02:23 AlexDaniel benchable6: releases .uniname.say for (0..0x1FFFF).grep({.uniname ~~ /AIRPLANE/})».chr
02:23 benchable6 AlexDaniel, starting to benchmark the 11 given commits
02:24 benchable6 AlexDaniel, benchmarked the given commits, now zooming in on performance differences
02:24 benchable6 AlexDaniel, ¦«2015.10»:1.1376␤¦«2015.11»:1.1407␤¦«2015.12»:​1.1768␤¦«2016.02»:1.1883␤¦«2016.03»:1.2774␤¦«20​16.04»:1.2801␤¦«64fbc84»:1.3483␤¦«d3acb93»:1.22​46␤¦«2016.05»:1.1342␤¦«2016.06»:1.0945␤¦«2016.0​7.1»:1.0498␤¦«2016.08.1»:1.0445␤¦«HEAD»:1.0812
02:24 bjz joined #perl6
02:25 AlexDaniel MasterDuke: where is my graph? :)
02:25 noganex joined #perl6
02:26 AlexDaniel MasterDuke: by the way, it looks like it extracts archives on each iteration
02:32 SmokeMachine____ If someone have time, could, please, give me some comments about the first version of my project? (https://github.com/FCO/Test-Fuzz). The idea is to create a framework that runs some generative tests to your functions (and in the future methods too) marked as "fuzzed"...
02:33 bjz joined #perl6
02:37 MasterDuke SmokeMachine____: i'd think -0 would actually be a very good test case
02:37 SmokeMachine____ this is a example of use: https://github.com/FCO/Tes​t-Fuzz/blob/master/test.p6
02:38 SmokeMachine____ MasterDuke: -0?
02:39 MasterDuke https://github.com/FCO/Test-Fuz​z/blob/master/Test/Fuzz.pm#L53
02:39 SmokeMachine____ :P
02:40 SmokeMachine____ ok, removing the unless...
02:44 cdg joined #perl6
02:48 SmokeMachine____ MasterDuke: so... what are you thinking about it?
02:52 AlexDaniel m: say “$_ → {.uniname}” for (0..0x1FFFF).grep({.uniname ~~ /«OLDER/})».chr
02:52 camelia rakudo-moar 22946e: OUTPUT«👴 → OLDER MAN␤👵 → OLDER WOMAN␤»
02:52 MasterDuke looks nice. but i gotta admit i know almost nothing about testing frameworks, so i don't really have anything to compare against
02:52 AlexDaniel .oO( what about YOUNGER variants? )
02:52 AlexDaniel .oO( … YOUNGER OLDER WOMAN ? )
02:54 * TimToady needs a CHILDISH GEEZER...
02:54 SmokeMachine____ MasterDuke: In this case it "only have to" generate inputs for the function run the function and test the output...
02:55 SmokeMachine____ MasterDuke: Thanks for the time and for the comment!
02:57 MasterDuke and if i understand correctly it uses generators for each type in the signature (of which you've implemented Int and UInt so far)?
02:57 SmokeMachine____ that's it...
02:58 SmokeMachine____ and you can use "fuzz-generator" to create new generators for custom types...
02:58 AlexDaniel TimToady: 🎅? :)
02:59 MasterDuke cool
03:00 mspo 👴 just crashed my firefox
03:00 mspo I also don't have a console font icon for it
03:00 SmokeMachine____ MasterDuke: Ill create other generators...
03:01 TimToady AlexDaniel: Ho, ho, ho!
03:02 SmokeMachine____ MasterDuke: I think I should have different generators for :_, :D and :U...
03:03 SmokeMachine____ MasterDuke: I don't know how to do that...
03:04 SmokeMachine____ yes
03:05 SmokeMachine____ yet (sorry)
03:05 MasterDuke multi fuzz-generator(UInt:D) doesn't work?
03:05 perigrin pretty sure that's called "laundromat dryer"
03:06 skids m: use NativeCall; class A { my $.foo = class :: is repr("CStruct") { has int $.a; has int $.b; } }; A.foo.perl.say; class D is repr("CStruct") {   };
03:06 camelia rakudo-moar 22946e: OUTPUT«<anon|86927184>␤»
03:06 skids m: use NativeCall; class A { my $.foo = class :: is repr("CStruct") { has int $.a; has int $.b; } }; A.foo.perl.say; class D is repr("CStruct") {  constant foo = A.foo.perl.say;  };
03:06 camelia rakudo-moar 22946e: OUTPUT«Any␤Any␤»
03:07 labster joined #perl6
03:08 SmokeMachine____ m: my $f = sub bla(Int:D $a){}; $f.signature.params.first.type
03:08 skids m: class A { my $.foo = class :: { has int $.a; has int $.b; } }; A.foo.perl.say; class D { constant foo = A.foo.perl.say;  }; # not a NativeCall thing.  Good.
03:08 camelia rakudo-moar 22946e: ( no output )
03:08 camelia rakudo-moar 22946e: OUTPUT«Any␤Any␤»
03:08 SmokeMachine____ m: my $f = sub bla(Int:D $a){}; $f.signature.params.first.type.say
03:08 camelia rakudo-moar 22946e: OUTPUT«(Int)␤»
03:08 SmokeMachine____ MasterDuke: ^^
03:09 SmokeMachine____ MasterDuke: thats how I choose the generator
03:11 MasterDuke hmm, that might require help from someone more knowledgeable than i
03:16 SmokeMachine____ MasterDuke: I found!
03:16 SmokeMachine____ m: my $f = sub bla(Int:D $a){}; $f.signature.params.first.modifier
03:16 camelia rakudo-moar 22946e: ( no output )
03:16 SmokeMachine____ m: my $f = sub bla(Int:D $a){}; $f.signature.params.first.modifier.say
03:16 camelia rakudo-moar 22946e: OUTPUT«:D␤»
03:17 kyclark joined #perl6
03:18 MasterDuke oh nice
03:18 MasterDuke didn't know about modifier
03:18 SmokeMachine____ me neither...
03:40 skids m: class A { my $.bar = 42; }; class D { constant bar = A.bar.say; }; A.bar.say; # RT#129261 filed.
03:40 synopsebot6 Link:  https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=129261
03:40 camelia rakudo-moar 22946e: OUTPUT«(Any)␤(Any)␤»
03:44 zengargoyle joined #perl6
03:46 wamba joined #perl6
03:50 TimToady m: BEGIN class A { my $.bar = 42; }; class D { constant bar = A.bar.say; }; A.bar.say;
03:50 camelia rakudo-moar 22946e: OUTPUT«42␤42␤»
03:50 holyghost joined #perl6
03:51 TimToady m: class A { my $.bar = 42; }; A.bar.say;
03:51 camelia rakudo-moar 22946e: OUTPUT«42␤»
03:52 TimToady weird
03:53 japhb joined #perl6
03:54 TimToady m: class A { my $.bar = 42; }; class D { my constant bar = 43 }; A.bar.say;
03:54 camelia rakudo-moar 22946e: OUTPUT«42␤»
03:54 TimToady m: class A { my $.bar = 42; }; class D { BEGIN A.bar.say; }; A.bar.say;
03:54 camelia rakudo-moar 22946e: OUTPUT«(Any)␤(Any)␤»
03:55 TimToady m: class A { my $.bar = 42; }; BEGIN A.bar.say; A.bar.say;
03:55 camelia rakudo-moar 22946e: OUTPUT«(Any)␤(Any)␤»
03:58 TimToady skids: ^^
04:00 * skids adds to ticket.
04:09 holyghost joined #perl6
04:09 TimToady m: class A { BEGIN my $.bar = 42; }; BEGIN A.bar.say; END A.bar.say;
04:09 camelia rakudo-moar 22946e: OUTPUT«42␤42␤»
04:20 japhb joined #perl6
04:26 Timbus joined #perl6
04:26 Pierre_ joined #perl6
04:28 Pierre_ joined #perl6
04:35 Pierre_ joined #perl6
04:38 SmokeMachine____ MasterDuke: https://github.com/FCO/Test-Fuzz/commit/​572557445ec1272b72c1299b7fe8c63d0059894e
04:39 SmokeMachine____ now it accepts generators with smileys
04:51 japhb joined #perl6
04:54 Pierre_ joined #perl6
05:02 Cabanossi joined #perl6
05:12 Pierre_ joined #perl6
05:18 japhb joined #perl6
05:23 cog_ joined #perl6
05:30 Pierre_ joined #perl6
05:41 Pierre_ joined #perl6
05:53 Woodi joined #perl6
06:06 bob777 joined #perl6
06:09 CIAvash joined #perl6
06:12 mniip joined #perl6
06:15 bob777 joined #perl6
06:19 domidumont joined #perl6
06:23 wamba joined #perl6
06:24 nebuchadnezzar joined #perl6
06:26 firstdayonthejob joined #perl6
06:28 Actualeyes joined #perl6
06:31 wamba m: use URI; say IETF::RFC_Grammar.new("rfc3986")
06:31 camelia rakudo-moar 6a4ba7: OUTPUT«===SORRY!===␤Could not find URI at line 1 in:␤    /home/camelia/.perl6␤    /home/camelia/rakudo-m-inst-2/share/perl6/site␤    /home/camelia/rakudo-m-inst-2/share/perl6/vendor␤    /home/camelia/rakudo-m-inst-2/share/perl6␤    CompUnit::Repositor…»
06:35 salva joined #perl6
06:45 rindolf joined #perl6
06:54 wamba joined #perl6
07:03 ufobat joined #perl6
07:03 cpage joined #perl6
07:18 cpage joined #perl6
07:22 * lizmat clickbaits https://p6weekly.wordpress.com/20​16/09/12/warmen-up-das-youtuben/
07:23 zakharyas joined #perl6
07:25 leejo lizmat: are your perl6 module slides from APW available online? my module is "ready" to be released \o/
07:25 lizmat leejo: no, I guess I should make them available  :-)
07:25 leejo ok :)
07:26 leejo https://github.com/leejo/geo-ip2location-lit​e-p6/blob/master/lib/Geo/IP2Location/Lite.pm # it feels like i could make this more idiomatic (e.g. the list of constants and the multiple get_ methods) i'm not sure though?
07:27 moritz leejo: at least the list of constants sounds like a good use case for an enum
07:28 Pierre_ joined #perl6
07:29 lizmat leejo: I also see some superstitious parens
07:29 moritz leejo: and you could generate the accessors, something like   for %method_to_constant.kv -> $name, $constant { self.^add_method("get_$name", method (IPv4 $ip) { self!get_by_pos( $ip, $constant ) } );
07:29 lizmat "if (foo == bar) {" can be written as "if foo == bar {" in Perl 6
07:29 leejo yeah i need to remove a few more of the extraneous params
07:30 leejo moritz: ta! i was going to do something like that
07:30 lizmat also, like in Perl 5, you don't need a "return" at the end of a sub
07:31 lizmat but that could be a stylistic decision :-)
07:31 leejo :)
07:31 lizmat !readFloat looks wrong at the end: one or two return's too many (depending how you look at it
07:31 lizmat )
07:32 leejo oops, yep
07:38 g4 joined #perl6
07:43 darutoko joined #perl6
07:47 CIAvash This command doesn't finish running, am I doing something wrong? perl6 --target=parse -e 'sub ($a, $b) {}'
07:47 CIAvash a sub with one parameter works
07:50 wamba joined #perl6
07:51 DrForr Well, it's obviously to do with the '--target=parse' parameter, as "-e 'sub ($a, $b) {}'" does just fine.
07:58 nine Endless recursion in QRegex.dump
07:59 wamba perl6 -e 'use URI; say IETF::RFC_Grammar.new("rfc3986")'
07:59 wamba Outputs: IETF::RFC_Grammar.new(rfc => "rfc3986", grammar => IETF::RFC_Grammar::URI, parse_result => Any)
07:59 wamba Does "use module" export all modules used in the module?
07:59 nine wamba: right now, yes. Though that's unintentional and subject to change.
08:00 wamba nine, OK. thank you
08:03 ShimmerFairy nine: interesting. I think you could just as easily argue that things the module makes use of will likely be need by the module user (e.g. module Foo giving back data from module Bar direct to the user, which would then need module Bar to continue manipulating that data)
08:05 nine ShimmerFairy: global registration of module short names prevents the promised feature of being able to load multiple versions of a module.
08:06 ShimmerFairy I'm not sure I see the cause-effect there. What about the globalness of it makes it suddenly impossible?
08:07 nine ShimmerFairy: "P6M Merging GLOBAL symbols failed: duplicate definition of symbol $sym"
08:07 ShimmerFairy nine: do you mean loading different versions in different places? Like sub foo { { use Foo:ver<1>; ... }; { use Foo:ver<2>; ... } } ?
08:08 nine yes
08:08 ShimmerFairy ok, I was thinking you meant loading different versions in the same scope :)
08:09 eyck joined #perl6
08:14 andrzejku joined #perl6
08:14 nine Also funny side effects like use Catalyst:from<Perl5>; and suddenly you cannot use URI or HTTP::Request anymore, since the Perl 5 modules share those names and are already loaded.
08:21 eyck joined #perl6
08:26 CIAvash nine: Should I file a bug report for --target=parse?
08:27 lizmat CIAvash: please do  :-)
08:34 wamba joined #perl6
08:36 RabidGravy joined #perl6
08:38 CIAvash https://rt.perl.org/Public/​Bug/Display.html?id=129262
08:42 zengargoyle moritz: thanks for fixing MoarVM #403
08:44 moritz zengargoyle: you're very welcome
08:47 Pierre_ joined #perl6
09:01 Pierre_ joined #perl6
09:02 jonas1 joined #perl6
09:17 bjz joined #perl6
09:24 bjz joined #perl6
09:44 bjz joined #perl6
09:52 larion_ joined #perl6
09:53 vytas joined #perl6
10:00 mcmillhj joined #perl6
10:03 andrzejku joined #perl6
10:19 canopus joined #perl6
10:21 cgfbee joined #perl6
10:28 MilkmanDan joined #perl6
10:50 bjz joined #perl6
10:56 bjz_ joined #perl6
10:56 Pierre_ joined #perl6
11:07 wamba joined #perl6
11:10 * moritz drops a pin
11:11 * rjt_pl steps on it
11:11 nine sssssht!
11:15 amaliaa joined #perl6
11:17 amalia_ joined #perl6
11:20 DrForr . o ( Put your *weight* on it... )
11:27 richi235 joined #perl6
11:36 keix joined #perl6
11:38 keix joined #perl6
11:44 itaipu joined #perl6
11:47 wamba joined #perl6
11:47 dalek doc: aa1c55e | (Thor Michael Støre)++ | doc/Type/DateTime.pod6:
11:47 dalek doc: Fixed timestamp format string
11:47 dalek doc:
11:47 dalek doc: Removed superfluous : from timestamp format string
11:47 dalek doc: review: https://github.com/perl6/doc/commit/aa1c55e8f9
11:47 dalek doc: c102f85 | Altai-man++ | doc/Type/DateTime.pod6:
11:47 dalek doc: Merge pull request #904 from thormick/fix-timestamp-format-string
11:47 dalek doc:
11:47 dalek doc: Fixed timestamp format string
11:47 dalek doc: review: https://github.com/perl6/doc/commit/c102f85a74
12:05 smls joined #perl6
12:10 smls Are threads supposed to see dynamic variables declared in the mainline prior to starting the thread?
12:11 jnthn No
12:11 jnthn A start block will go the extra mile to make that happen
12:11 jnthn But if you work directly with threads then every one has its own fresh dynamic scope
12:11 smls I'm using `start` though
12:12 jnthn m: sub foo() { my $*a = 41; bar() }; sub bar() { start { $*a + 1 } }; say await foo
12:12 camelia rakudo-moar c86695: OUTPUT«42␤»
12:12 smls Adding an `await`...`start` caused `Dynamic variable $*tmpdir not found, even though it was found without it.
12:13 smls jnthn: Yes, I can't seem to golf the problem either. But in that large script, it happens... :P
12:13 jnthn Well, it's either the script at fault, or a bug. :)
12:13 jnthn I don't have any guesses at what could break it though, fwiw
12:13 jnthn It just takes the CALLER:: of whatever calls Promise.start iirc
12:13 jnthn Which is what a start { ... } compiles into a call to
12:13 smls m: our $*a = 42;  await start { await start { say $*a } }
12:13 camelia rakudo-moar c86695: OUTPUT«Dynamic variable $*a not found␤  in block <unit> at <tmp> line 1␤␤»
12:13 smls aha! ^^
12:14 jnthn m: my $*a = 42; say $*a.VAR.dynamic
12:14 camelia rakudo-moar c86695: OUTPUT«True␤»
12:14 jnthn m: our $*a = 42; say $*a.VAR.dynamic
12:14 camelia rakudo-moar c86695: OUTPUT«True␤»
12:14 jnthn Hm, not that then
12:14 smls Should that still work, when it's 2 levels deep into `start`?
12:15 jnthn Oh, I thought it was about the our...
12:15 jnthn Umm...I guess it'd be nice if it worked.
12:16 jnthn Can RT it; I don't see why we can't fix that.
12:16 smls ok, will RT
12:18 jnthn Thanks :)
12:21 Pierre_ joined #perl6
12:24 eliasr joined #perl6
12:26 masak ahoj, #perl6
12:27 * masak typo'd it as '#perl76', and imagined a distant future where the Perl 75 people fret about Perl 76 squatting the version number, despite it being a rewrite-from-scratch
12:28 timotimo :D
12:33 wamba joined #perl6
12:39 zakharyas joined #perl6
12:47 smls m: $GLOBAL::a = 42;  await start { await start { say $GLOBAL::a } }
12:47 camelia rakudo-moar c86695: OUTPUT«42␤»
12:47 Pierre_ Small question, when adding a module to the eco system, better to use
12:47 Pierre_ unit module Foo::Bar:ver<v0.0.1>:auth<github:xxx>;
12:47 Pierre_ or
12:47 Pierre_ unit module Foo::Bar;
12:47 Pierre_ i see a lot of both, so i am wondering
12:48 nine Pierre_: version and auth are taken from the META6.json file. No real need to put it in the source, too.
12:49 Pierre_ ok, so i guess it's more if locally, i want to mangaged several version of some personnal project
12:49 Pierre_ then there is not meta, it could be taken from the source, but then, the files would collides with the same name
12:50 Pierre_ also, i guess with the current way of storing modules on github, we are not able to able several version, or should i create release and tag them with the same version number?
12:51 nine You can even have a META6.json locally when you run "perl6 -Ilib" and there's ./META6.json and ./lib/Whatever.pm6
12:53 timotimo it could very well be that zef already supports tags on github?
12:53 * timotimo wonders, then shrugs
12:53 timotimo i should really be using zef more than panda
12:54 mcmillhj joined #perl6
12:56 Pierre_ https://github.com/tony-o/perl6-zef/​search?utf8=%E2%9C%93&amp;q=version
12:57 Pierre_ i do not see anything related to version when installing
12:58 timotimo maybe "tag" or something?
12:58 cpage_ joined #perl6
12:59 Pierre_ the install part seems to jsut take a package name
12:59 Pierre_ hum, i am on an old repo
13:01 Pierre_ from the new repo
13:01 Pierre_ `zef install "CSV::Parser:auth<tony-o>:ver<0.1.2>"`
13:01 Pierre_ it seems that it handles version
13:01 timotimo mhm
13:01 Pierre_ https://github.com/ugexe/zef
13:10 cdg joined #perl6
13:15 ugexe nine: what about for versioning specific modules of a distribution instead of the distribution itself?
13:16 dalek ecosystem: 2d8d789 | (Julien Simonet)++ | META.list:
13:16 dalek ecosystem: Add IRC::Client::Plugin::UserPoints
13:16 dalek ecosystem:
13:16 dalek ecosystem: This is a plugin for IRC::Client, counting points attributed to users.
13:16 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/2d8d78938d
13:16 dalek ecosystem: 3fd7522 | (Zoffix Znet)++ | META.list:
13:16 dalek ecosystem: Merge pull request #248 from jsimonet/patch-1
13:16 dalek ecosystem:
13:16 dalek ecosystem: Add IRC::Client::Plugin::UserPoints: https://github.com/jsimonet/​IRC-Client-Plugin-UserPoints
13:16 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/3fd752271b
13:16 ugexe i dont know if thats actually useful, just the one thing i can think of where it would make sense
13:16 kaare__ joined #perl6
13:17 ugexe i imagine :api<> will be more useful for that
13:18 timotimo aye, :api<> is interesting
13:21 skids joined #perl6
13:24 nine ugexe: no plan yet how to support that. But the :api case crossed my mind. Right now you'd have to upload separate dists.
13:24 pullphinger joined #perl6
13:25 rgrinberg joined #perl6
13:27 Woodi simple case: if something provide usable api then make it separate dist :)
13:28 pullphinger joined #perl6
13:28 Woodi anyway, for now "distribution" is strange name to me. how it is defined ?
13:29 Woodi in p5 it was: bunch of some related/useful modules, IMO
13:31 timotimo i think our dists are "the smallest unit of installable"
13:32 Woodi timotimo: that's nice definition :)
13:34 Woodi I just got impression we have modules and at some level of details somehow/someway it is turning into dists... but probably I just forgot what jnthn++ specced... # also no idea what package is :)
13:36 dogbert2 joined #perl6
13:38 MilkmanDan joined #perl6
13:38 sufrostico joined #perl6
13:46 wamba joined #perl6
13:53 tobor joined #perl6
13:53 tobor m: BEGIN @*ARGS = <blah dsaa>; multi MAIN ( @steps where { $_ eq <foo bar ber>.any or fail "blarg" } ) { say "entre" }
13:53 camelia rakudo-moar b771f1: OUTPUT«Usage:␤  <tmp> <steps> ␤»
13:53 tobor How come it doesn't die during arg.... oh god
13:53 tobor m: BEGIN @*ARGS = <blah dsaa>; multi MAIN ( @steps where { $_ eq <foo bar ber>.any or die "blarg" } ) { say "entre" }
13:53 camelia rakudo-moar b771f1: OUTPUT«Usage:␤  <tmp> <steps> ␤»
13:53 tobor Nope.. Thought the issue was the fail. How come it doesn't die during type check?
13:54 MilkmanDan joined #perl6
13:56 tobor m: BEGIN @*ARGS = <blah dsaa>; sub MAIN ( *@steps ) { @steps.all eq <foo bar ber>.any or fail "blarg";  say "entre" }
13:56 camelia rakudo-moar b771f1: OUTPUT«blarg␤  in sub MAIN at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
13:56 tobor BEGIN @*ARGS = <blah dsaa>; multi MAIN ( *@steps where { $_.all eq <foo bar ber>.any or fail "blarg" } ) { say "entre" }
13:56 tobor m: BEGIN @*ARGS = <blah dsaa>; multi MAIN ( *@steps where { $_.all eq <foo bar ber>.any or fail "blarg" } ) { say "entre" }
13:56 camelia rakudo-moar b771f1: OUTPUT«blarg␤  in any  at /home/camelia/rakudo-m-inst-2/share​/perl6/runtime/CORE.setting.moarvm line 1␤  in sub MAIN at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
13:57 tobor m: BEGIN @*ARGS = <blah dsaa>; subset Foo where { $_.all eq <foo bar ber>.any or fail "blarg" }; multi MAIN ( Foo *@steps ) { say "entre" }
13:57 camelia rakudo-moar b771f1: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Slurpy positional parameters with type constraints are not supported␤at <tmp>:1␤------> 3ail "blarg" }; multi MAIN ( Foo *@steps 7⏏5) { say "entre" }␤    expecting any of:␤        constraint␤»
13:57 tobor too bad
14:00 ugexe Woodi: just a META6.json is a valid distribution. you can also have distributions that have no modules (for example: just bin files)
14:03 Pierre_ any advice on how to debug stuff like that"
14:03 Pierre_ Cannot locate symbol 'msgpack_pack_str' in native library 'libmsgpackc.dylib'
14:04 Pierre_ i have a function in the .h file
14:04 Pierre_ static int msgpack_pack_str(msgpack_packer* pk, size_t l);
14:04 robinsmidsrod joined #perl6
14:06 timotimo if it's "static" you can't get to it
14:06 timotimo that's what static does to a function in C
14:06 Pierre_ ah right,
14:06 Pierre_ i did not use C in so long
14:10 timotimo long int no C
14:10 dalek doc: a0f6515 | (Zoffix Znet)++ | doc/Type/Any.pod6:
14:10 dalek doc: Include URL to what halting problem is
14:10 dalek doc:
14:10 dalek doc: For those who never heard of it.
14:10 dalek doc: review: https://github.com/perl6/doc/commit/a0f651585e
14:11 robinsmidsrod joined #perl6
14:12 ugexe my favorite part about active state is how they compile using a C89 compiler (maybe this changed recently, but i doubt it)
14:14 smls Zoffix: re that commit, when would `flat` ever eat all RAM? I thought it always operates lazily, by returning a Seq?
14:14 smls Maybe that paragraph was written pre-GLR?
14:14 moritz s/Seq/Slip/
14:15 smls m: say WHAT flat 1, (2, (3, (4, 5)))
14:15 camelia rakudo-moar b771f1: OUTPUT«(Seq)␤»
14:16 Pierre_ Hum, in my case, the library expose everything through static function, which means i would need to include the .h file
14:16 Pierre_ i'll take another look tomorrow :)
14:16 TEttinger joined #perl6
14:17 ugexe m: my $a := flat map { say $_ }, 1, 2, 3; $a[1]
14:17 camelia rakudo-moar b771f1: OUTPUT«1␤2␤»
14:17 acrussell joined #perl6
14:17 smls Zoffix: The rest of that section is bogus too; flat does "recurse into sub lists", it's just that the example given uses nested Arrays, which get containerized by their parent Array.
14:18 wamba joined #perl6
14:23 Woodi ugexe: thanx
14:24 perlpilot joined #perl6
14:24 bob777 joined #perl6
14:25 ptolemarch joined #perl6
14:26 ptolemarch joined #perl6
14:31 MetaZoffix joined #perl6
14:31 MetaZoffix smls: All my commit done is add a URL for a piece of text. I don't know why you're directing all of that critique to me. If the section sucks, commit a fix.
14:31 MetaZoffix m: ^∞ .flat
14:32 camelia rakudo-moar b771f1: OUTPUT«(timeout)»
14:33 pierrot joined #perl6
14:33 smls Just pointing it out 'cause you were editing that part of the docs currently, so I thought maybe there's a reason you left it like that.
14:34 smls m: say (^∞ .flat)[^10]; say "Alive";
14:34 camelia rakudo-moar b771f1: OUTPUT«(0 1 2 3 4 5 6 7 8 9)␤Alive␤»
14:34 MetaZoffix Nope. No reason. Just added a URL.
14:34 smls ok
14:37 literal joined #perl6
14:38 optikalmouse joined #perl6
14:38 optikalmouse nice, perl6 :D
14:39 MetaZoffix \o/
14:39 optikalmouse I just tried rakudobrew, it works on os x, very pleased. I'm curious to know how big the performance diff is between moar and jvm; has someone done benchmarks of them and vs other languages?
14:39 optikalmouse I'm hoping perl6 is faster than ruby ;-)
14:39 MetaZoffix optikalmouse: not yet. We still have a ton of optimizations to do. Would you like to join the effort? :)
14:40 mst I think it'll depend for what
14:40 MetaZoffix optikalmouse: and JVM is much slower than Moar, in addition to being a bit incomplete ATM
14:40 mst optikalmouse: basically, up until christmas last year, people were focusing on 'optimisable' more than 'optimised'
14:40 skids jvm has very slow startup, and moarvm tends to get features first.
14:41 optikalmouse MetaZoffix: unfortunately I'm just trying to get back into writing, I'm starting to see I'm more of a coach/evangelizer
14:41 MetaZoffix :)
14:41 optikalmouse though I would love to spend 2 months just perf optimizing things...if only I could have enough $$ for that :/
14:41 optikalmouse skids: what's the name of the jvm implementation?
14:41 skids rakudo :-)
14:41 MetaZoffix optikalmouse: it's still the same compiler, you just tell it to use the jvm backend
14:41 skids They are backends.
14:42 optikalmouse ahhh ok. I thought I saw two other implementations of perl 6...
14:42 MetaZoffix There were others, but they are not maintained any longer
14:42 MetaZoffix http://perl6.org/compilers/
14:43 skids optikalmouse: those (neicza/pugs) are stale at this point, though they were indisposable helps to the projects.
14:43 skids As for writing, we can always use help on the docs.
14:47 khw joined #perl6
14:50 pierrot joined #perl6
14:51 optikalmouse is there an alternative to running rakudobrew build? im getting 20kib/s :|
14:51 optikalmouse I can't tell if it's my office wifi or bad github :|
14:56 TimToady github is usually pretty snappy when it's not down completely
14:58 * TimToady guesses someone's been running the office microwave...
14:58 MetaZoffix optikalmouse: you can download source: http://rakudo.org/downloads/  http://www.moarvm.org/releases.html   Most people don't use rakudobrew but R*: http://rakudo.org/downloads/star/
15:02 MetaZoffix (guess it wasn't github :P)
15:03 mst oh, damn, they pinged out as well
15:04 optikalmouse joined #perl6
15:06 Pierre_ include a pointer to a function in a CStruct seems difficult
15:08 djbkd joined #perl6
15:09 baest joined #perl6
15:11 Roamer` joined #perl6
15:12 captain-adequate joined #perl6
15:12 jnthn joined #perl6
15:13 kst` joined #perl6
15:21 Upasaka_ joined #perl6
15:22 [Coke] hio
15:22 optikalmouse ,o/
15:24 mst optikalmouse: hey, so, if you've already got cpanminus installed, I've got a perl6 bundle as cpan modules you could try, see if that works better than git clones?
15:24 mst or you could build e.g. a rkaudo star tarball directly
15:25 mst I mention the former mostly cuz I want more people to try the thing I built before I cpan it properly ;)
15:25 xinming joined #perl6
15:26 optikalmouse our net connection is just crap for some reason. yet the github website itself loads quickly enough -_-
15:26 mst optikalmouse: see if you can 'wget http://trout.me.uk/6dists/6serv.tgz'
15:27 optikalmouse and of course on os x you don't get wget -_-
15:27 optikalmouse it's downloading at a decent clip :D
15:28 optikalmouse mst: now what
15:28 mst optikalmouse: do you have cpanminus installed for doing perl5 installations?
15:29 optikalmouse not yet, will do
15:29 optikalmouse ok it's installed
15:30 mst optikalmouse: right, so if you 'cpanm App::opan Carton' to get the installer bits you'll need
15:30 mst er, wait, you don't need carton
15:30 AlexDaniel joined #perl6
15:30 mst just 'cpanm App::opan'
15:30 mst then in 6serv/ you can run 'opan cpanm --installdeps .'
15:31 optikalmouse running random code from the internet? sure why not, it's jsut a work laptop ;-)
15:31 mst honestly, the scariest part of this was probably trout.me.uk
15:31 mst but I guess you're already trusting me at this moment so :)
15:31 timotimo not using https is dangerous
15:31 timotimo if your internet connection is "shit for some reason" maybe you're being 100% MITM'd? :)
15:32 MetaZoffix :D
15:32 timotimo by someone cruel enough to deploy a raspberry pi 1 A for that task
15:32 mst timotimo++
15:32 MetaZoffix mst's plan for world domination: make P6 CPAN dists and find enough people to "try it out" :P
15:32 mst yes, I'm a terrible person for not having updated the webserver config for my personal site in a decade or so
15:32 optikalmouse timotimo: I wouldn't be surprised, our company is owned by ticketmaster, $$$ everywhere
15:32 optikalmouse ;)
15:33 mst MetaZoffix: I'm going to cpan it soon, tried to figure it out on sunday, worked out my todo list, but was too tired to actually do it
15:33 optikalmouse "just cpanm Ticket::Scalper! it won't do nothing bad!"
15:33 mst which reminds me, I need more coffee and steroid nasal spray
15:34 MetaZoffix Interesting. I usually put cream in my coffee instead.
15:35 sQuEE joined #perl6
15:37 optikalmouse don't have `opan` in my path :|
15:37 optikalmouse but the rest of the command seems to be running fine...
15:38 optikalmouse mst: `cpanm --installdeps .`
15:39 optikalmouse mst: now what?
15:40 mst optikalmouse: if you don't have opan in your path, you probably need to do
15:40 mst eval $(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)
15:40 mst (and add that to .bashrc or whatever)
15:40 mst then in 6serv/ you need to run 'opan cpanm --installdeps .'
15:41 mst you can't run just 'cpanm --installdeps .', that won't find the perl6 stuff
15:41 optikalmouse k cool
15:41 optikalmouse plz update your readme with that info ;-)
15:42 mst I don't have a readme yet in there
15:43 mst I built that on the last afternoon of YAPC::EU to show off in a lightning talk
15:43 mst and so I could get people to test it before I unleash it on cpan proper ;)
15:45 itaipu joined #perl6
15:45 Actualeyes joined #perl6
15:46 itaipu joined #perl6
15:49 itaipu_ joined #perl6
15:49 itaipu joined #perl6
15:58 optikalmouse joined #perl6
16:00 optikalmouse yeah opan isn't working
16:00 moritz wtf is open?
16:00 moritz *opan
16:00 mst optikalmouse: how not
16:01 mst moritz: http://p3rl.org/App::opan - I've built a small opan with my Alien::Rakudo stack in it for pre-cpan testing
16:01 optikalmouse oops had to force install it, it's failing tests.
16:01 moritz mst: nice
16:01 optikalmouse also have to install inline::perl6
16:01 mst optikalmouse: don't install Inline::Perl6 from cpan!
16:01 mst don't
16:01 mst that won't work
16:01 optikalmouse lol ok
16:01 mst you *must* do it via the 'opan cpanm' command
16:02 optikalmouse ok
16:02 TimToady obviously any link to p3rl.org is placed there by evil h6x0rs
16:02 optikalmouse ! cannot open file '/Users/rudolfolah/.cpanm/sources/http%localho​st%61666%combined/02packages.details.txt.gz': No such file or directory opening compressed index
16:02 mst there's a tweaked Inline::Perl6 in there. if you don't use the right one, then yes, tests will fail
16:02 mst optikalmouse: what directory are you in?
16:02 optikalmouse 6serv
16:03 mst can you run 'ls pans/combined' please?
16:04 optikalmouse dists, index, index.gz
16:05 mst hrm, so, it should be able to pull that fine
16:05 mst maybe firewalling stopping it hitting it?
16:07 mst can you run 'find pans/' then 'opan cpanm --installdeps .' and post the output of both to http://fpaste.scsys.co.uk/perl6 please?
16:07 mst optikalmouse: sorry about this, I'm not yet sure what's gone wrong, thank you for playing guinea pig
16:08 optikalmouse no sweat, better than waiting for github to  build moar ;)
16:08 optikalmouse more fun at least
16:10 optikalmouse back to waiting for github...
16:10 mst hm?
16:18 optikalmouse with rakudobrew install...slow slow internet :/
16:20 kurahaupo joined #perl6
16:26 domidumont joined #perl6
16:32 smls m: my $x = <0>;  say so "$x";
16:32 camelia rakudo-moar b771f1: OUTPUT«False␤»
16:32 smls IntStr is weird
16:35 wamba joined #perl6
16:36 timotimo oh, .Str on it just returns self?
16:39 smls m: my $x = <0>;  dd $x.Str;  dd "$x";
16:39 camelia rakudo-moar b771f1: OUTPUT«"0"␤IntStr.new(0, "0")␤»
16:39 smls timotimo: No, it looks like "" just cuts corners
16:40 mst op... damnit, I was going to debug it for you
16:40 timotimo ah
16:40 mst and he's gone again
16:40 * mst sulks
16:42 TimToady obviously you need to fix their network first
16:44 mst actually, what I need is to be three yaks further forward in my great shave, and then I'll be able to write an installer that, if something goes wrong, has a single command to upload the full failure log for me if you're willing to run it
16:44 _slade_ joined #perl6
16:44 acrussell joined #perl6
16:44 mst fixing their network is possible easier though ;)
16:44 timotimo neat.
17:06 cdg joined #perl6
17:07 eyck joined #perl6
17:23 girafe joined #perl6
17:26 firstdayonthejob joined #perl6
17:35 optikalmouse joined #perl6
17:38 pierrot joined #perl6
17:42 setty2 joined #perl6
17:44 rindolf joined #perl6
18:01 cdg joined #perl6
18:10 MetaZoffix joined #perl6
18:19 itaipu joined #perl6
18:22 FROGGS joined #perl6
18:23 optikalmouse sweet moarvm is finally building. damn this slow internet ;/
18:23 optikalmouse are there lots of web frameworks for perl? which http server should I be using for a small rest api-ish site?
18:23 MetaZoffix heh
18:23 stmuk_ yes and depends
18:24 optikalmouse and why would I use zef over panda?
18:24 MetaZoffix 'cause it's better :P
18:24 optikalmouse lol ok. so, any Tiny web frameworks or Tiny http servers? I think I should start small when writing tutorials :S
18:24 MetaZoffix As for web frameworks. IMO, there's nothing production ready.
18:25 dalek gtk-simple: 533b1c3 | timotimo++ | lib/GTK/Simple/Widget.pm6:
18:25 dalek gtk-simple: method hide ought to hide, not show
18:25 dalek gtk-simple:
18:25 dalek gtk-simple: thanks to @pixlmixr
18:25 dalek gtk-simple: Closes #67
18:25 dalek gtk-simple: review: https://github.com/perl6/gt​k-simple/commit/533b1c3fb9
18:25 MetaZoffix Compounded with compiler's performance.... Perl 6 isn't a good choice for Web apps ATM
18:26 MetaZoffix optikalmouse: there's http://modules.perl6.org/dist/Bailador and http://modules.perl6.org/dist/HTTP::Server::Tiny
18:27 stmuk_ http://perl6maven.com/ uses Bailador I believe
18:27 optikalmouse awesome, thank you
18:28 mst optikalmouse: did you ever manage to get me the last set of debug output?
18:28 * mst would still like to fix the bug for future users
18:29 optikalmouse mst: noooo didn't get a chance to, terminal shut down on me :/
18:29 optikalmouse I can try again at home, on a linux box.
18:29 mst optikalmouse: fair enough
18:29 mst optikalmouse: just, like, I want to figure out what went wrong and fix it
18:30 mst cuz I'm trying to make Inline::Perl6 easy to install
18:30 mst as a gateway drug
18:30 optikalmouse heh, for sure, I think I got some time this weekend to do more testing too
18:31 mst hrmf
18:31 mst https://docs.perl6.org/language/phasers <- KEEP and UNDO don't explain what successful/unsuccessful block exit is
18:31 kst` joined #perl6
18:33 timotimo MetaZoffix: do you still haev some web app that i can inspect for leaks and such?
18:34 MetaZoffix m: sub { UNDO say 'bah!'; KEEP say 'aright'; fail if $^a; return 1 }(0)
18:34 camelia rakudo-moar b771f1: OUTPUT«aright␤»
18:34 MetaZoffix m: sub { UNDO say 'bah!'; KEEP say 'aright'; fail if $^a; return 0 }(0)
18:34 camelia rakudo-moar b771f1: OUTPUT«aright␤»
18:34 MetaZoffix m: sub { UNDO say 'bah!'; KEEP say 'aright'; fail if $^a; return 0 }(1)
18:34 camelia rakudo-moar b771f1: OUTPUT«bah!␤»
18:34 MetaZoffix m: sub { UNDO say 'bah!'; KEEP say 'aright'; fail if $^a;  }(0)
18:34 camelia rakudo-moar b771f1: OUTPUT«bah!␤»
18:34 MetaZoffix m: sub { UNDO say 'bah!'; KEEP say 'aright'; fail if $^a; return }(0)
18:34 camelia rakudo-moar b771f1: OUTPUT«bah!␤»
18:34 MetaZoffix mst: no idea :(
18:35 hoelzro mst: I think successful means that the block is exiting due to normal control flow rather than an exception
18:35 MetaZoffix timotimo: well, I saved perl6.party when the Perl 6 version failed me. But I don't know how good it is for finding any leaks or whatnot: https://github.com/zoffixznet/​perl6.party/tree/perl6-version
18:35 MetaZoffix hoelzro: but my examples above show that's not the full story.
18:36 MetaZoffix lack of a return or return; also seem to be considered as unsuccessful
18:36 hoelzro curious
18:36 hoelzro that could be a bug, though
18:36 MetaZoffix might be a bug for all I know
18:37 hoelzro this might provide some insight: https://github.com/perl6/roast/bl​ob/master/S04-phasers/keep-undo.t
18:37 hoelzro not at *all* what I expected =S
18:37 mst https://github.com/perl6/doc/issues/905
18:37 mst please do add stuff
18:37 timotimo MetaZoffix: will that run self-contained and everything? :)
18:38 hoelzro threw in a link to the spec test
18:38 timotimo MetaZoffix: ah, i already checked out that and added a /exit so i could safely make it spit out profiler data
18:39 timotimo my head is quite a bit older than the perl6-version tag
18:40 * MetaZoffix doesn't remember anything about perl6-version
18:40 spider-mario joined #perl6
18:43 timotimo MetaZoffix: could i ask you to help me get this running?
18:44 hoelzro it looks like successful means "returns a truthy value"
18:44 timotimo can't return 0
18:44 MetaZoffix m: sub { UNDO say 'bah!'; KEEP say 'aright'; fail if $^a; return 0 }(0)
18:44 camelia rakudo-moar b771f1: OUTPUT«aright␤»
18:45 timotimo putting my stashed changes back made an ugly merge
18:46 MetaZoffix timotimo: eh, maybe don't worry about it?
18:46 MetaZoffix There are too many beers between that tag and my current state
18:46 timotimo https://gist.github.com/timo/e6​74130436b94b1825170a7a369f20b1
18:47 MetaZoffix I don't remember that version.
18:48 MetaZoffix optikalmouse is building something. Ask them if they still get any leaks :)
18:48 hoelzro defined value, maybe?
18:48 canopus_ joined #perl6
18:48 MetaZoffix m: sub { UNDO say 'bah!'; KEEP say 'aright'; class {} }()
18:48 camelia rakudo-moar b771f1: OUTPUT«bah!␤»
18:48 MetaZoffix m: sub { UNDO say 'bah!'; KEEP say 'aright'; return class {} }()
18:48 camelia rakudo-moar b771f1: OUTPUT«bah!␤»
18:48 MetaZoffix maybe
18:49 MetaZoffix m: sub { UNDO say 'bah!'; KEEP say 'aright'; return class { method defined { True } } }()
18:49 camelia rakudo-moar b771f1: OUTPUT«bah!␤»
18:49 MetaZoffix mabby not :P
18:50 avalenn joined #perl6
18:51 smls MetaZoffix, hoelzro: See the design docs link in the ticket
18:52 hoelzro smls++
18:54 smls hoelzro: It reads like it was written a long time ago
18:55 smls "value or list", "item or list context"... apparently Perl 6 was still more similar to Perl 5 back then.
19:01 domidumont joined #perl6
19:03 lostinfog joined #perl6
19:06 nowan joined #perl6
19:10 labster joined #perl6
19:13 smls m: dd <\n>;  dd «\n»;
19:13 camelia rakudo-moar 626a22: OUTPUT«"\\n"␤()␤»
19:13 smls ^^ What's happening there?
19:13 smls I think the second one used to be the same as "\n"
19:14 smls ah, it expands the escape sequence before splitting the string
19:16 rjbs joined #perl6
19:16 BinGOs_ joined #perl6
19:16 TimToady joined #perl6
19:16 baest joined #perl6
19:17 dogbert2 joined #perl6
19:17 notbenh joined #perl6
19:17 Peter_R joined #perl6
19:17 b2gills joined #perl6
19:21 breinbaas joined #perl6
19:23 john51 joined #perl6
19:23 cibs joined #perl6
19:23 a3r0 joined #perl6
19:23 profan joined #perl6
19:23 niko joined #perl6
19:23 ilogger2 joined #perl6
19:23 moritz joined #perl6
19:23 BooK joined #perl6
19:23 frew joined #perl6
19:23 llfourn_ joined #perl6
19:23 Timbus joined #perl6
19:23 skids joined #perl6
19:23 kst` joined #perl6
19:23 nebuchadnezzar joined #perl6
19:23 DANtheBEASTman joined #perl6
19:23 aries_liuxueyang joined #perl6
19:23 rudi_s joined #perl6
19:23 [ptc] joined #perl6
19:23 bhm joined #perl6
19:23 hahainternet joined #perl6
19:23 yeltzooo9 joined #perl6
19:23 huf joined #perl6
19:23 El_Che joined #perl6
19:23 diego_k joined #perl6
19:23 k-man joined #perl6
19:23 melezhik joined #perl6
19:23 doublec joined #perl6
19:23 yoleaux joined #perl6
19:23 stmuk_ joined #perl6
19:23 Xliff joined #perl6
19:23 M-Illandan joined #perl6
19:23 obfusk joined #perl6
19:23 wtw joined #perl6
19:23 smls joined #perl6
19:23 captain-adequate joined #perl6
19:23 eyck joined #perl6
19:23 nowan joined #perl6
19:23 sjn_ joined #perl6
19:23 alnewkirk joined #perl6
19:23 petercommand joined #perl6
19:23 stux|RC-only joined #perl6
19:23 Woodi joined #perl6
19:23 zoosha joined #perl6
19:23 Ulti joined #perl6
19:23 Jonis joined #perl6
19:23 crucialrhyme joined #perl6
19:23 nemo joined #perl6
19:23 ranguard joined #perl6
19:23 shadowpaste joined #perl6
19:23 broquaint joined #perl6
19:23 awwaiid joined #perl6
19:23 lizmat joined #perl6
19:23 ft joined #perl6
19:23 ufobat joined #perl6
19:23 Gothmog_ joined #perl6
19:23 matt joined #perl6
19:23 cosimo joined #perl6
19:23 solarbunny joined #perl6
19:23 markk joined #perl6
19:23 f3ew joined #perl6
19:23 Guest68452 joined #perl6
19:23 domidumont joined #perl6
19:23 pyrimidine joined #perl6
19:23 ribasushi joined #perl6
19:23 robinsmidsrod joined #perl6
19:23 Celelibi joined #perl6
19:23 andrewalker joined #perl6
19:23 xxpor joined #perl6
19:23 vytas joined #perl6
19:23 clkao joined #perl6
19:23 akiym joined #perl6
19:23 avuserow joined #perl6
19:23 vcv joined #perl6
19:23 krakan_ joined #perl6
19:23 jferrero joined #perl6
19:23 nightfrog joined #perl6
19:23 eythian joined #perl6
19:23 charsbar_____ joined #perl6
19:23 Bucciarati joined #perl6
19:23 felher joined #perl6
19:23 luis joined #perl6
19:23 esh joined #perl6
19:23 abruanese joined #perl6
19:23 Unavowed_ joined #perl6
19:23 grondilu joined #perl6
19:23 salva joined #perl6
19:23 bjz_ joined #perl6
19:23 mcmillhj joined #perl6
19:23 kaare__ joined #perl6
19:23 perlpilot joined #perl6
19:23 djbkd joined #perl6
19:23 FROGGS joined #perl6
19:23 Util_ joined #perl6
19:23 cxreg2 joined #perl6
19:23 hcit joined #perl6
19:23 sjohnsen- joined #perl6
19:23 woodruffw joined #perl6
19:23 go|dfish joined #perl6
19:23 skaji joined #perl6
19:23 simcop2387 joined #perl6
19:23 araujo joined #perl6
19:23 Hotkeys joined #perl6
19:23 [Coke] joined #perl6
19:23 erdic joined #perl6
19:23 raydiak joined #perl6
19:23 atacama_ joined #perl6
19:23 mephinet joined #perl6
19:23 krunen_ joined #perl6
19:23 DrParis joined #perl6
19:23 gabiruh joined #perl6
19:23 damnlie joined #perl6
19:23 autarch joined #perl6
19:23 chris2 joined #perl6
19:23 mspo joined #perl6
19:23 edenc joined #perl6
19:23 ggoebel joined #perl6
19:23 dj_goku joined #perl6
19:23 user9 joined #perl6
19:23 ilmari[m] joined #perl6
19:23 richi235 joined #perl6
19:23 revdiablo joined #perl6
19:23 arnsholt joined #perl6
19:23 RabidGravy joined #perl6
19:23 gensym joined #perl6
19:23 Guest78798 joined #perl6
19:23 ambs joined #perl6
19:23 DarthGandalf joined #perl6
19:23 SmokeMachine____ joined #perl6
19:23 mithaldu_ joined #perl6
19:23 pmichaud joined #perl6
19:23 perigrin joined #perl6
19:23 zostay joined #perl6
19:23 Lucas_One joined #perl6
19:23 JimmyZ joined #perl6
19:23 jnap_ joined #perl6
19:23 dylanwh joined #perl6
19:23 avar joined #perl6
19:23 bartolin joined #perl6
19:23 daxim joined #perl6
19:23 NEveD joined #perl6
19:23 geekosaur joined #perl6
19:23 sivoais joined #perl6
19:23 committable6 joined #perl6
19:23 ShimmerFairy joined #perl6
19:23 luiz_lha_ joined #perl6
19:23 apejens joined #perl6
19:23 benchable6 joined #perl6
19:23 stigo joined #perl6
19:23 cdc joined #perl6
19:23 telex joined #perl6
19:23 aindilis joined #perl6
19:23 woolfy joined #perl6
19:23 cpage_ joined #perl6
19:23 pullphinger joined #perl6
19:23 _slade_ joined #perl6
19:23 sili_ joined #perl6
19:23 ilmari joined #perl6
19:23 albongo joined #perl6
19:23 rjt_pl joined #perl6
19:23 mohae joined #perl6
19:23 remmie joined #perl6
19:23 adrusi joined #perl6
19:23 inokenty joined #perl6
19:23 Roamer` joined #perl6
19:23 synopsebot6 joined #perl6
19:23 KotH joined #perl6
19:23 garu_ joined #perl6
19:23 labster joined #perl6
19:23 jnthn joined #perl6
19:23 amalia_ joined #perl6
19:23 cpage joined #perl6
19:23 SourceBaby joined #perl6
19:23 dataangel joined #perl6
19:23 bisectable6 joined #perl6
19:23 sftp joined #perl6
19:23 dalek joined #perl6
19:23 masak joined #perl6
19:23 sunnavy joined #perl6
19:23 ssm joined #perl6
19:23 mst joined #perl6
19:23 mrf joined #perl6
19:23 dsp_ joined #perl6
19:23 camelia joined #perl6
19:23 mls joined #perl6
19:23 jcallen joined #perl6
19:23 tailgate joined #perl6
19:23 konobi joined #perl6
19:23 lostinfog joined #perl6
19:23 Matthew[m] joined #perl6
19:23 MilkmanDan joined #perl6
19:23 zengargoyle joined #perl6
19:23 canopus_ joined #perl6
19:23 girafe joined #perl6
19:23 TEttinger joined #perl6
19:23 cog_ joined #perl6
19:23 Zoffix joined #perl6
19:23 krunen joined #perl6
19:23 ringer1 joined #perl6
19:23 Praise joined #perl6
19:23 pochi_ joined #perl6
19:23 sammers_ joined #perl6
19:23 chee joined #perl6
19:23 sergot joined #perl6
19:23 zhmylove_ joined #perl6
19:23 Hor|zon joined #perl6
19:23 m0ltar joined #perl6
19:23 emdashcomma joined #perl6
19:23 tinita joined #perl6
19:23 mattp_ joined #perl6
19:23 ingy joined #perl6
19:23 Grrrr joined #perl6
19:23 saaki joined #perl6
19:23 tony-o joined #perl6
19:23 Guest28805 joined #perl6
19:23 bitmap joined #perl6
19:23 musca joined #perl6
19:23 dustinm` joined #perl6
19:23 Guest62980 joined #perl6
19:23 hobbs joined #perl6
19:23 imcsk8 joined #perl6
19:23 decent joined #perl6
19:23 ab5tract_ joined #perl6
19:23 silug_ joined #perl6
19:23 optikalmouse joined #perl6
19:23 Actualeyes joined #perl6
19:23 sQuEE joined #perl6
19:23 khw joined #perl6
19:23 zacts joined #perl6
19:23 xfix joined #perl6
19:23 pdcawley joined #perl6
19:23 salparadise joined #perl6
19:23 roguelazer joined #perl6
19:23 Kaffe joined #perl6
19:23 buggable joined #perl6
19:23 atta joined #perl6
19:23 Glitchy joined #perl6
19:23 rmmm joined #perl6
19:23 DrForr joined #perl6
19:23 isacloud joined #perl6
19:23 cooper joined #perl6
19:23 chansen_ joined #perl6
19:23 jkva joined #perl6
19:23 NeuralAnomaly joined #perl6
19:23 rodarmor joined #perl6
19:23 huggable joined #perl6
19:23 ugexe joined #perl6
19:23 exodist_ joined #perl6
19:23 jonadab joined #perl6
19:23 [particle]1 joined #perl6
19:23 riatre joined #perl6
19:23 ilbelkyr joined #perl6
19:23 leego joined #perl6
19:23 maddingue joined #perl6
19:23 hoelzro joined #perl6
19:23 protium joined #perl6
19:23 jsimonet joined #perl6
19:23 domm joined #perl6
19:23 risou_ joined #perl6
19:23 timotimo joined #perl6
19:23 jstimpfle joined #perl6
19:23 TeamBlast joined #perl6
19:23 b^_^d joined #perl6
19:23 freeze joined #perl6
19:23 1JTAAJ4WM joined #perl6
19:23 integral joined #perl6
19:23 rblackwe joined #perl6
19:23 SHODAN joined #perl6
19:23 Juerd joined #perl6
19:23 firstdayonthejob joined #perl6
19:23 tomaw joined #perl6
19:23 japhb joined #perl6
19:23 infina joined #perl6
19:23 Possum joined #perl6
19:23 itaipu joined #perl6
19:23 mtj_ joined #perl6
19:23 literal_ joined #perl6
19:23 smash_ joined #perl6
19:23 spider-mario joined #perl6
19:23 rindolf joined #perl6
19:23 xinming joined #perl6
19:23 Upasaka_ joined #perl6
19:23 keix joined #perl6
19:23 mniip joined #perl6
19:23 lucs joined #perl6
19:23 kalkin- joined #perl6
19:23 mr-foobar joined #perl6
19:23 shmibs joined #perl6
19:23 ruoso joined #perl6
19:23 jervo joined #perl6
19:23 kshannon joined #perl6
19:23 nine joined #perl6
19:23 jdv79 joined #perl6
19:23 xdbr joined #perl6
19:23 TheDir_ joined #perl6
19:23 jeek joined #perl6
19:23 gypsydave5 joined #perl6
19:23 jast joined #perl6
19:23 go|dfish joined #perl6
19:23 Guest68452 joined #perl6
19:23 rgrinberg joined #perl6
19:23 geraud joined #perl6
19:23 Cabanossi joined #perl6
19:24 acrussell joined #perl6
19:24 cyphase joined #perl6
19:25 BinGOs joined #perl6
19:25 shadowpaste joined #perl6
19:26 john51 joined #perl6
19:27 setty1 joined #perl6
19:28 dogbert2 joined #perl6
19:29 xiaomiao joined #perl6
19:29 jmark joined #perl6
19:30 itaipu joined #perl6
19:32 ZoffixW joined #perl6
19:33 pnu_ joined #perl6
19:33 cgfbee joined #perl6
19:34 Neural42 joined #perl6
19:39 rgrinberg joined #perl6
19:41 labster joined #perl6
19:42 rgrinberg joined #perl6
19:44 rgrinberg joined #perl6
19:46 calopter joined #perl6
19:47 olinkl joined #perl6
19:48 rgrinberg joined #perl6
19:50 zakharyas joined #perl6
19:57 itaipu joined #perl6
19:58 Actualeyes joined #perl6
19:59 peteretep joined #perl6
20:00 cdg joined #perl6
20:00 ggherdov joined #perl6
20:01 TimToady that was...quite the netsplit...
20:02 mindos joined #perl6
20:02 Celelibi joined #perl6
20:03 BuildTheRobots joined #perl6
20:04 kipd joined #perl6
20:05 isacloud joined #perl6
20:06 geekosaur netsplat
20:06 calopter Hello! I have a list of objects and I would like a simple way to spurt them to a file and then later slurp and parse them back into a list of objects. Is there a way to do this without getting into grammars?
20:06 dogbert17 joined #perl6
20:07 notbenh_ joined #perl6
20:08 timotimo there's probably modules for that
20:09 Spot__ joined #perl6
20:10 w4and0er96 joined #perl6
20:11 pierrot joined #perl6
20:13 ShimmerFairy .oO( $*NET.split() )
20:13 ggherdov joined #perl6
20:13 mrsolo joined #perl6
20:14 ShimmerFairy calopter: simplest possible way would be to use @list.join("\n") and $filestring.split("\n"), and hope your data doesn't include a literal "\n" in any of the array items (obviously you can choose the delimiter as it suits you).
20:14 espadrine joined #perl6
20:14 ggherdov joined #perl6
20:15 Celelibi joined #perl6
20:16 avuserow calopter: there are a few options on modules.perl6.org searching for "serial" that seem like they have potential..
20:16 timeless joined #perl6
20:17 tbrowder joined #perl6
20:18 PotatoGim joined #perl6
20:19 calopter avuserow: thanks for the tip
20:20 calopter ShimmerFairy: I think this will give me a list of string representations of the objects
20:21 ShimmerFairy calopter: right, if you want a more binary file, then you'd likely want to take a look at any existing modules, like avuserow & timotimo mentioned.
20:22 calopter Ok Thanks
20:22 avuserow if your objects are fairly Array and Hash-like, it might be simple enough to use JSON::Tiny or whichever module
20:28 Timbus joined #perl6
20:31 atweiden joined #perl6
20:34 infina joined #perl6
20:34 w4and0er96 joined #perl6
20:40 atweiden are object variants possible in p6?
20:40 atweiden e.g. a class with attr C<$.a> given EnumTypeA is passed to its C<method new>, or attr C<$.b> if EnumTypeB is passed to new
20:43 mst I think I might have a multimethod that builds one of two concrete classes implementing a role?
20:44 calopter left #perl6
20:45 bartolin joined #perl6
20:46 hoelzro you could probably whip something up using parameterized roles
20:46 hoelzro whether you *should* is another question entirely =)
20:49 atweiden is it possible to add a role to a class dynamically at runtime?
20:50 atweiden e.g. from within C<method new>, specify that the class C<does Something>
20:52 avuserow m: role Bar {has $.b = 2;}; role Qux {has $.c = 3}; class Foo {has $.a; multi method new(0) {self.bless does Bar}; multi method new(1) {self.bless does Qux}}; say Foo.new(0); say Foo.new(1);
20:52 camelia rakudo-moar 626a22: OUTPUT«Foo+{Bar}.new(b => 2, a => Any)␤Foo+{Qux}.new(c => 3, a => Any)␤»
20:53 perlpilot atweiden: you might want to reconsider why you want to do this :)
20:53 avuserow this probably tortures both the optimizer and anyone maintaining the code though :)
20:54 rightfold joined #perl6
20:55 dogbert17 joined #perl6
20:55 perlpilot atweiden: you can also do something like ...
20:55 perlpilot m: class A { }; A.^add_role( role { method foo { say "hi" } } ); A.^compose; A.new.foo
20:55 camelia rakudo-moar 626a22: OUTPUT«hi␤»
20:55 atweiden avuserow: cool
20:56 atweiden perlpilot may try that
20:56 avuserow you could also just have Foo.new return an instance of private classes Foo::A or Foo::B depending on the arguments
20:59 atweiden avuserow: that sounds better, code example?
20:59 atweiden am trying it but getting error `Default constructor ...`
21:00 avuserow m: my class Bar {...}; my class Qux {...}; class Foo {has $.a; multi method new(0) {Bar.new}; multi method new(1) {Qux.new}}; class Bar is Foo {has $.b = 2;}; class Qux is Foo {has $.c = 3}; say Foo.new(0); say Foo.new(1); # something like this?
21:00 camelia rakudo-moar 626a22: OUTPUT«Bar.new(b => 2, a => Any)␤Qux.new(c => 3, a => Any)␤»
21:01 perlpilot atweiden: Why do you want this?
21:02 rightfold I'm going to developer hell http://lpaste.net/7624043094769401856
21:03 atweiden perlpilot: parsing a source that differs, it is either parsed directly from a file or extracted from a tarball and then parsed from JSON
21:03 mst < mauke> you should write a patch that makes perl -π work like perl -pi
21:03 mst ISAGN for the rakudo binary
21:03 atweiden so i wanted a class that could either have C<$.file> or C<$.pkginfo>
21:04 geekosaur better written .subst('"', '""')
21:05 rightfold Atom's syntax highlighting breaks on '"' :P
21:05 avuserow atweiden: keep in mind, with both of the examples I gave, you'll need to check `$obj ~~ Bar` before accessing `$.file`... kind of annoying. hard to say more without more knowledge of the object structure overall
21:06 * geekosaur will try atom again in a couple years when they find their butts >.>
21:07 rightfold I should link libpq and use its escape function
21:08 rightfold that's much safer
21:08 avuserow atweiden: also, the examples I gave both give you two different classes, they just all match Foo (plus some role or subclass)
21:10 _slade_ joined #perl6
21:11 rightfold are you kidding me PQescapeIdentifier requires a connection -_-
21:11 Zoffix left #perl6
21:14 Ven_ joined #perl6
21:20 geekosaur the engine knows what the engine requires for safe quoting...
21:21 rightfold p6: say('å' ~~ /<[a .. z A .. Z _]>/)
21:21 camelia rakudo-moar 626a22: OUTPUT«Nil␤»
21:21 rightfold p6: say('abc_DEF' ~~ /<[a .. z A .. Z _]>/)
21:21 camelia rakudo-moar 626a22: OUTPUT«「a」␤»
21:22 Ven_ joined #perl6
21:23 rightfold nice
21:24 atweiden m: class LedgerFromFile {...}; class LedgerFromPkg {...}; class Ledger { multi method new('File', :$file!) { LedgerFromFile.new(:$file) }; multi method new('Pkg', :$pkg!) { LedgerFromPkg.new(:$pkg) } }; class LedgerFromFile is Ledger { has Str $.file is required }; class LedgerFromPkg is Ledger { has Str $.pkg is required }; my Ledger $l = Ledger.new('File', :file<mario>).say
21:24 camelia rakudo-moar 626a22: OUTPUT«LedgerFromFile.new(file => "mario")␤Type check failed in assignment to $l; expected Ledger but got Bool (Bool::True)␤  in block <unit> at <tmp> line 1␤␤»
21:24 timotimo atweiden: that's because you used .say ta the very end
21:24 atweiden oops that wasn't my question
21:25 atweiden so this works
21:25 atweiden m: class LedgerFromFile {...}; class LedgerFromPkg {...}; class Ledger { multi method new('File', :$file!) { LedgerFromFile.new(:$file) }; multi method new('Pkg', :$pkg!) { LedgerFromPkg.new(:$pkg) } }; class LedgerFromFile is Ledger { has Str $.file is required }; class LedgerFromPkg is Ledger { has Str $.pkg is required }; Ledger.new('File', :file<mario>).say
21:25 camelia rakudo-moar 626a22: OUTPUT«LedgerFromFile.new(file => "mario")␤»
21:25 atweiden but this
21:25 atweiden m: class LedgerFromFile {...}; class LedgerFromPkg {...}; class Ledger { multi method new(:$file!) { LedgerFromFile.new(:$file) }; multi method new(:$pkg!) { LedgerFromPkg.new(:$pkg) } }; class LedgerFromFile is Ledger { has Str $.file is required }; class LedgerFromPkg is Ledger { has Str $.pkg is required }; Ledger.new(:file<mario>).say
21:25 camelia rakudo-moar 626a22: OUTPUT«Memory allocation failed; could not allocate 131072 bytes␤»
21:25 atweiden could be unrelated
21:26 timotimo looks like an infinite recursion
21:27 atweiden is the signature not specific enough?
21:27 timotimo because the From* classes get the method new that you declared
21:29 ilbot3 joined #perl6
21:29 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
21:30 atweiden timotimo: but then why does it work with arity 2?
21:30 BinGOs joined #perl6
21:30 mcmillhj joined #perl6
21:31 kent\n joined #perl6
21:31 kent\n joined #perl6
21:31 timotimo because LedgerFromFile.new(:$file) won't trigger a "new" candidate from Ledger
21:31 timotimo because you're not passing 'File' as the first argument any more
21:33 TimToady joined #perl6
21:33 Actualeyes joined #perl6
21:34 mindos joined #perl6
21:36 timeless joined #perl6
21:36 Ven_ joined #perl6
21:37 ggherdov joined #perl6
21:37 avuserow S12 says
21:37 avuserow "Perl 6.0.0 is not required to support multiple dispatch on named parameters, only on positional parameters."
21:37 avuserow atweiden: ^
21:37 atweiden TIL
21:37 atweiden kind of a miracle that some of my code works in that case
21:38 rightfold just make positional parameters named parameters with numeric names!
21:39 ggherdov joined #perl6
21:39 mst atweiden: bugger. sorry. didn't realise that.
21:39 trnh joined #perl6
21:40 avuserow you might be able to use proto methods to do what you want, but at this point, I think the best option is just to conditionally create the correct subclass
21:40 avuserow e.g. my $ledger = $file ?? LedgerFromFile.new(:$file) !! LedgerFromPkg(:$pkg)
21:41 mst atweiden: I think in that case I'd have new_from_file and new_from_pkg methods or something
21:41 avuserow or that ^^
21:47 Sgeo joined #perl6
21:56 Zoffix joined #perl6
21:56 Zoffix m: multi foo (:$foo!) { say "this one" }; multi foo (:$bar!) { say "that one" }; foo :foo; foo :bar
21:56 camelia rakudo-moar 626a22: OUTPUT«this one␤that one␤»
21:57 Zoffix avuserow, speculations are historical documents. It's not wise to use them to suggest Perl 6's behaviour. The test suite is the specification: https://github.com/perl6/roast
22:01 mcmillhj joined #perl6
22:01 Zoffix m: https://gist.github.com/zoffixznet​/bc98465bb31b8a165b6b1c69ca0428b0
22:01 camelia rakudo-moar 626a22: OUTPUT«LedgerFromFile.new(file => "mario")␤»
22:03 atweiden Zoffix: that's all it took? a proto method
22:03 atweiden i've never used those on multis before
22:03 Zoffix atweiden, not really. I also removed the is Ledger, so it's an LTA solution
22:03 atweiden right
22:04 avuserow wonder if you could re-add `is Ledger` if you gave the subclasses a `method new` of their own.
22:04 Zoffix meh, best to just use a different method name
22:05 Zoffix Ah, here we go
22:06 Zoffix m: https://gist.github.com/zoffixznet​/c5d602ee46651613dec964737a0774fa
22:06 camelia rakudo-moar 626a22: OUTPUT«LedgerFromFile.new(file => "mario")␤LedgerFromPkg.new(pkg => "meow")␤»
22:06 avuserow anyway, yes, specs are deprecated, and it looks like roast/S06-multi/positional-vs-named.t has the sub version of this covered
22:07 Zoffix atweiden, ^ basically I'm bypassing what .new does, so the iniloop never occurs
22:07 Zoffix s/bypassing/doing directly/;
22:08 atweiden i like this solution, ty
22:12 Zoffix left #perl6
22:16 rgrinberg joined #perl6
22:21 mcmillhj joined #perl6
22:30 firstdayonthejob joined #perl6
22:36 sufrostico joined #perl6
22:38 mcmillhj joined #perl6
22:45 rgrinberg joined #perl6
22:49 skids joined #perl6
22:49 AlexDaniel joined #perl6
22:50 mcmillhj joined #perl6
23:04 rgrinberg joined #perl6
23:09 mcmillhj joined #perl6
23:14 baest joined #perl6
23:20 mcmillhj joined #perl6
23:22 Zoffix joined #perl6
23:23 Zoffix tbrowder and others. GitHub replied vis-a-vis getting GitHub rendering Perl 6 POD: https://github.com/github/markup/​issues/907#issuecomment-246855769
23:23 Zoffix "You're certainly more than welcome to perform a PR with tests, and update the .travis.yml file so that our CI test suite verifies that Perl6 documentation is being generated."
23:23 * Zoffix won't have time to do any of that
23:24 Zoffix .tell tbrowder GitHub replied about the pod: https://github.com/github/markup/​issues/907#issuecomment-246855769
23:24 yoleaux Zoffix: I'll pass your message to tbrowder.
23:24 tbrowder Zoffix: thanks
23:24 yoleaux 23:24Z <Zoffix> tbrowder: GitHub replied about the pod: https://github.com/github/markup/​issues/907#issuecomment-246855769
23:24 labster joined #perl6
23:28 DoverMo joined #perl6
23:30 tbrowder Zoffix: What repo is all the tooling in?
23:36 bjz joined #perl6
23:38 canopus joined #perl6
23:40 mcmillhj joined #perl6
23:53 mcmillhj joined #perl6

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

Perl 6 | Reference Documentation | Rakudo