Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2016-09-07

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:01 cyphase joined #perl6
00:13 aries_liuxueyang joined #perl6
00:18 vike joined #perl6
00:23 pierre_ joined #perl6
00:25 pierre_ joined #perl6
00:26 grondilu hello
00:27 grondilu with a module like 'unit module Foo; our @some-really-big-array = do {...};'  if I import Foo without actually using @some-really-big-array, will that array be loaded in memory?
00:33 TimToady the mainline of a module gets run once on first use (though after INIT time, iirc)
00:34 TimToady so yes, it'll be loaded
00:34 TimToady unless the do returns something that .is-lazy
00:42 grondilu ok
00:42 dataangel joined #perl6
00:48 AlexDaniel dalek: bye-bye.
00:48 dalek whateverable: a4a2f51 | (Aleks-Daniel Jakimenko-Aleksejev)++ | Bisectable.p6:
00:48 dalek whateverable: Sometimes $old-dir is unset too
00:48 dalek whateverable:
00:48 dalek whateverable: Gets rid of Nil warnings
00:48 dalek whateverable: review: https://github.com/perl6/wha​teverable/commit/a4a2f51a7a
00:48 dalek whateverable: 9b78f79 | (Aleks-Daniel Jakimenko-Aleksejev)++ | Bisectable.p6:
00:48 dalek whateverable: Vertical alignment
00:49 dalek joined #perl6
00:50 AlexDaniel MasterDuke: 🎉  tests!
00:51 cyphase joined #perl6
01:03 dataangel When am I required to use parentheses when calling a function and when do I not need to?
01:06 cyphase joined #perl6
01:07 pierre_ joined #perl6
01:08 TimToady you need to use parens if there is ambiguity with a reserved word (the reserved word will require whitespace, in that case)
01:09 TimToady m: sub if ($x) { say "Interface is $x" }; if('impressive')
01:09 camelia rakudo-moar ef98f8: OUTPUT«Interface is impressive␤»
01:09 TimToady m: sub if ($x) { say "Interface is $x" }; if 'impressive'
01:09 camelia rakudo-moar ef98f8: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing block␤at <tmp>:1␤------> 3say "Interface is $x" }; if 'impressive'7⏏5<EOL>␤    expecting any of:␤        block or pointy block␤»
01:10 TimToady other than that, when you mention a noun like &foo, it will not be called unless you use explicit parens
01:10 TimToady m: say &infix:<+>
01:10 camelia rakudo-moar ef98f8: OUTPUT«sub infix:<+> (Mu $?, Mu $?) { #`(Sub+{<anon|74582304>}+{Precedence}|40058080) ... }␤»
01:10 TimToady m: say &infix:<+>()
01:10 camelia rakudo-moar ef98f8: OUTPUT«0␤»
01:11 dataangel TimToady: with-suffix($target, ".cpp") # works like this but does not work with spaces... Don't think reserved words are an issue here though. Just a normal function that takes two arguments
01:11 AlexDaniel dataangel: are you sure that 「with-suffix $target, ".cpp"」 does not work?
01:11 dataangel I still need to , ?
01:12 AlexDaniel sure
01:12 dataangel Mistakenly thought it was like Haskell
01:12 pierre_ joined #perl6
01:12 dataangel oops
01:12 TimToady perl almost never allows two terms in a row
01:13 TimToady so args need commas
01:13 AlexDaniel dataangel: by the way, note that when calling a method you can omit parens, but you will need :
01:13 AlexDaniel m: say 42.base(2)
01:13 camelia rakudo-moar ef98f8: OUTPUT«101010␤»
01:13 AlexDaniel m: say 42.base: 2
01:13 camelia rakudo-moar ef98f8: OUTPUT«101010␤»
01:13 AlexDaniel m: say 42.base 2 # ← and this is not going to work
01:13 camelia rakudo-moar ef98f8: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3say 42.base7⏏5 2 # ← and this is not going to work␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end…»
01:15 MasterDuke AlexDaniel: hot damn! very nice
01:16 MasterDuke re tests
01:17 TimToady yes, methods default to no args (since they already have an invocant, and are often used to access attributes as if they were variables)
01:25 dataangel What is the right way to combine paths, like os.path.join in python?
01:25 dataangel Nevermind just found it :p
01:25 dataangel Didn't expect the name child
01:29 MasterDuke there's also join, catfile, catdir, and catpath
01:30 dataangel Join doesn't appear to be a method on IO::Path
01:31 MasterDuke IO::Spec
01:34 pierre_ joined #perl6
01:42 cyphase joined #perl6
01:42 dataangel I have two sets that each have the same and only one element, "bin/editor.o".IO. When I use the (|)= operator to combine them, I expect the left-hand side of the assignment to stay the same since the sets are identical... But instead the set grows another copy every time. Why is that?
01:42 poohman_ joined #perl6
01:46 TimToady m: my $s = set 42; $s ∩= 42; $s.ay
01:46 camelia rakudo-moar ef98f8: OUTPUT«Method 'ay' not found for invocant of class 'Set'␤  in block <unit> at <tmp> line 1␤␤»
01:46 TimToady m: my $s = set 42; $s ∩= 42; $s.say
01:46 camelia rakudo-moar ef98f8: OUTPUT«set(42)␤»
01:46 TimToady m: my $s = set 42; $s (|)= 42; $s.say
01:46 camelia rakudo-moar ef98f8: OUTPUT«set(42)␤»
01:46 TimToady looks okay to me
01:47 TimToady but maybe something is fouled up in the object identity of a .IO
01:47 dataangel m: my $s = set "bin/editor.o".IO; $s ∩= "bin/editor.o".IO; say $s;
01:47 camelia rakudo-moar ef98f8: OUTPUT«set()␤»
01:48 dataangel m: my $s = set "bin/editor.o".IO; $s (|)= "bin/editor.o".IO; say $s;
01:48 camelia rakudo-moar ef98f8: OUTPUT«set("bin/editor.o".IO, "bin/editor.o".IO)␤»
01:48 dataangel There we go
01:48 dataangel That looks wrong
01:48 TimToady looks buggy some way or tother
01:48 geekosaur m: say "bin/editor.o".IO.WHICH; say "bin/editor.o".IO.WHICH
01:48 camelia rakudo-moar ef98f8: OUTPUT«IO::Path|68690048␤IO::Path|68690136␤»
01:49 TimToady there you go
01:49 TimToady .IO is being some kind of constructor
01:49 dataangel Sure
01:49 TimToady dinner &
01:49 dataangel But how do you get a set that is actually a set then?
01:50 dataangel I usually care about value equivalence not whether something under the hood shares the same memory address
01:51 TimToady in OO, different objects are different values even if they happen to have the same innards
01:51 TimToady so don't call .IO if you don't want that
01:52 TimToady it has to be that way for mutable objects to exist; don't use mutable objects as if they were FP objects, is all...
01:52 TimToady dinner really & :)
01:52 dalek whateverable: ca9eb88 | (Aleks-Daniel Jakimenko-Aleksejev)++ | / (5 files):
01:52 dalek whateverable: Make “*6:” shortcuts a thing
01:52 dalek whateverable:
01:52 dalek whateverable: I used to write “commit6:” sometimes, so why not make it work?
01:52 dalek whateverable: review: https://github.com/perl6/wha​teverable/commit/ca9eb88dfa
01:52 dataangel TimToady: I've been doing OO in C++ for years with value equivalence. Everything is an object in python too and doesn't have this behavior either.
01:56 cyphase joined #perl6
01:59 BenGoldberg m: my $beo = "bin/editor.o".IO; my $s = set $beo; $s (|)= $beo; say $s;
01:59 camelia rakudo-moar ef98f8: OUTPUT«set("bin/editor.o".IO)␤»
01:59 BenGoldberg dataangel, ^ is that what you want?
02:00 dataangel BenGoldberg: yes but that only works because you only constructed the object once
02:01 buharin joined #perl6
02:01 BenGoldberg Do you really believe that two different filehandles, even if they point to the same underlying file, should be considered equivilant?
02:01 geekosaur theyre not filehandles though
02:02 dataangel BenGoldberg: depends on how you are defining file handle, I am only using in this instance to get a stronger type than string, i.e. to indicate that the string actually contains a path
02:02 geekosaur that said, they should probably not be the same thing. (I think they're stat caches or something?)
02:02 dataangel I think they are just paths
02:03 geekosaur which would also mean you shouldn't persist them as they may not refer to the same file later
02:03 dataangel I think they are just paths, at least that is what the documentation makes me believe, in which case I really do think they should be considered the same thing
02:04 dataangel I mean the name of the class is IO::Path, not IO::File or IO::FileDescriptor or anything like that
02:05 dataangel C++ lets you define custom comparators for your sets to control what kind of identity you want, is there a way to do that?
02:08 BenGoldberg Yeah, my mistake, they are paths not file handles.
02:08 geekosaur then they'd have to implement a path cache
02:09 BenGoldberg I'm quite certain perl lets you create custom comparators.
02:09 dataangel geekosaur: or a set type that uses value equivalents instead of memory addresses, which is what I'm really looking for
02:09 cyphase joined #perl6
02:11 BenGoldberg m: say( "bin/editor.o".IO eqv "bin/editor.o".IO );
02:11 camelia rakudo-moar ef98f8: OUTPUT«True␤»
02:12 LegalResale joined #perl6
02:13 dataangel Can't find anything about custom comparators in the documentation here https://docs.perl6.org/language/setbagmix
02:13 BenGoldberg m: say( set( 1, 1, 2, 2, 2 ) );
02:13 camelia rakudo-moar ef98f8: OUTPUT«set(1, 2)␤»
02:15 BenGoldberg m: say( 1 ~~ 1 );
02:15 camelia rakudo-moar ef98f8: OUTPUT«True␤»
02:15 BenGoldberg m: say( "bin/editor.o".IO ~~ "bin/editor.o".IO );
02:15 camelia rakudo-moar ef98f8: OUTPUT«True␤»
02:17 geekosaur yeh. no way to specify a comparator, it's wired to ===
02:20 BenGoldberg Maybe you could override .WHERE ?
02:20 BenGoldberg Err, .WHICH
02:21 BenGoldberg m: .WHICH.say for "bin/editor.o".IO, "bin/editor.o".IO;
02:21 camelia rakudo-moar ef98f8: OUTPUT«IO::Path|74692768␤IO::Path|74692856␤»
02:21 BenGoldberg m: .WHICH.perl.say for "bin/editor.o".IO, "bin/editor.o".IO;
02:21 camelia rakudo-moar ef98f8: OUTPUT«ObjAt.new("IO::Path|51521056​")␤ObjAt.new("IO::Path|51521144")␤»
02:22 BenGoldberg m: use MONKEY-TYPING; class IO::Path { method WHICH { .gist } };  .WHICH.perl.say for "bin/editor.o".IO, "bin/editor.o".IO;
02:22 camelia rakudo-moar ef98f8: OUTPUT«ObjAt.new("IO::Path|78647760​")␤ObjAt.new("IO::Path|78647848")␤»
02:22 BenGoldberg m: use MONKEY-TYPING; class IO::Path { method WHICH { .gist } }; IO::Path.^compose; .WHICH.perl.say for "bin/editor.o".IO, "bin/editor.o".IO;
02:22 camelia rakudo-moar ef98f8: OUTPUT«ObjAt.new("IO::Path|71928080​")␤ObjAt.new("IO::Path|71928168")␤»
02:22 * BenGoldberg headscratches
02:23 MasterDuke how do i add an option to the perl6 binary? i added it to https://github.com/perl6/nqp/blob​/master/src/HLL/Compiler.nqp#L26, but it still complains if i try to use it (after rebuilding nqp and rakudo)
02:23 BenGoldberg m: .gist.say for "bin/editor.o".IO, "bin/editor.o".IO;
02:23 camelia rakudo-moar ef98f8: OUTPUT«"bin/editor.o".IO␤"bin/editor.o".IO␤»
02:23 grondilu_ joined #perl6
02:25 MasterDuke m: use MONKEY-TYPING; augment class IO::Path { method WHICH { self.gist } }; IO::Path.^compose; .WHICH.perl.say for "bin/editor.o".IO, "bin/editor.o".IO;
02:25 camelia rakudo-moar ef98f8: OUTPUT«ObjAt.new("IO::Path|52317384​")␤ObjAt.new("IO::Path|52317472")␤»
02:26 MasterDuke odd, that works locally
02:27 MasterDuke m: use MONKEY-TYPING; augment class IO::Path { method WHICH { self.gist } }; IO::Path.^compose; .WHICH.say for "bin/editor.o".IO, "bin/editor.o".IO;
02:27 camelia rakudo-moar ef98f8: OUTPUT«IO::Path|84611384␤IO::Path|84611472␤»
02:27 cyphase joined #perl6
02:28 MasterDuke maybe something to do with the restricted settings?
02:30 ugexe zef now has support for consuming meta data and distributions from the cpan PSIXDISTS experiment alongside our current p6c ecosystem
02:31 sftp joined #perl6
02:32 noganex joined #perl6
02:36 BenGoldberg Derp, I forgot 'augment', now I feel silly.
02:37 BenGoldberg m: use MONKEY-TYPING; augment class IO::Path { method WHICH { self.gist } }; IO::Path.^compose; say( set("bin/editor.o".IO, "bin/editor.o".IO ) );
02:37 camelia rakudo-moar ef98f8: OUTPUT«set("bin/editor.o".IO, "bin/editor.o".IO)␤»
02:37 canopus joined #perl6
02:42 cyphase joined #perl6
02:55 canopus joined #perl6
02:56 grondilu joined #perl6
03:16 timotimo ^- that set only has one value locally, so it *is* the restricted setting that's breaking things here
03:23 vapace joined #perl6
03:34 wamba joined #perl6
03:34 cyphase joined #perl6
03:43 vike joined #perl6
03:48 pierre_ joined #perl6
03:49 pierre_ joined #perl6
03:49 itaipu joined #perl6
03:49 zengargoyle joined #perl6
04:04 poohman joined #perl6
04:07 pierre_ joined #perl6
04:08 cyphase joined #perl6
04:12 Cabanossi joined #perl6
04:15 poohman joined #perl6
04:23 cyphase joined #perl6
04:38 cyphase joined #perl6
04:41 pierre_ joined #perl6
04:53 yadongz joined #perl6
04:56 cyphase joined #perl6
04:59 vike joined #perl6
05:10 quester joined #perl6
05:12 cyphase joined #perl6
05:18 pierre_ joined #perl6
05:26 pierre_ joined #perl6
05:35 dalek ecosystem: c8e4282 | (Sterling Hanenkamp)++ | META.list:
05:35 dalek ecosystem: Adding HTTP::Request::Supply to the ecosystem
05:35 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/c8e428274f
05:38 pierre_ joined #perl6
05:54 yadongz joined #perl6
05:55 cyphase joined #perl6
05:56 domidumont joined #perl6
05:59 nige1 joined #perl6
06:02 jonas2 joined #perl6
06:05 buharin joined #perl6
06:07 CIAvash joined #perl6
06:20 firstdayonthejob joined #perl6
06:40 nadim joined #perl6
06:42 Glitchy Does perl6 have interfaces?
06:54 CIAvash Glitchy: https://docs.perl6.org/syntax/role
06:55 yadongz joined #perl6
06:55 Glitchy CIAvash: Thanks, so a role fills many... roles?
06:55 Glitchy It's like a mixin, and an interface?
06:56 nine yes
06:59 brrt joined #perl6
07:01 brrt dataangel: your issue is not that perl6 doesn't allow overloading but that Set objects use object identities
07:01 RabidGravy joined #perl6
07:01 brrt imo that is the sane behaviour
07:02 cyphase joined #perl6
07:02 brrt we can quibble if Io::Path objects are values or not
07:03 pierre_ joined #perl6
07:03 Glitchy Are there any good tutorial resources yet? Just looking for a kindof 'quickstart' to get a web router running.
07:04 labster joined #perl6
07:04 brrt one other  way to do what you want would be to use strings that are subtyped to coerceable to IO::Path
07:05 brrt Glitchy: i'm not sure if/whether we have that yet
07:05 Glitchy brrt: A web router, or a tutorial resource?
07:06 brrt but that is also becausr our web toolchain is very much early adopter
07:06 brrt we have tutorials but i dont think we have them at the level you are looking fot
07:07 brrt judging from the web router example
07:08 Glitchy brrt: The more important thing I guess from my perspective is finding the new equivelant to plackup/Starlet (if there is one)
07:08 brrt although some people have implemented web frameworks so you'd have to check there
07:08 brrt have you chevked modules.perl6.org?
07:09 bjz joined #perl6
07:09 Glitchy Yes, I've found web routing frameworks (there's one that's basically a port of Dancer, seems like a good place to start)
07:10 brrt then that is probably your answer :-)
07:11 Glitchy I'm maybe not asking clearly (still haven't had morning coffee). I guess what I'm looking for is the stack that sits between code and nginx/whatever web server I'm using.
07:11 brrt i dont think the perl6 website maintains web-focussed documentation.
07:11 bjz joined #perl6
07:11 Glitchy For perl 5 you had the whole PSGI stack, usually plack & Star*
07:12 brrt fairly sure we have a PSGI module
07:12 Glitchy So, you'd run the server with 'plackup ... someport ... someserver ... mycode.pl'
07:12 Glitchy I'm looking for how I do that bit now
07:13 brrt hmm. can't really help you there, sorry
07:13 Glitchy OK thanks
07:14 brrt good luck
07:18 darutoko joined #perl6
07:20 pierre_ joined #perl6
07:24 leont_ joined #perl6
07:26 nine Glitchy: there's a PSGI implementation called Crust
07:27 bjz joined #perl6
07:28 Glitchy nine: Thanks, that's probably what I'm looking for.
07:34 nine Glitchy: also you could just use starman or starlet ;)
07:37 timotimo the sidebar of the perl6 subreddit has a little section called "install"; it mentions R* as recommended and then directly rakudobrew without additional verbiage
07:38 timotimo maybe we want to put more stuff in there?
07:38 nine and remove rakudobrew
07:39 timotimo i wasn't going to suggest such a drastic step right away :)
07:40 timotimo also, some more places will want to get the additional verbiage that warns about --gen-moar installing stuff into a --prefix if it's specified
07:40 timotimo of note, perl6.org/downloads could get it, and how-to-get-rakudo on rakudo.org could also get it
07:42 wamba joined #perl6
07:45 zakharyas joined #perl6
07:48 Glitchy nine: Thanks for the help, I've got a 200 returning now :)
07:49 nine \o/
07:54 domidumont joined #perl6
07:55 timotimo seems like we've got some optimization opportunity
07:56 timotimo having a subsignature with $a1 through $a9 is slower than having my ($a1 ... $a9) = @array
08:02 Actualeyes joined #perl6
08:04 leont_ joined #perl6
08:06 NEveD joined #perl6
08:12 lizmat timotimo: please elaborate ?
08:13 BooK nick's talk at the alpine perl workshop reminds me of a lightning talk long ago :-)
08:14 BooK rather, one of the gimmicks in the talk
08:16 timotimo https://www.reddit.com/r/perl6/comments/51f​d70/overkill_iii_permutations_of_overkill/  -  you see the declaration of the elements $a0 through $a8 here?
08:16 timotimo if you put the $a0 through $a8 as a subsignature for @array in the signature itself - and it doesn't seem to matter if it's (...) or [...] - it gets noticably slower
08:19 pierre_ joined #perl6
08:20 timotimo and writing it out as my $a0 = @array[0]; my $a1 = @array[1]; ... is noticably faster again
08:21 lizmat timotimo: that's because STORE needs to be pessimistic
08:21 lizmat I've looked at that before, but at runtime, there's not much that can be done
08:22 lizmat so it builds two iterators, and then assigns the result of the next iteration of the first to the next iteration of the second
08:22 lizmat that's quite a lot of overhead
08:22 timotimo OK, what can we do at compile time? or maybe in the optimizer?
08:23 lizmat the case of "my ($a0, $a1, $a2, $a3, $a4, $a5, $a6, $a7, $a8) = @array" should be compile time optimisable to $a0 = @array.AT-POS(0), $a1 = @array.AT-POS(1)   etc
08:23 lizmat I think that would make that an order of magnitude faster
08:25 timotimo going from [0] to .AT-POS(0) makes barely a difference
08:25 pierre_ joined #perl6
08:25 lizmat yeah, it gets optimised away quickly  :-)
08:26 timotimo `````````````````````````
08:26 timotimo oops
08:27 dakkar joined #perl6
08:30 timotimo i posted on that reddit thread
08:30 yadongz joined #perl6
08:34 rudolfochrist joined #perl6
08:36 cyphase joined #perl6
08:38 lizmat timotimo: https://gist.github.com/lizmat/b​3fe91c5be759e5cdaaf7afdf2821cb4   # 25 secs versus 35
08:43 timotimo i put my current solution under it as a gist comment
08:44 pierre_ joined #perl6
08:44 timotimo it seems like we're spending most of the time inside push-all, pull-one, and postcircumfix:<[ ]>
08:44 timotimo but apparently not the one from our user code
08:50 nadim joined #perl6
08:52 AlexDaniel joined #perl6
08:52 woolfy left #perl6
08:57 canopus_ joined #perl6
09:01 pierre_ joined #perl6
09:01 lizmat commute&
09:06 El_Che The first textual app quit message I see without "MacBook" in it. \o/ for lizmat!
09:12 llfourn m: say [+] (1,2)|(3,4) # [+] doesn't autothread?
09:12 camelia rakudo-moar ef98f8: OUTPUT«Type check failed in assignment to $sum; expected Numeric but got Junction (any(2, 2))␤  in block <unit> at <tmp> line 1␤␤»
09:12 llfourn oh wait I may have confused myself
09:14 llfourn hmm no it seems what I did should work
09:14 llfourn m: say ((1,2)|(3,4)).reduce(&[+])
09:14 camelia rakudo-moar ef98f8: OUTPUT«any(3, 7)␤»
09:14 llfourn ^ that's what I thought it should do
09:17 nadim joined #perl6
09:22 nadim Morning P6!
09:23 bjz joined #perl6
09:27 El_Che hi nadim
09:27 moritz \o nadim
09:29 vytas joined #perl6
09:41 lambd0x joined #perl6
09:41 lambd0x Hello everyone!
09:48 El_Che hi lambd0x
09:49 lambd0x El_Che: \o/
09:50 nine -win 13
09:52 lambd0x Guys, how long an array must be for it to fail getting flatten?
09:53 rindolf joined #perl6
09:53 lambd0x It's happening to one of my algs when using a 75k input...
09:55 El_Che 75k elements?
09:57 heatsink joined #perl6
09:58 lambd0x El_Che: yes. It's a sorting alg, quicksort
10:00 zakharyas joined #perl6
10:01 quester left #perl6
10:02 dalek doc: 0296c98 | (Jan-Olof Hendig)++ | doc/Language/objects.pod6:
10:02 dalek doc: Fixed some code sample indentation problems
10:02 dalek doc: review: https://github.com/perl6/doc/commit/0296c989f6
10:02 lambd0x e.g.,: http://bpaste.net/show/1849795c2214 (input); http://bpaste.net/show/9965889fd01f (quickSort)
10:05 pierre_ joined #perl6
10:15 holyghost joined #perl6
10:15 bjz joined #perl6
10:16 travis-ci joined #perl6
10:16 travis-ci Doc build failed. Jan-Olof Hendig 'Fixed some code sample indentation problems'
10:16 travis-ci https://travis-ci.org/perl6/doc/builds/158127574 https://github.com/perl6/doc/com​pare/ba1af07e9294...0296c989f6ee
10:16 travis-ci left #perl6
10:20 dogbert17 o/ #perl6
10:21 dogbert17 looks as if the precomp problem from yesterday is still lingering: https://travis-ci.org/perl6/doc/builds/158127574
10:27 grondilu how do I export an enum?
10:27 grondilu m: module { enum <foo bar> is export }
10:27 camelia rakudo-moar ef98f8: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3module { enum <foo bar>7⏏5 is export }␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        sta…»
10:28 moritz grondilu: I guess it needs to be named
10:28 jnthn m: module A { enum Baz is export <foo bar> }
10:28 camelia rakudo-moar ef98f8: ( no output )
10:28 grondilu m: module { enum :: is export <foo bar> }
10:28 camelia rakudo-moar ef98f8: ( no output )
10:28 grondilu thanks
10:29 DrForr Heh, Perl6::Tidy can finally tidy what jnthn is pasting :)
10:29 jnthn But my pastes are beautiful already! :P
10:31 moritz s/pasts/pastries/
10:36 lambd0x any ideas about flat current limitations?
10:36 * jnthn does rather little bakery...
10:37 jnthn lambd0x: Flat as in .flat, or as in argument passing?
10:37 xfix joined #perl6
10:38 jnthn That's limited by how many arguments the underlying VM can handle. MoarVM can handle around 2**16 though it depends on stuff like if they're named or not. JVM can only handle up to 256.
10:40 jnthn I've no plans to lift this limit in MoarVM. Note that as well as flattening the array, it also is producing a callsite object with flags for every item passed, which than has to be thrown away.
10:40 jnthn And flattened things disabled a bunch of optimizations.
10:41 jnthn *disable
10:41 aries_liuxueyang joined #perl6
10:41 TheLemonMan joined #perl6
10:42 lambd0x jnthn: I've impl. a quicksort and tested it with 75K int input and it gave me a flat related issue.
10:42 lambd0x jnthn: e.g.,: http://bpaste.net/show/1849795c2214 (input); http://bpaste.net/show/9965889fd01f (quickSort)
10:44 nine lambd0x: so why don't you create a @results array, append to it and return the whole array?
10:44 jnthn Hmmm
10:44 * jnthn tries to spot where the flattening actually happens in there
10:45 lambd0x jnthn: hahah
10:45 jnthn I wonder if something inside Rakudo is trying to do something weird with an argument list
10:46 lambd0x nine: I could try doing this. Must learn my way there though..
10:47 lambd0x jnthn: as the input sizes increase for any alg that would augment a list of arrays let's say... it would give a " Too many arguments in flattening array." at some point
10:48 jnthn lambd0x: Yeah, that suggests something somewhere is trying to actually pass those all as function arguments.
10:49 jnthn I'm curious what... I guess an --ll-exception backtrace would show it up if the normal backtrace doesn't
10:49 jnthn It's worth an RT, anyway.
10:51 nine It's the multi dispatch
10:52 yadongz joined #perl6
10:53 rindolf joined #perl6
10:53 eliasr joined #perl6
10:55 nine m: multi foo([]) {}; my @a = 1..75000; foo(@a) # golfed version
10:55 camelia rakudo-moar c08285: OUTPUT«Too many arguments in flattening array.␤  in sub foo at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
10:55 jnthn Hmm
10:55 jnthn Or the unpack maybe?
10:55 jnthn But I didn't think unpacks would do that...
10:57 nine Well the error comes from gen/moar/m-BOOTSTRAP.nqp:933  (/home/nine/rakudo/install/share/nqp/l​ib/Perl6/BOOTSTRAP.moarvm:vm_capture)
10:58 jnthn Hmm
10:59 jnthn This probably means we might have some perf improvements to come on upacks :P
10:59 jnthn *unpacks
10:59 jnthn (Together with the bug fix :P)
10:59 nine Wow, 2 for the price of 1!
10:59 timotimo the F? i just had a person with indian accent call from microsoft to tellme about my windows
11:00 Gothmog_ joined #perl6
11:00 nine timotimo: I'd stall them as long as possible until after half an hour on the phone they discover that I don't have any Windows at all
11:00 bartolin joined #perl6
11:00 timotimo no want
11:00 stmuk_ is anyone else getting slow dl times from GH?
11:01 lambd0x nine: haahh
11:02 TheLemonMan timotimo, maybe your windows were just dirty :D
11:06 timotimo heh
11:09 stmuk_ hmm fixed using https not git
11:14 canopus joined #perl6
11:16 salva joined #perl6
11:22 bjz_ joined #perl6
11:29 holyghost joined #perl6
11:39 gregf_ microsoft already have your details.. the call was merely to confirm you're not planning on suing them ;)
11:39 cyphase joined #perl6
11:57 skids joined #perl6
12:02 heatsink was the indian guy a Microsoft Certified Window Cleaner (MSWC) :)
12:06 * grondilu sneaked an ad for Perl 6 on HN:  https://news.ycombinator.com/item?id=12441886
12:06 grondilu (and for his Clifford module, kind of his pride and joy ;) )
12:09 cyphase joined #perl6
12:17 [Coke] timotimo: common spam call here in the US
12:18 [Coke] I've gotten them several times. I've tried various tactics from innovative cursing, to faux excitement followed by a suggestion to question their life choices. They keep calling back. :|
12:20 Glitchy [Coke]: Next time, pick up the phone and pretend to be a cop. Tell them they've called the scene of a murder and you're currently tracing their location because you suspect they were involved.
12:21 gregf_ haha, remote execution *chuckles*
12:21 timotimo m)
12:22 dogbert17 stupid question time: https://docs.perl6.org/routine/spurt#(IO)_sub_spurt mentions the dynamic var $*ENC. Does that really exist?
12:27 timotimo source: &spurt
12:27 timotimo s: &spurt
12:27 SourceBaby timotimo, Sauce is at https://github.com/rakudo/rakudo/blob/​c082855/src/core/io_operators.pm#L150
12:28 timotimo it seems to just default to utf8 instead of $*ENC
12:29 jnthn Not a single mention of $*ENC in Rakudo. So, no. :)
12:32 dogbert17 jnthn: thanks will change the doc from 'Str  :$enc        = $*ENC'  to  'Str  :$enc        = 'utf8'
12:33 ShimmerFairy I think $*ENC doesn't exist yet because we've not really done much with the idea of not defaulting to Unicode :P
12:34 timotimo $*ENC = 'EBCDIC'
12:34 moritz that's not an encoding, it's an abdomination
12:35 DrForr Naah, UTF-9 :)
12:35 timotimo nobody has been fired for buying EBCDIC
12:35 ilmari UTF-EBCDICF
12:35 ilmari -F
12:37 moritz timotimo: there's always a first time :-)
12:37 jast UTF-EBCDIC is amazing
12:40 dalek doc: d8c7dc9 | (Jan-Olof Hendig)++ | doc/Type/IO.pod6:
12:40 dalek doc: Removed reference to bogus dynvar ENC. jnthn++
12:40 dalek doc: review: https://github.com/perl6/doc/commit/d8c7dc9ed6
12:40 dogbert17 moritz: let's see if this build works
12:42 moritz dogbert17: nine++ just pointed out another problem in rakudo, over in #perl6-dev
12:42 yoleaux joined #perl6
12:43 dogbert17 in the meantime, stupid question #2. If I have a method object, how can I figure out which class the method belongs to?
12:43 timotimo it might have a .package?
12:43 pierre_ joined #perl6
12:43 dogbert17 moritz: ah, nine++ is on the job
12:43 timotimo m: class test { method meth { } }; my &m = test.^find_method('meth'); say &m.^methods
12:43 camelia rakudo-moar c08285: OUTPUT«(gist <anon> <anon> <anon> soft <anon> <anon> yada perl <anon> onlystar candidates unwrap wrap <anon> <anon> package leave <anon> <anon> cando <anon> <anon> <anon> <anon> multi <anon> <anon> add_phaser has-phaser phasers assuming WHY set_why perl of <anon>…»
12:44 timotimo m: class test { method meth { } }; my &m = test.^find_method('meth'); say &m.^methods.grep(*.name ne '<anon>')
12:44 camelia rakudo-moar c08285: OUTPUT«(gist soft yada perl onlystar candidates unwrap wrap package leave cando multi add_phaser has-phaser phasers assuming WHY set_why perl of returns fire_phasers has-phasers count line perl file of ACCEPTS signature Str arity returns new outer static_id)␤»
12:44 timotimo m: class test { method meth { } }; my &m = test.^find_method('meth'); say &m.package
12:44 camelia rakudo-moar c08285: OUTPUT«(test)␤»
12:44 timotimo dogbert17: ^
12:44 dogbert17 timotimo++ to the rescue
12:45 holyghost joined #perl6
12:47 dogbert17 m: for 12.can("sqrt") {say .package}
12:47 camelia rakudo-moar c08285: OUTPUT«(Int)␤(Cool)␤»
12:47 dogbert17 cool
12:47 travis-ci joined #perl6
12:47 travis-ci Doc build failed. Jan-Olof Hendig 'Removed reference to bogus dynvar ENC. jnthn++'
12:47 travis-ci https://travis-ci.org/perl6/doc/builds/158162748 https://github.com/perl6/doc/com​pare/0296c989f6ee...d8c7dc9ed695
12:47 travis-ci left #perl6
12:48 dogbert17 boom
12:48 timotimo not problematic
12:48 timotimo taht's just the recent change to PrecompilationID that nine made
12:48 timotimo the patch for that just landed in rakudo
12:50 dogbert17 timotimo: cool, it will soon be put to the test when the next doc change goes in
12:50 timotimo good to hear
13:00 Praise- joined #perl6
13:00 Praise- joined #perl6
13:03 mcmillhj joined #perl6
13:10 madrudik joined #perl6
13:11 madrudik left #perl6
13:14 pierre_ joined #perl6
13:20 cdg joined #perl6
13:21 sakuya joined #perl6
13:26 dalek doc: 70e6cc5 | (Jan-Olof Hendig)++ | doc/Language/ipc.pod6:
13:26 dalek doc: Fixed two code examples which didn't compile
13:26 dalek doc: review: https://github.com/perl6/doc/commit/70e6cc5d6f
13:27 TheLemonMan joined #perl6
13:27 timotimo good
13:29 gregf_ m: <Str shift>.map: { [].^lookup($_).package.say}
13:29 camelia rakudo-moar f0bb58: OUTPUT«(Mu)␤(Array)␤»
13:32 * timotimo just called lenovo support to get two kinds or repair done
13:33 timotimo it's always super nice :3
13:39 dogbert17 the build process work now it seems, nine++
13:39 holyghost joined #perl6
13:42 nadim Hi, I haven't seen much about Ties but I guess one can derive from Int, Hash and such and find accessors, ..., right?
13:43 timotimo "find" accessors?
13:43 moritz nadim: right
13:44 moritz also one can just give classes hash-like or array-like behavior
13:44 moritz without subclassling
13:48 ShimmerFairy you would have to do the Positional or Associative roles if you want to bind them to @ and % variables though, IIRC
13:49 travis-ci joined #perl6
13:49 travis-ci Doc build passed. Jan-Olof Hendig 'Fixed two code examples which didn't compile'
13:49 travis-ci https://travis-ci.org/perl6/doc/builds/158174319 https://github.com/perl6/doc/com​pare/d8c7dc9ed695...70e6cc5d6f91
13:49 travis-ci left #perl6
13:49 llfourn ^ that's correct
13:57 cyphase joined #perl6
13:58 nadim moritz, timotimo: any article somewhere, or a doc, showing examples?
13:59 zacts joined #perl6
14:00 moritz nadim: https://docs.perl6.org/language/subscripts
14:00 moritz in particular https://docs.perl6.org/langu​age/subscripts#Custom_types
14:01 nadim cool, thanks
14:08 canopus joined #perl6
14:09 Actualeyes1 joined #perl6
14:10 timotimo yay, i can see nine's talk from the APW
14:10 llfourn m: say (Real,) ~~ (Real,), (Real,) ~~ (Real).list # Bug?
14:10 camelia rakudo-moar f0bb58: OUTPUT«TrueFalse␤»
14:10 timotimo https://www.youtube.com/watch?v=ZRkots5Am1U
14:11 cyphase joined #perl6
14:12 TheLemonMan joined #perl6
14:13 skids joined #perl6
14:14 wamba joined #perl6
14:14 llfourn m: say (Real,) ~~ (Real,), (Real,) ~~ (Real).List # .List seems to work..
14:14 camelia rakudo-moar f0bb58: OUTPUT«TrueFalse␤»
14:14 llfourn hmm or not
14:26 cyphase joined #perl6
14:30 M-Illandan joined #perl6
14:35 canopus joined #perl6
14:36 Lee__ joined #perl6
14:37 leejo https://github.com/leejo/geo-ip2location-lite-p6​/commit/67b15c626759f0084d0d88b92b5c043cfcdc29c2 # can anyone confirm if i'm DTRT here? ( still need to kill a couple of unpack calls in the module as well)
14:39 stmuk_ joined #perl6
14:40 rindolf joined #perl6
14:41 mohae joined #perl6
14:42 jervo joined #perl6
14:42 dogbert17 joined #perl6
14:42 imcsk8 joined #perl6
14:42 xinming joined #perl6
14:42 kshannon joined #perl6
14:42 ufobat joined #perl6
14:42 eyck joined #perl6
14:42 nine joined #perl6
14:42 jdv79 joined #perl6
14:42 broquaint joined #perl6
14:42 xdbr joined #perl6
14:42 TheDir_ joined #perl6
14:42 jeek joined #perl6
14:42 gypsydave5 joined #perl6
14:42 jast joined #perl6
14:43 cyphase joined #perl6
14:49 pierre_ joined #perl6
14:58 user10 joined #perl6
14:58 gregf_ m: for [(Real,), (Real).List] { .^name.say }
14:58 camelia rakudo-moar f0bb58: OUTPUT«List␤List␤»
14:58 timotimo nine: do you remember what the problem was of the person who said they can't get rakudo to run any code in parallel?
14:58 timotimo m: m: for [(Real,), (Real).List] { .perl.say }
14:58 camelia rakudo-moar f0bb58: OUTPUT«$(Real,)␤$(Real,)␤»
14:59 acrussell joined #perl6
15:00 llfourn timotimo: it seems it's because Real is a role and when you do Real.list i puns Real into a class and then makes a list from that
15:00 khw joined #perl6
15:00 timotimo oh, that makes sense
15:00 timotimo a lot of sense, really
15:01 llfourn m: say (Real,)[0] ~~ (Real)[0]
15:01 camelia rakudo-moar f0bb58: OUTPUT«True␤»
15:01 llfourn m: say (Real,)[0] ~~ Real.List[0]
15:01 camelia rakudo-moar f0bb58: OUTPUT«False␤»
15:01 llfourn ya
15:02 user9 joined #perl6
15:03 llfourn m: Real ~~ Real.^pun
15:03 camelia rakudo-moar f0bb58: ( no output )
15:03 llfourn m: say Real ~~ Real.^pun
15:03 camelia rakudo-moar f0bb58: OUTPUT«False␤»
15:03 llfourn m: say Real.^pun ~~ Real
15:03 camelia rakudo-moar f0bb58: OUTPUT«True␤»
15:04 rindolf joined #perl6
15:04 llfourn I guess that's notabug then
15:05 llfourn m: say Real ~~ List.new(Real)
15:05 camelia rakudo-moar f0bb58: OUTPUT«False␤»
15:05 llfourn hmmm
15:05 cyphase joined #perl6
15:06 llfourn m: say (Real,)[0] ~~ List.new(Real)[0]
15:06 camelia rakudo-moar f0bb58: OUTPUT«True␤»
15:07 llfourn I guess that's what I have to do to make a list from some arbitary value without punning it in the case it's a role
15:09 buggable joined #perl6
15:10 buggable joined #perl6
15:13 lichtkind_ joined #perl6
15:20 nine timotimo: that was most probably just a misinterpretation of the output of the test script
15:20 timotimo ah
15:21 timotimo well, sleeping won't show a core as utilized
15:21 timotimo so they were probably expecting like 400% cpu usage or something
15:21 nine and the test script prints one number per second because it starts 10 runs in parallel with increasing sleep times.
15:21 nine doesn't look very parallel though :)
15:23 yadongz joined #perl6
15:27 gregf_ is there any method like instance_variable_get(Ruby) or __getattribute__(python)?
15:27 timotimo right, because each echo is supposed to come in about a second after the other until the size of the pool is hit
15:28 timotimo gregf_: you can $object."$name-of-attribute"()
15:28 gregf_ ah - ok. looks a bit ugly tho' :/
15:29 timotimo make it a sub of your own choice :)
15:29 nine gregf_: well you are doing something very unusual. Arguably it _should_ stand out
15:29 gregf_ also, for comparing two objects, should ~~ be enough or does one need to provide an == or eq method?
15:29 gregf_ nine: heh
15:29 timotimo eqv is for object equivalence
15:29 gregf_ ok, nice
15:30 gregf_ timotimo: no such method :/
15:31 zacts joined #perl6
15:31 gregf_ m: class Foo { has Str $.a; has Int $.b; }; Foo.new(a => "foo", b => 100).eqv(Foo.new(a => "foo", b => 100))
15:31 camelia rakudo-moar f0bb58: OUTPUT«Method 'eqv' not found for invocant of class 'Foo'␤  in block <unit> at <tmp> line 1␤␤»
15:32 timotimo yeah, it's not a method :)
15:32 gregf_ oh, a global function?
15:32 timotimo operator
15:32 gregf_ ok
15:33 gregf_ yay!
15:33 gregf_ timotimo: ta!
15:35 cyphase joined #perl6
15:37 gregf_ m: https://gist.github.com/anonymous​/82e9f1fc92de6e4e40ff463612e10e69
15:37 camelia rakudo-moar f0bb58: OUTPUT«True␤»
15:37 gregf_ looks neater :)
15:39 timotimo well, to perl programmers, "eq" will signify "string equivalence"
15:39 timotimo so you might cause confusion there
15:40 gregf_ true that
15:45 [Coke] .ask pmurias src/vm/js/Chunk.nqp uses nqp::list_s - where is list_s defined for the js backend?
15:45 yoleaux [Coke]: I'll pass your message to pmurias.
15:46 dogbert17 m: module Foo; use NativeCall; our sub init() is native('foo') is symbol('FOO_INIT') { * } # fails
15:46 camelia rakudo-moar f0bb58: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Semicolon form of 'module' without 'unit' is illegal.  You probably want to use 'unit module'␤at <tmp>:1␤------> 3module Foo;7⏏5 use NativeCall; our sub init() is nativ␤»
15:46 dogbert17 m: unit module Foo; use NativeCall; our sub init() is native('foo') is symbol('FOO_INIT') { * } # is this how it's supposed to be?
15:46 camelia rakudo-moar f0bb58: ( no output )
15:47 timotimo yeah
15:47 dogbert17 timotimo: look here: https://docs.perl6.org/langua​ge/nativecall#Changing_names      should I change it?
15:49 cyphase joined #perl6
15:51 MilkmanDan joined #perl6
15:53 araujo joined #perl6
15:53 araujo joined #perl6
16:06 dalek doc: 2c41d82 | (Jan-Olof Hendig)++ | doc/Language/nativecall.pod6:
16:06 dalek doc: Fixed error in code example
16:06 dalek doc: review: https://github.com/perl6/doc/commit/2c41d828f7
16:11 atta joined #perl6
16:19 timotimo dinner time \o/
16:19 ptolemarch joined #perl6
16:20 cognominal joined #perl6
16:20 acrussell joined #perl6
16:24 cyphase joined #perl6
16:25 atta joined #perl6
16:27 MilkmanDan joined #perl6
16:41 masak greetings, #perl6
16:44 mcmillhj joined #perl6
16:46 timotimo masak, greetings:
16:48 masak I think I will start greeting people with a colon like that
16:48 masak makes them come back for more :)
16:50 timotimo Indirect Greeting Notation :)
16:50 * masak .oO( the greeting that leaves you hanging, and here's why: )
17:00 DrForr #`[ How to drive Perl 6 hacker crazy.
17:01 canopus joined #perl6
17:02 MetaZoffix joined #perl6
17:02 MetaZoffix m: say "7\x[308]" ~~ /^ \d+ $/
17:02 camelia rakudo-moar f0bb58: OUTPUT«「7̈」␤»
17:02 MetaZoffix Is there an easy way to make it look for *just* numbers without combiners?
17:03 MetaZoffix m: "\x[308]".uninames.say
17:03 camelia rakudo-moar f0bb58: OUTPUT«(COMBINING DIAERESIS)␤»
17:04 sufrostico joined #perl6
17:05 MetaZoffix m: say "7\x[308]" ~~ /^ <:N>+ $/
17:05 camelia rakudo-moar f0bb58: OUTPUT«「7̈」␤»
17:05 MetaZoffix :/
17:05 cyphase joined #perl6
17:08 MetaZoffix Doesn't seem to be anything in https://docs.perl6.org/language.html on the topic
17:10 mst ... MetaZoffix
17:10 timotimo MetaTrout?
17:10 mst did something make you go .WHAT ?
17:10 MetaZoffix mst: what?
17:10 timotimo well, actually it'd be .HOW :)
17:10 MetaZoffix Ah the name
17:10 stux|RC-only joined #perl6
17:12 mst if what I say doesn't make sense, first check to see if it was a terrible joke that you were lucky enough to miss the first tame
17:12 mst *time
17:12 Xliff .seen grondilu
17:12 yoleaux I saw grondilu 10:28Z in #perl6: <grondilu> thanks
17:13 MetaZoffix m: say "7\x[308]".NFC ~~ /^ \d+ $/
17:13 camelia rakudo-moar f0bb58: OUTPUT«「7̈」␤»
17:13 MetaZoffix m: say "7\x[308]".NFD ~~ /^ \d+ $/
17:13 camelia rakudo-moar f0bb58: OUTPUT«「7̈」␤»
17:13 MetaZoffix m: say "7\x[308]".NFJUSTWORKDAMMIT ~~ /^ \d+ $/
17:13 camelia rakudo-moar f0bb58: OUTPUT«Method 'NFJUSTWORKDAMMIT' not found for invocant of class 'Str'␤  in block <unit> at <tmp> line 1␤␤»
17:13 geekosaur heh
17:13 geekosaur .NFWTF
17:14 geekosaur (used, of course, with WTF-8)
17:16 firstdayonthejob joined #perl6
17:16 DrForr I'd still prefer the default to be UTF-9 :)
17:17 MetaZoffix Well, I get the bytes from .NF stuff, but I've no idea how to make them match the regex properly :/
17:18 * geekosaur sends DrForr TOPS-20
17:18 MetaZoffix m: say "7\x[308]" ~~ /^ [0..9]+ $/
17:18 camelia rakudo-moar f0bb58: OUTPUT«Nil␤»
17:18 MetaZoffix (can't use this, I need all the numbers)
17:18 stux|RC-only joined #perl6
17:18 MetaZoffix m: say "7\x[308]" ~~ /^ [\d]+ $/
17:18 camelia rakudo-moar f0bb58: OUTPUT«「7̈」␤»
17:19 MetaZoffix ~_~
17:20 cyphase joined #perl6
17:21 MetaZoffix m: "\x[308]".uniprop.say
17:21 camelia rakudo-moar f0bb58: OUTPUT«Mn␤»
17:21 MetaZoffix m: say "7\x[308]" ~~ /^ <:N-:Mn>+ $/
17:21 camelia rakudo-moar f0bb58: OUTPUT«「7̈」␤»
17:21 MetaZoffix bruh
17:22 MetaZoffix m: say "7\x[308]" ~~ /^ [<:N><!before <:Mn>]+ $/
17:22 camelia rakudo-moar f0bb58: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in metachar:sym<assert>; couldn't find final '>' ␤at <tmp>:1␤------> 3say "7\x[308]" ~~ /^ [<:N><!before <:Mn>7⏏5]+ $/␤    expecting any of:␤        infix stopper␤»
17:22 MetaZoffix m: say "7\x[308]" ~~ /^ [<:N><!before <:Mn>>]+ $/
17:22 camelia rakudo-moar f0bb58: OUTPUT«「7̈」␤»
17:23 MetaZoffix Great. Fuck it.
17:23 * MetaZoffix picks another ticket to fix
17:24 timotimo maybe looks like we're emitting nqpordbaseat or something even though we should be mindful of accents and other combiners that should make our matches fail?
17:24 * geekosaur was wondering where :ignoremark went
17:24 geekosaur I think that was it
17:25 timotimo ignoremark only means you want to match something even though it has marks on it
17:27 araujo_ joined #perl6
17:28 geekosaur yes, the implication being that the behavior MetaZoffix wants is when ignoremark is not in effect --- but I see no ignoremark on docs.perl6.org and it appears to be the default behavior currently
17:28 geekosaur which makes me wonder if it got made the default and de-specced
17:29 MetaZoffix It is in the roast
17:29 timotimo no, it's not supposed to be the default
17:29 MetaZoffix m: say "7\x[308]" ~~ m:!ignoremark/^ \d+ $/
17:29 camelia rakudo-moar f0bb58: OUTPUT«「7̈」␤»
17:29 MetaZoffix m: say "7\x[308]" ~~ m:ignoremark/^ \d+ $/
17:29 camelia rakudo-moar f0bb58: OUTPUT«「7̈」␤»
17:29 araujo__ joined #perl6
17:30 MetaZoffix bisect: m: say "7\x[308]" ~~ /^ \d+ $/
17:30 bisectable6 MetaZoffix, On both starting points (good=2015.12 bad=77d9d41) the exit code is 0 and the output is identical as well
17:30 bisectable6 MetaZoffix, Output on both points: 「7̈」
17:32 shlomif joined #perl6
17:32 geekosaur ok, so bug, and timotimo's sugestion about nqpordbaseat is probably near the mark (another bug of that sort was recently fixed iirc)
17:33 cyphase joined #perl6
17:36 MetaZoffix OK. Created the ticket: https://rt.perl.org/Ticket/Display.html?id=129221
17:37 MetaZoffix m: say "a\x[308]" ~~ /^ \w+ $/
17:37 camelia rakudo-moar f0bb58: OUTPUT«「ä」␤»
17:37 * MetaZoffix is still unsure if that's the way it's supposed to be or not
17:37 MetaZoffix But if it is, there should be an easy way to disable this behaviour IMO
17:38 timotimo i think you would be supposed to :ignoremark around things you want to match even with marks
17:41 MetaZoffix m: say "a\x[308]" ~~ /^ 'a'+ $/
17:41 camelia rakudo-moar f0bb58: OUTPUT«Nil␤»
17:41 MetaZoffix m: say "a\x[308]" ~~ m:ignoremark/^ 'a'+ $/
17:41 camelia rakudo-moar f0bb58: OUTPUT«「ä」␤»
17:41 MetaZoffix hm
17:41 MetaZoffix yeah
17:47 cyphase joined #perl6
17:49 MetaZoffix .seen psch
17:49 yoleaux I saw psch 4 Aug 2016 16:33Z in #perl6: <psch> it's not compile time though, but that seems to be a thing we general don't do
17:50 lizmat joined #perl6
17:51 [Coke] jnthn++ fixed my weird socket/async issue (which turned out to be GC related, not IO related)
17:52 MetaZoffix \o/
17:57 chris2 joined #perl6
18:00 cyphase joined #perl6
18:04 woolfy joined #perl6
18:07 timotimo yeah, when a thread was accepting a socket, it wasn't properly marked as "won't raise its hand when threads co-ordinate to start a GC run"
18:07 timotimo so when a thread thought a gc run ought to be started, all other threads would wait for the accept-ing thread
18:07 timotimo and until a new connection came in, the GC run wouldn't start, thus blocking all other threads from progressing
18:10 pmichaud m: say "7\x[308]".chars
18:10 camelia rakudo-moar f0bb58: OUTPUT«1␤»
18:10 yoleaux 30 Aug 2016 15:40Z <[Coke]> pmichaud: that question predates you fixing the thing I couldn't fix
18:10 yoleaux 30 Aug 2016 15:41Z <[Coke]> pmichaud: regarding segregating roast queue vs. rakudobug queue - no, I don't think it's worth our time necessarily to force the tickets into the right queues. We can probably do just as well by having some metadata about tickets in RT
18:10 yoleaux 30 Aug 2016 15:42Z <[Coke]> pmichaud: for some tickets, it's easy or obvious to move them; but anyone working on anything in the toolchain or lang spec is going to deal with RT.
18:12 timotimo greetings pmichaud
18:12 MetaZoffix m: say "7\x[308]" eq "7"
18:12 camelia rakudo-moar f0bb58: OUTPUT«False␤»
18:13 pmichaud right, they're both strings with the same number of graphemes (1), but they contain different graphemes.
18:13 xinming joined #perl6
18:13 cyphase joined #perl6
18:14 pmichaud I'm guessing that  "7\x[308]" ~~ / ^ \d+ $ /   returns a match because the \d is able to match the "7\x[308]" grapheme.
18:14 spider-mario joined #perl6
18:15 wamba joined #perl6
18:15 MetaZoffix m: say "١\x[308]" ~~ / ^ \d+ $ /
18:15 camelia rakudo-moar f0bb58: OUTPUT«「١̈」␤»
18:15 pmichaud m:  my $m = "7\x[308]" ~~ /^\d+$/;  say $m; say $m.chars;  say $m eq '7';
18:15 camelia rakudo-moar f0bb58: OUTPUT«「7̈」␤1␤False␤»
18:15 MetaZoffix But what about <:N> shouldn't it only match N stuff?
18:16 MetaZoffix m: m: say "١\x[308]" ~~ / ^ <:N>+ $ /
18:16 camelia rakudo-moar f0bb58: OUTPUT«「١̈」␤»
18:16 * mst works through the docs complaining about things
18:16 pmichaud I don't recognize <:N>, sorry.
18:16 pmichaud (looking)
18:16 MetaZoffix we have docs that complain about things
18:17 MetaZoffix pmichaud: from the docs, that's supposed to only match chars with N unicode property: https://docs.perl6.org/langua​ge/regexes#Unicode_properties
18:17 MetaZoffix m: say "١\x[308]" ~~ / ^ <!M>+ $ /
18:17 camelia rakudo-moar f0bb58: OUTPUT«Method 'M' not found for invocant of class 'Cursor'␤  in block <unit> at <tmp> line 1␤␤»
18:17 MetaZoffix m: say "١\x[308]" ~~ / ^ <:!M>+ $ /
18:17 camelia rakudo-moar f0bb58: OUTPUT«「١̈」␤»
18:17 leont_ joined #perl6
18:18 pmichaud m: say "١".ord
18:18 camelia rakudo-moar f0bb58: OUTPUT«1633␤»
18:18 MetaZoffix m: say "١".uniprop
18:18 camelia rakudo-moar f0bb58: OUTPUT«Nd␤»
18:19 MetaZoffix m: say "\x[308]".uniprop
18:19 camelia rakudo-moar f0bb58: OUTPUT«Mn␤»
18:19 MetaZoffix m: say "١\x[308]" ~~ / ^ <:!Mn>+ $ /
18:19 camelia rakudo-moar f0bb58: OUTPUT«「١̈」␤»
18:19 MetaZoffix m: m: say "١\x[308]" ~~ / ^ <:Nd>+ $ /
18:19 camelia rakudo-moar f0bb58: OUTPUT«「١̈」␤»
18:20 MetaZoffix m: m: say "١\x[308]" ~~ / ^ <:Nd+:!Mn>+ $ /
18:20 camelia rakudo-moar f0bb58: OUTPUT«「١̈」␤»
18:20 pmichaud so yes, it looks to me as though "١" has the N property.
18:21 MetaZoffix Yeah. And I'm asking for a match with <start of string> <some N chars> <end of string> and it still matches the Mn
18:21 timotimo i suppose our combined graphemes just derive the properties of their base char?
18:21 pmichaud timotimo: I believe that's correct, yes.
18:23 MetaZoffix m: "١\x[308]".uniprop
18:23 camelia rakudo-moar f0bb58: ( no output )
18:23 MetaZoffix m: "١\x[308]".uniprop.say
18:23 camelia rakudo-moar f0bb58: OUTPUT«Nd␤»
18:23 pmichaud m: say "7\x[308]7" ~~ / ^ <:Nd+:Mn>+ $ /
18:23 camelia rakudo-moar f0bb58: OUTPUT«「7̈7」␤»
18:23 mst m: my @name = <John Smith>; { "$^surname, $^firstname" }(|@name)
18:23 camelia rakudo-moar f0bb58: ( no output )
18:24 mst oh
18:24 pmichaud m: say "7\x[308]7" ~~ / ^ <:Mn>+ $ /
18:24 camelia rakudo-moar f0bb58: OUTPUT«Nil␤»
18:24 mst m: my @name = <John Smith>; { "$^surname, $^firstname" }(|@name).say
18:24 camelia rakudo-moar f0bb58: OUTPUT«Smith, John␤»
18:24 * mst suspect that counts as $^ abuse
18:24 timotimo m: say "7\x[308]" ~~ / <[0..9]> /
18:24 camelia rakudo-moar f0bb58: OUTPUT«Nil␤»
18:24 pmichaud m: say "77\x[308]7" ~~ / ^ <:Mn>+ $ /
18:24 camelia rakudo-moar f0bb58: OUTPUT«Nil␤»
18:24 pmichaud m: say "77\x[308]7" ~~ / ^ <:Mn>+ /
18:24 camelia rakudo-moar f0bb58: OUTPUT«Nil␤»
18:24 pmichaud m: say "77\x[308]7" ~~ / ^ <:!Mn>+ /
18:24 camelia rakudo-moar f0bb58: OUTPUT«「77̈7」␤»
18:25 pmichaud yeah, it looks as though combined chars just have the properties of their base grapheme and not the combining marks.  I don't know if that's correct or not.
18:25 geekosaur the problem is that at NFG level you do not have a mark, you have a synthetic of the base and the mark that is not itself considered a mark
18:25 MetaZoffix m: my @name = <John Smith>; { "$^surname, $^fir\x[308]stname" }(|@name).say
18:25 camelia rakudo-moar f0bb58: OUTPUT«Smith, John̈stname␤»
18:26 MetaZoffix lol
18:26 geekosaur and I think this is correct; I do not want ş to be considered a mark
18:26 timotimo i don't think we'd find any combined numbers + marks in unicode already declared
18:26 pyrimidine joined #perl6
18:27 geekosaur (note I chose one that at least currently has no single-char definition, the way e.g. iso8859-1 chars do)
18:27 pmichaud geekosaur: should the properties of a combined char be a combination also, though?
18:27 MetaZoffix m: say "_\x[308]" ~~ /\w+/
18:27 camelia rakudo-moar f0bb58: OUTPUT«「_̈」␤»
18:28 geekosaur I suspect the properties for a synthetic should be those of the base plus a prop that says that it is synthetic/composed
18:28 pmichaud that makes sense.
18:28 pmichaud I agree that "7\x[308]"  is no longer a Mark.
18:28 geekosaur because otherwise you break usages that expect that e.g. mark only matches actual marks, not marks composed onto other chars
18:28 pmichaud so it shouldn't have the :M property.
18:29 pmichaud so that seems to me that Rakudo is correct heere.
18:29 cyphase joined #perl6
18:29 MetaZoffix OK. What's the way to regex-match digits-only for example? Without any combinators or anything else what will mess up SoftwareXYZ I'm about to send this data to?
18:29 FROGGS joined #perl6
18:30 geekosaur it's arguably not correct in considering the synthetic to match \d though, unless :ignoremark is in effect (so, :ignoremark becomes ignore chars with the synthetic prop)
18:30 mst MetaZoffix: [0-9] ?
18:30 MetaZoffix mst: really?
18:30 geekosaur er, :!ignoremark becomes
18:30 ShimmerFairy P6 regex has it as <[0..9]>
18:30 MetaZoffix m: say '١' ~~ /^ [0-9] $/
18:30 camelia rakudo-moar f0bb58: OUTPUT«5===SORRY!5===␤Unrecognized regex metacharacter - (must be quoted to match literally)␤at <tmp>:1␤------> 3say '١' ~~ /^ [07⏏5-9] $/␤Unable to parse expression in metachar:sym<[ ]>; couldn't find final ']' ␤at <tmp>:1␤------> 3say '…»
18:30 MetaZoffix m: say '١' ~~ /^ [0..9] $/
18:30 camelia rakudo-moar f0bb58: OUTPUT«Nil␤»
18:30 geekosaur I am under the impression Zoffix wanted to match NLS digits as well
18:31 MetaZoffix m: Date.new('١١١١-١١-١١').say
18:31 camelia rakudo-moar f0bb58: OUTPUT«1111-11-11␤»
18:31 MetaZoffix Well, my actual usecase depeneds on whether the above is valid.
18:31 MetaZoffix And if it isn't, I can get away with 0..9
18:32 pmichaud To my knowledge, that date is valid.
18:32 mst if you're trying to get 'only digits and no clever unicode stuff that will confuse other software' [0-9] is the usual answer
18:32 mst certainly it's what I do over in p5world
18:32 pmichaud basically   <[0..9]>  means "ASCII digits only"
18:32 masak mst: re http://irclog.perlgeek.de/p​erl6/2016-09-07#i_13166424 -- I don't think it counts as abuse
18:33 mst masak: well it does kinda only work because 'f' < 's'
18:33 MetaZoffix m: say "7\x[308]\x[308]\x[308]\x[308]\x[308​]\x[308]\x[308]\x[308]\x[308]\x[308]​\x[308]\x[308]\x[308]\x[308]\x[308]" ~~ /^ \d**1 $/
18:33 camelia rakudo-moar f0bb58: OUTPUT«「7̈̈̈̈̈̈̈̈̈̈̈̈̈̈̈」␤»
18:33 MetaZoffix yeah, that's trouble waiting to happen
18:33 masak mst: yes, but you're expected to know that whenever you use more-than-one implicit parameter
18:33 ShimmerFairy You might want a Uni or other non-Str string to work on codepoints, though I'm not sure if regexes are able to match non-Strs yet.
18:33 pmichaud mst/masak:  That looks to me like "abuse consistent with language design"  :)
18:33 mst doing it with $^a, $^b wouldn't seem abusive, using the fact that the words I wanted *happen* to be in the right order seems less right
18:33 mst pmichaud: yes. *that* I'll happily stipulate to :D
18:34 masak I like pmichaud's phrasing too
18:34 masak but I don't see much wrong with doing it
18:34 mst the awesome thing is 'm' is also in the right place
18:35 MetaZoffix I do. It's using semantical naming where positional naming needs to be used
18:35 mst m: { "$^surname, $^firstname $^middlename" }(|<Matt S Trout>).say
18:35 camelia rakudo-moar f0bb58: OUTPUT«Trout, Matt S␤»
18:35 FROGGS o/
18:35 yoleaux 4 Aug 2016 15:43Z <Xliff> FROGGS: all tests in 07dtd now pass. Thanks!
18:35 moritz in *m*st, *m*asak and p*m*ichaud :-)
18:35 MetaZoffix As silly as using  sub ($first-arg, $second-arg, $third-arg) { ... }
18:35 ShimmerFairy mst: try $familyname instead :P
18:35 MetaZoffix FROGGS: !
18:35 MetaZoffix FROGGS: I need your keys! :)
18:35 masak mst: clearly someone thought about this when they designed English :P
18:35 mst masak: and then the americans undesigned it, hence ShimmerFairy's problem
18:36 pmichaud one could always do   { "$^arg2, $^arg0 $^arg1" }(|...)
18:36 FROGGS .tell Xliff Can you merge (after sqashing) the PR please? I'm back from vacation but still lacking Perl 6 tuits...
18:36 yoleaux FROGGS: I'll pass your message to Xliff.
18:36 mst pmichaud: yeah, or { "$^c, $^a $^b" } which would be my first thought for "real" code
18:36 MetaZoffix FROGGS: well, I actually forget what and if you told me anything, but one release (2016.06) you uploaded shows up as unverified because GitHub doesn't have your public key: https://github.com/rakudo/rakudo/tags
18:36 mst but this still makes me happy
18:36 pmichaud we like making programmers happy.  :)
18:36 mst ShimmerFairy: WELL, ACTUALLY
18:37 mst m: { "$^firstname $^middlename $^familyname" }(|('Trout', <Matt S>)).say
18:37 camelia rakudo-moar f0bb58: OUTPUT«Too few positionals passed; expected 3 arguments but got 2␤  in block <unit> at <tmp> line 1␤␤»
18:37 mst bah
18:37 mst m: { "$^firstname $^middlename $^familyname" }(|('Trout', |<Matt S>)).say
18:37 camelia rakudo-moar f0bb58: OUTPUT«Matt S Trout␤»
18:37 FROGGS MetaZoffix: ohh
18:37 mst ShimmerFairy: see, totally works fine :P
18:37 pmichaud also
18:37 pmichaud { "$^givenname $^middlename $^clan" }(|...)
18:38 FROGGS MetaZoffix: where do I upload my public key to?
18:38 pmichaud also $^tribe
18:38 mst :D
18:38 MetaZoffix FROGGS: bottom of page here: https://github.com/settings/keys
18:38 pmichaud alas, I have to run off again.
18:38 MetaZoffix FROGGS: and you can generate one with gpg --armor --export <email>
18:38 zacts joined #perl6
18:39 FROGGS MetaZoffix: done \o/
18:39 FROGGS MetaZoffix: thank you
18:40 MetaZoffix FROGGS++ \o/
18:40 timotimo oh hey FROGGS :)
18:40 MetaZoffix m: { "$^Δ $^Ε $^Ζ" }(|('Trout', |<Matt S>)).say
18:40 camelia rakudo-moar f0bb58: OUTPUT«Trout Matt S␤»
18:41 MetaZoffix m: { "$^Ζ $^Η $^Θ" }(|('Trout', |<Matt S>)).say
18:41 camelia rakudo-moar f0bb58: OUTPUT«Trout Matt S␤»
18:41 MetaZoffix ^_^
18:42 MetaZoffix m: { "$^Ζ $^Η $^Ι" }(|<a b c>).say
18:42 camelia rakudo-moar f0bb58: OUTPUT«a b c␤»
18:42 FROGGS hi timotimo :o)
18:42 MetaZoffix Where's your god now? :)
18:42 masak $^? was new to me
18:43 DrForr Entwining his noodly apendages in your code.
18:43 MetaZoffix masak: get a better terminal :P
18:43 MetaZoffix DrForr++
18:43 masak oh noes, not again
18:43 masak anyway, I'm slightly relieved we don't actually use $^? for that :P
18:43 cyphase joined #perl6
18:43 MetaZoffix masak: http://i.imgur.com/CBTQIWK.png
18:44 MetaZoffix m: "ΖΗΙ".uninames.say
18:44 camelia rakudo-moar f0bb58: OUTPUT«(GREEK CAPITAL LETTER ZETA GREEK CAPITAL LETTER ETA GREEK CAPITAL LETTER IOTA)␤»
18:44 rockworldmi joined #perl6
18:45 rockworldmi left #perl6
18:46 masak nodnod
18:46 masak yeah, I see it fine in the irclog, too
18:47 masak since I switched from hack.p6c.org to irc.p6c.org, Unicode hasn't rendered correctly. I don't know why; the settings seem fine
18:47 masak hm, didn't moritz++ have a blog post of an entry somewhere about this? :)
18:48 moritz masak: https://perlgeek.de/en/article/​set-up-a-clean-utf8-environment ?
18:50 labster joined #perl6
18:54 moritz masak: if tere are locales you're missing, let me know and I'll add them
18:56 domidumont joined #perl6
19:04 El_Che my 2 utf-8 ¢: besides the shell, make sure your irssi has utf8 enabled, start en attach screen with -U
19:05 timotimo or use tmux :)
19:05 moritz El_Che: I do mention those points on https://perlgeek.de/en/article/​set-up-a-clean-utf8-environment :-)
19:06 masak moritz: thank you -- will check now
19:06 El_Che moritz: you post is the full $/€/£/¥ ;)
19:07 masak El_Che: yes, I always start and attach screen with -U. it worked on hack
19:08 [Coke] masak: I'm using irc.p6c, I have unicode ok in my irc.
19:08 El_Che crap, backup ext usb disk dead after 4 years.
19:08 masak [Coke]: weird.
19:08 [Coke] masak: feel free to dig through my . files
19:11 moritz masak: what locale do you use?
19:11 masak let me paste what I see from `locale`
19:12 masak https://gist.github.com/masak/5​30052eea9f9ff75ab6866f8c0e6b052
19:12 masak yes, LC_ALL is empty. I can fill it in with the `export` command from moritz++' blog post, but that does not fix the problem.
19:13 * moritz installs nb_NO.UTF-8
19:13 [Coke] what's your TERM?
19:14 masak [Coke]: 'xterm'
19:14 [Coke] mine is 'screen'. (even though I'm using tmux)
19:14 nemo timotimo: yeah non-existent support for unicode outside of BMP was why I ditched irssi
19:14 nemo er
19:14 nemo ditched screen
19:15 masak `perl -Mcharnames=:full -CS -wle 'print "\N{EURO SIGN}"'` works fine after I set LC_ALL
19:15 masak (but irssi still doesn't)
19:16 moritz masak: you might need to restart irssi
19:16 nemo mm
19:16 moritz (you can start a second instance of irssi to test)
19:17 masak oki, good
19:17 nemo I think avoiding restarting irssi is the main reason I put off reboot ☺
19:17 masak moritz: yay, that works
19:17 masak brb
19:19 masak joined #perl6
19:19 masak yayyy ☺☺☺☺
19:19 moritz yow! \o/
19:19 nemo stress test.... for i in {0..100};do printf "\U`printf %x $((128000+i))` ";done
19:19 nemo /exec -out  ☺
19:19 MetaZoffix :D
19:19 nemo 🐀 🐁 🐂 🐃 🐄 🐅 🐆 🐇 🐈 🐉 🐊 🐋 🐌 🐍 🐎 🐏 🐐 🐑 🐒 🐓 🐔 🐕 🐖 🐗 🐘 🐙 🐚 🐛 🐜 🐝 🐞 🐟 🐠 🐡 🐢 🐣 🐤 🐥 🐦 🐧 🐨 🐩 🐪 🐫 🐬 🐭 🐮 🐯 🐰 🐱 🐲 🐳 🐴 🐵 🐶 🐷 🐸 🐹 🐺 🐻 🐼 🐽 🐾 🐿 👀 👁 👂 👃 👄 👅 👆 👇 👈 👉 👊 👋 👌 👍 👎 👏 👐 👑
19:19 nemo 👒 👓 👔 👕 👖 👗 👘 👙 👚 👛 👜 👝 👞 👟 👠 👡 👢 👣 👤
19:19 nemo oups
19:20 nemo shoot. I should have realised 0..100 was too much for one line
19:20 masak in other words -- pro tip -- remember to restart screen/irssi after doing the language settings
19:20 nemo masak: that's true of basically any app and any env change
19:20 moritz nemo: I'm kinda proud the the IRC logs show that :-)
19:21 zacts joined #perl6
19:21 masak nemo: yes. in retrospect it was easy and I was silly not to realize :)
19:21 RabidGravy joined #perl6
19:21 nemo masak: now you need to make sure you have true colour enabled 😃
19:22 nemo masak: curl http://m8y.org/tmp/256color.ansi
19:22 nemo well actually that one isn't true colour. just 256 colour
19:23 MetaZoffix heh neat. curl -s http://m8y.org/tmp/256color.ansi  shows coloured things!
19:25 nemo 0@1@2@3@4@5@6@7@8@9@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@​@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
19:25 nemo that's a test of moritz' irssi... /exec -out for i in {0..99};do echo -n $'\003'"${i}@";done
19:25 nemo http://m8y.org/tmp/unicodesilliness.txt  screwing around in #hedgewars
19:26 nemo er. masak's
19:26 nemo masak: if your irssi is up to date, you should see distinct colours without repeating above.  including a grey ramp at the end
19:26 nemo masak: if it isn't up to date, you'll see the same 16 repeating over and over
19:27 masak nemo: yeah, works fine.
19:27 masak please never do that again :P
19:29 nemo MetaZoffix: it was just the output of someone's ansi test, I just found it was easier to host it than explain to people how to run the script ☺
19:29 nemo https://gist.github.com/XVilka/8346728
19:29 MetaZoffix So you own m8y.org?
19:30 nemo MetaZoffix: yeh
19:30 MetaZoffix neat.
19:30 nemo MetaZoffix: it's just my personal lil' internet gateway.  Have had it for, well, almost 2 decades
19:31 nemo MetaZoffix: I mostly use it to host files and for email, and for silly things like http://ಠ_ಠ.m8y.org/ಠ_ಠ
19:31 nemo or http://☠.m8y.org
19:31 MetaZoffix My perl6.party and perl6.fail look much less cool in comparison :)
19:31 nemo MetaZoffix: way back when there weren't any of those newfangled domains 😝
19:31 MetaZoffix :)
19:31 nemo we had to make do w/ .org and we liked it
19:31 nemo #getoffmylawn
19:32 nemo ☠.m8y.org is for September 19th of course!
19:32 * moritz kinda likes .org domains, but gets .de domains dirt cheap
19:32 MetaZoffix_ joined #perl6
19:33 MetaZoffix_ Note to self: don't visit http://☠.m8y.org if you're running Palemoon :P
19:33 MetaZoffix_ Crashed and burnt
19:33 nemo hahaha
19:33 timotimo oops
19:33 timotimo pretty flag
19:35 nemo MetaZoffix: sounds like your graphics driver needs blacklisting
19:35 FROGGS Aaaarrr!
19:35 nemo MetaZoffix: you can disable webgl in about:config ofc
19:35 nemo webgl.disabled;true
19:35 MetaZoffix_ meh. I don't wanna change anything :)
19:36 timotimo just never visit that particular site ever again
19:36 MetaZoffix_ Yeah :D
19:36 nemo MetaZoffix_: front page of http://m8y.org is also webgl. just fyi
19:36 MetaZoffix That doesn't crash anything
19:37 nemo also obv http://maps.google.com - that's the one that crashes for me periodically on my crappy card at work
19:37 nemo but is kinda random
19:37 nemo presumably based on texture sizes
19:37 TEttinger joined #perl6
19:37 nemo http://codeflow.org/entries/2011/nov/​10/webgl-gpu-landscaping-and-erosion/  this one uses some largish textures - maybe would crash for you? does it from time to time on aforementioned sucky work machine
19:38 MetaZoffix nope
19:38 timotimo try looking at some things in shadertoy? :P
19:38 timotimo to really stress the poor machine
19:38 nemo heh
19:39 girafe joined #perl6
19:39 timotimo that seems to have worked?
19:42 nemo lol.
19:42 nemo he visited shader toy?
19:42 timotimo perhaps
19:43 nemo http://m8y.org/tmp/testcase429.xhtml  just a couple of large textures shifting around in CSS.  but depending on suckiness of browser might crash and/or suck up a lot of CPU
19:43 nemo or in case of chrome, look like crap
19:44 nemo IE and Safari did best at this.  Firefox wasn't too bad either
19:44 nemo Chrome was abysmal
19:44 timotimo interesting
19:45 nemo in IE and Safari took basically 0% of CPU (all accelerated)
19:45 nemo Firefox depended on the platform, but still managed to be 10% CPU on my awful work linux machine w/ sucky graphics card and ~3% on windows version of same machine
19:45 timotimo sad performance, chrome
19:45 nemo timotimo: Chrome used 200% - 2 cores
19:45 nemo and looked awful due to no dithering
19:45 nemo unattractive banding
19:46 nemo kinda like scaling doing gradients in photoshop (banded) vs gimp (smooth)
19:47 timotimo so the gimp lies about the pixels?
19:48 hankache joined #perl6
19:49 hankache good evening #perl6
19:51 AlexDaniel joined #perl6
19:52 timotimo heyo hankache
19:52 kyclark_ joined #perl6
19:52 kyclark_ Today I want to learn about grammars.  Can someone tell me what I’m doing wrong here? http://lpaste.net/186125
19:52 hankache hi timotimo
19:52 kyclark_ I based the grammar on Bio::Grammar::Fasta
19:53 kyclark_ Right now I just want to parse two kinds of lines, a header and not-header
19:53 timotimo kyclark_: without looking, it's almost surely going to be whitespace trouble :)
19:53 timotimo perl6-debug lets you single-step through regexes, btw. just have to install the ::Commandline module for it
19:55 DrForr It looks that way; lots of references to ^ and ^^, which I don't really think you need.
19:55 kyclark_ I was guessing based on this example:
19:55 kyclark_ https://github.com/cjfields/bioperl6/​blob/master/lib/Bio/Grammar/Fasta.pm6
19:55 kyclark_ FASTA format is very close to this.  Headers start with “>”, so I was hoping ^^ meant start-of-line
19:56 kyclark_ Just now checking out the stepping debugger — nice.
19:57 DrForr I'd say token TOP { <record>* } token record { <cluster-id> <sequence>+ } token cluster-id { '>' (\w+) } # and so on.
19:58 DrForr Perl6 is very lenient about whitespace; I'd toss most of the ^^ and ^ and so on, because they seem to cause more problems than they solve.
19:58 masak I'd also advise against writing any non-trivial grammar code without test-driven development
19:58 masak I *think* sometimes it's a good idea... but it never is
20:00 kyclark_ masak, I would be keen to know more of your method.
20:01 masak let me try to demonstrate it here on channel
20:01 DrForr Well, I do something similar at theperlfisher.blogspot.ro which has been somewhat neglected as of late.
20:02 masak m: use Test; grammar G { regex TOP { \d } }; ok G.parse("4"); nok G.parse("F"); done-testing
20:02 camelia rakudo-moar f0bb58: OUTPUT«ok 1 - ␤ok 2 - ␤1..2␤»
20:02 masak kyclark_: note how I write one test case with something that's supposed to match, and one with something that isn't
20:03 masak kyclark_: in a real situation I'd also have written excellent test descriptions (optional second argument to `ok` and `nok`)
20:03 kyclark_ Yes, nice.
20:03 masak kyclark_: I could go on, but the principle is just to keep adding positive and negative examples like that -- in small increments
20:04 masak you'll thank yourself as soon as the tests catch a regression for you
20:04 arnsholt Which will happen surprisingly early
20:04 masak yes, because parsing is gnarly
20:04 arnsholt And then, down the line, something you do will cause a regression you'd never have thought of
20:04 masak aye
20:04 masak which is even better feedback
20:05 arnsholt The spectests have been invaluable for me in that regard
20:05 arnsholt Most recently when I refactored some bit of the grammar engine
20:06 masak kyclark_: also -- this probably doesn't need stating, but just in case -- it's almost always a good idea to put the grammar in a .pm file in a lib/ directory, and the tests in a .t file in a t/ directory
20:10 Xliff nemo: Chrome and Firefox output here is identical.
20:10 yoleaux 18:36Z <FROGGS> Xliff: Can you merge (after sqashing) the PR please? I'm back from vacation but still lacking Perl 6 tuits...
20:10 Xliff Running Windows 7 though.
20:10 cdg joined #perl6
20:10 Xliff .tell FROGGS Welcome back! Will do.
20:10 yoleaux Xliff: I'll pass your message to FROGGS.
20:10 cdg joined #perl6
20:10 Xliff And no truecolor for putty. :(
20:12 Xliff WOI!
20:12 Xliff There's a patched version out.
20:13 zacts joined #perl6
20:13 hobbs nemo: behaves okay here, chrome 53 linux. Smooth colors, and about 45% of one CPU. Which is a bit much, but this laptop doesn't have the best graphics.
20:17 mst https://docs.perl6.org/language/grammars <- doesn't explain make or .made, where would I look for those?
20:17 canopus joined #perl6
20:18 FROGGS mst: https://docs.perl6.org/type/Match#method_make
20:18 yoleaux 20:10Z <Xliff> FROGGS: Welcome back! Will do.
20:18 kyclark_ OK, here’s a start at a better infrastructure: https://github.com/kyclark/cdhit-parser
20:19 kyclark_ So far my grammar seems to be matching the header (e.g., “>foo”) and then stopping.  Why would it do that?
20:19 Xliff \o/
20:19 Xliff FROGGS: Enjoy your vaca?
20:19 Xliff It's been ages since we've both been on at the same time.
20:19 mst FROGGS: ta
20:19 FROGGS Xliff: I did :o)
20:19 timotimo kyclark_: most usually sigspace eating too much and then other stuff hoping to match ,for example, start of line, but it's too late
20:19 timotimo and token won't backtrack
20:19 Xliff FROGGS: Cool deal!
20:20 mst FROGGS: admittedly, that doesn't explain anything at all to me of why my rules want to say 'make $/'
20:20 kyclark_ Got it!  rule vs token
20:20 FROGGS Xliff: I've build a treehouse for my kids... so I'd say it was an awesome time :o)
20:21 DrForr kyclark_: I'd also look at dumping \n as well. Again, P6 is pretty good about finding reasonable boundaries for your rules.
20:23 FROGGS mst: I'm not sure what you mean... do you have some code to show?
20:23 mst FROGGS: no
20:23 mst FROGGS: I have no idea where to even start
20:23 mst that's rather the problem
20:24 mst https://docs.perl6.org/language/grammars
20:24 mst basically the 'make' and '.made' bit, I ... have no idea what it's even doing
20:25 kyclark_ Guys, my stuff is WORKING!  Fantastic.  Thanks.
20:25 arnsholt They attach an object to serve as the AST for that particular place in the tree
20:25 DrForr Also, as others have been alluding to, it's very instructional to find ways to break your file once you've managed to parse something. I'd actually start by just capturing the cluster_id and breaking that with bogus text afterwards.
20:25 kyclark_ Now to figure out this “made” stuff...
20:25 timotimo mst: you know how you can access $/<foobar> if you had a match like <foobar> in your regex?
20:25 arnsholt (.made used to be called .ast [which still works for backwards compat], a name I much prefer)
20:25 FROGGS m: grammar G { token TOP { \w+ } }; class A { method TOP($/) { make "foo" } }; say G.parse("WAT", :actions(A)).made
20:25 camelia rakudo-moar f0bb58: OUTPUT«foo␤»
20:25 timotimo mst: if you have a piece of code that runs "make 123" inside the matching part of foobar, or inside the action method foobar, then you can get 123 by calling $/<foobar>.made
20:26 timotimo that's all there is to it
20:26 kyclark_ BTW, what exactly is \N?  Where can I find a list of all those escape chars?
20:26 mst timotimo: *blink*
20:27 DrForr Or, looking at it the other way 'round, make() is how you turn the text you've arsed into the tree tructure you want.
20:27 kyclark_ Wait, found it: \N matches a single character that's not a logical newline.
20:27 mst arnsholt: ooooh, right, so basically '.made' is the capture of the rule, kinda?
20:27 arnsholt mst: Exactly. It's whatever object you want to represent (ie, in practice serve as the AST) that particular node in the parse tree
20:28 arnsholt Action methods are called when a rule is done matching, and rules are matched top-down, which means that action methods are called *bottom-up*
20:28 mst right. I think either the grammar doc needs to explain this concept space
20:28 mst or there needs to be a separate 'writing an actions class' doc
20:28 mst because ... I think I sort of get it now
20:28 arnsholt So the AST of a rule can be built from AST of the subrules
20:28 arnsholt A slightly larger example (in prose, because tuits):
20:28 FROGGS m: grammar G { token TOP { <char>+ }; token char { \w } }; class A { method TOP($/) { make $<char>».made.join('') }; method char($/) { make uc $/ } }; say G.parse("wat", :actions(A)).made
20:29 camelia rakudo-moar f0bb58: OUTPUT«WAT␤»
20:29 arnsholt Let's say you want to parse infix notation math expressions
20:29 FROGGS m: grammar G { token TOP { <char> }; token char { \w } }; class A { method TOP($/) { make $<char>.made }; method char($/) { make uc $/ } }; say G.parse("a", :actions(A)).made
20:29 camelia rakudo-moar f0bb58: OUTPUT«A␤»
20:29 arnsholt So you'll have a number rule, which matches \d+ and whose action method just does "make +$/" (ie, numify whatever was matched)
20:30 arnsholt And a number of op rules, a la "rule add { <lhs=.number> '+' <rhs=.number> }"
20:30 mst the two interleaved explanations between them I think just gave me a lightbulb moment
20:30 SmokeMachine____ is anyone using ctags with perl6 and vim tagbar?
20:31 arnsholt And "method add($/) { make Operation.new(~$/, $<lhs>.made, $<rhs>.made) }"
20:31 DrForr If you have a rule like 'rule eq { <lhs> '=' <rhs> }' # then method eq($/) { make { op => "assign", lhs => $/<lhs>, rhs => $/<rhs> } } # returns three-address coe for the assignment o.
20:31 arnsholt Where operation has the fields operator, lhs and rhs
20:31 iH2O joined #perl6
20:31 arnsholt (Not included in this example: operator precedence; because irrelevant to ASTs per se)
20:32 arnsholt mst: But you're entirely correct; this needs to be properly documented
20:32 arnsholt Sadly, working on a compiler means this particular concept gets ramrodded into your brain pretty early on, which tends to make you forget it's not at all obvious =)
20:32 mcmillhj joined #perl6
20:33 DrForr I have blog post on this subject at theperlfisher.blogspot.ro, but it does need to be expanded into proper documentation.
20:33 mst well, stick some notes on https://github.com/perl6/doc/issues/897 ?
20:33 mst I would try and add notes but, er, still confused enough I'm not sure what to add
20:34 iH2O left #perl6
20:34 mst sorry. I'm too lost to really know exactly how/why I'm lost
20:34 mst although ... I think I might get it now
20:34 mst I'll have to experiment
20:34 * mst is working through  https://docs.perl6.org/language.html in order jamming it into his head
20:34 mst (this is my favourite way to consume docs once I decide I'm serious about something, I'll end up re-reading things later)
20:35 mst hm
20:35 mst where do I find the reference docs for 'run; ?
20:36 FROGGS class Proc?
20:36 mst ah, 'run' as a sub call is Proc.run(...) ?
20:37 FROGGS aye
20:37 DrForr Oh. That relies on some things the match object does silently for you, it's collapsing (essentially) $0,$1... ito a list and then running [+] to reduce the list. It helps if you've got a better idea of what $/ has in it befor getting that deep in.
20:37 DrForr And god *damn* is lag bad tonight.
20:38 mst right, ok, so maybe the grammars thing should have a 'you really should read this first' note
20:38 imcsk8 joined #perl6
20:38 DrForr What I need to do is get finished with my other projects so I can ound out an official-looking tutorial :)
20:44 rgrinberg joined #perl6
20:45 rgrinberg so conjunctions never made it to perl6 re's right?
20:47 moritz rgrinberg: you mean & ?
20:47 rgrinberg moritz: yeah
20:48 arnsholt Perl 6 has & both in grammars and as a junction operator =)
20:49 rgrinberg arnsholt: but not in regular expressions though?
20:50 arnsholt Grammars being the extended regular expression syntax =)
20:50 arnsholt So you can do /<foo> & <bar>/
20:50 arnsholt I've never had need to do it, but it's there
20:50 arnsholt I think there's even a sequential && version, to mirror | vs. ||
20:51 rgrinberg arnsholt: ah thank you. does that backtrack btw?
20:51 Xliff nemo, masak and anyone else interested in truecolor: https://gyazo.com/cc4395e73c1c7cceaeb7519dacbe38aa
20:52 Xliff Now I wonder if I can get it for HexChat...
20:52 arnsholt rgrinberg: Can't see why not
20:52 setty1 joined #perl6
20:56 rgrinberg arnsholt: ah sorry, my question was more about efficiency. does it take exponential time in some cases?
20:56 nicq20 joined #perl6
20:57 nicq20 hello
20:58 moritz rgrinberg: I don't see why it should ever take more than O(n^(number of branches))
20:58 moritz \o nicq20
20:59 moritz actually, really depends on what's inside the branches :-)
21:01 nicq20 moritz: o/
21:05 nicq20 Any ideas as to why a multi sub made in a '.pm' would not show up when 'use'-d?
21:05 nicq20 To be fair though I'm most-likely doing it wrong.
21:05 tailgate you need to put 'is export'
21:06 tailgate multi sub foo($arg) is export {}
21:08 nicq20 Oh, gee whiz. Well, I'm dumb. Thank you very much.
21:18 zakharyas joined #perl6
21:19 cdg joined #perl6
21:27 jimlenz joined #perl6
21:34 lizmat joined #perl6
21:36 tadzik m: https://gist.github.com/tadzik/2​185a2420a180468f2c31e1d8f5b6dce # shouldn't this output something?
21:36 camelia rakudo-moar f0bb58: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Confused␤at <tmp>:1␤------> 3https:7⏏5//gist.github.co​m/tadzik/2185a2420a18046␤    expecting any of:␤        colon pair␤»
21:36 tadzik nooo
21:36 tadzik m: https://gist.github.com/tadzik/2​185a2420a180468f2c31e1d8f5b6dce
21:36 camelia rakudo-moar f0bb58: ( no output )
21:39 danlei joined #perl6
21:45 edehont joined #perl6
21:45 nicq20 tadzik: if you get rid of the ' "oneX" if ' part of those lines, it shows that all of the values in the junction became true.
21:49 nicq20 tadzik: It never flatens to a Bool value and just stays a Junction. If you put '?( )' around one of the operations, it sems to work the way you want.
21:50 nicq20 p6: my $var = 1 ^ 2 ^ 3; say (0 <= $var < 10);
21:50 camelia rakudo-moar f0bb58: OUTPUT«one(True, True, True)␤»
21:50 nicq20 p6: my $var = 1 ^ 2 ^ 3; say (?(0 <= $var) < 10);
21:50 camelia rakudo-moar f0bb58: OUTPUT«True␤»
21:51 TEttinger what is ^ there? intersection?
21:54 avuserow m: say (1 ^ 2).WHAT
21:54 camelia rakudo-moar f0bb58: OUTPUT«(Junction)␤»
21:54 avuserow m: say (1 ^ 2).perl
21:54 camelia rakudo-moar f0bb58: OUTPUT«one(1, 2)␤»
21:54 nicq20 TEttinger: It's an operator to make a junction. See this link for all of the different ones: https://docs.perl6.org/type/Junction
21:54 dalek doc: 55f3138 | (Zoffix Znet)++ | doc/Type/IO/Socket/INET.pod6:
21:54 dalek doc: Add explicit :localhost<>
21:54 dalek doc:
21:54 dalek doc: Without it. The example doesn't work on OSX and some Debian configurations.
21:54 dalek doc:
21:54 dalek doc: http://irclog.perlgeek.de/per​l6-dev/2016-09-07#i_13167984
21:54 dalek doc: review: https://github.com/perl6/doc/commit/55f31389fa
21:55 danlei is there a way to manually invoke the autogenerated USAGE?
21:55 yoleaux 5 Sep 2016 11:38Z <mst> danlei: if you have a problem with RT still, please mail perlbug-admin@perl.org as the rt.perl.org front page suggests and then /msg me the ticket id so I can chase it up
21:55 yoleaux 5 Sep 2016 11:38Z <AlexDaniel> danlei: This problem is rather common. In order to fix it, please write an email to perlbug-admin at perl.org with as many details you have (but chances are you don't have many, that's ok). When it's fixed, you'll get an email with a ticket id. Please this ticket ID to me or mst, so that we have more chances to track the problem down.
21:59 hoelzro danlei: it's in $?USAGE
21:59 TEttinger nicq20, thanks, I can't remember all the operators in perl6
21:59 danlei hoelzro: ah, great. thanks!
22:00 nicq20 TEttinger: Yeah, same here. They are pretty useful when I do remember though.
22:04 dalek doc: 2c8406d | (Armand Halbert)++ | doc/ (16 files):
22:04 dalek doc: Converted -- to –
22:04 dalek doc: review: https://github.com/perl6/doc/commit/2c8406d0db
22:04 dalek doc: 028194a | (Aleks-Daniel Jakimenko-Aleksejev)++ | doc/ (16 files):
22:04 dalek doc: Merge pull request #890 from ahalbert/888
22:04 dalek doc:
22:04 dalek doc: Converted -- to –
22:04 dalek doc: review: https://github.com/perl6/doc/commit/028194a9fc
22:09 avar I realize this is ancient, but http://design.perl6.org/S19.html says -a (autosplit) is one of the p5 things that didn't change, rakudo doesn't have it, is there an equivalent feature?
22:13 AlexDaniel avar: hmm, what about splitting it yourself?
22:14 avar sure, just wondering if there was a shortcut
22:14 avar perl6 -ne 'our %LINE; my @F = $_.split(/\s+/); %LINE{@F[0]}{@F[1]}{@F[2]}++; END { say %LINE.perl }'
22:14 avar perl -ane'$_{$F[0]}{$F[1]}{$F[2]}++; END{ print Dumper(\%_) }'
22:14 avar much shorter in v5
22:16 AlexDaniel fwiw, you can probably 「dd %LINE」 instead of 「say %LINE.perl」
22:16 AlexDaniel you can also omit { } like 「END dd %LINE」
22:17 AlexDaniel instead of 「$_.split(/\s+/)」 you can write just 「.split(/\s+/)」
22:18 avuserow you can also use `.words` instead of splitting on space.
22:19 tailgate is there a way to set a debug flag on the commandline, and define functions diffrently if it's set?
22:20 tailgate like, if you added --debug as an option and had a Debug sub that's empty in normal use but does stuff if the flag is invoked
22:20 avuserow you can also use `no strict` to get rid of those pesky declarations, not that I'd recommend it
22:22 timotimo "no strict" will give you an incredible performance hit on your variable accesses currently
22:22 avuserow oh well. not like it saves much there anyway
22:22 lizmat timotimo: it should  :-)
22:23 timotimo it'd just be nice if everything was fast ;)
22:25 dalek doc: 945fd30 | (Armand Halbert)++ | doc/Language/glossary.pod6:
22:25 dalek doc: Moved Thunk out of IRC lingo.
22:25 dalek doc: review: https://github.com/perl6/doc/commit/945fd303ab
22:25 dalek doc: 9312a62 | RabidGravy++ | doc/Language/glossary.pod6:
22:25 dalek doc: Merge pull request #899 from ahalbert/896
22:25 dalek doc:
22:25 dalek doc: Moved Thunk out of IRC lingo.
22:25 dalek doc: review: https://github.com/perl6/doc/commit/9312a625a7
22:27 avar AlexDaniel: thanks for the golfing, but END dd != END { dd }
22:27 AlexDaniel m: my @a = 5, 6; END dd @a; @a.push: 42
22:27 camelia rakudo-moar c98ab9: OUTPUT«Array @a = [5, 6, 42]␤»
22:28 AlexDaniel m: my @a = 5, 6; END { dd @a }; @a.push: 42
22:28 camelia rakudo-moar c98ab9: OUTPUT«Array @a = [5, 6, 42]␤»
22:28 AlexDaniel avar: and what's the difference?
22:29 avar just try it
22:29 avar $ cat /etc/hosts | perl6 -ne 'my %X; %X{.words[0]}++; END { dd %X }'
22:29 avar Hash %X = {"#" => 3, "#DO" => 1, "10.189.96.163" => 1, "10.252.13.10" => 1, "127.0.0.1" => 1}
22:29 avar $ cat /etc/hosts | perl6 -ne 'my %X; %X{.words[0]}++; END dd %X'
22:29 avar Hash %X = {}
22:30 AlexDaniel avar: how old is your rakudo?
22:31 AlexDaniel avar: perl6 --version
22:31 avar this is rakudo star 2016.07
22:31 AlexDaniel um… interesting… I see exactly the same output here
22:32 AlexDaniel commit: 2016.07 my @a = 5, 6; END dd @a; @a.push: 42
22:32 committable6 AlexDaniel, ¦«2016.07»: Array @a = []
22:32 AlexDaniel commit: releases my @a = 5, 6; END dd @a; @a.push: 42
22:32 committable6 AlexDaniel, ¦«2015.10,2015.11»: Array $var = $[]␤¦«2015.12,2016.02,2016.03,201​6.04,2016.05,2016.06,2016.07.1»: Array @a = []␤¦«2016.08.1,HEAD»: Array @a = [5, 6, 42]
22:33 AlexDaniel wow, really?
22:33 AlexDaniel bisect: my @a = 5, 6; END dd @a; @a.push: 42
22:33 bisectable6 AlexDaniel, Exit code is 0 on both starting points (good=2015.12 bad=77d9d41), bisecting by using the output
22:33 bisectable6 AlexDaniel, bisect log: https://gist.github.com/8e41​5c55ef942f7011166180cb51ba2d
22:33 bisectable6 AlexDaniel, (2016-08-03) https://github.com/rakudo/rakudo/commit/5e61516
22:33 AlexDaniel avar: alright, so according to this ↑ it was a bug in previous versions
22:33 avar ah,
22:35 nicq20 I don't seem to have trouble with it. Version: This is Rakudo version 2016.08.1-123-gef98f8f built on MoarVM version 2016.08-32-ge52414d
22:35 aries_liuxueyang joined #perl6
22:36 avar "This is Rakudo version 2016.07.1 built on MoarVM version 2016.07"
22:37 AlexDaniel well, if you take a close look at this message you'll see which versions are affected and which ones are not: http://irclog.perlgeek.de/p​erl6/2016-09-07#i_13168242
22:37 AlexDaniel ;)
22:38 TEttinger joined #perl6
22:40 avar such a neat robot
22:40 nicq20 AlexDaniel: Oops, missed that message!
22:43 AlexDaniel MasterDuke: and again whateverables save the world :)
22:44 Xliff joined #perl6
22:45 * Xliff just spent the last hour or so trying to hack truecolor support into HexChat.
22:45 Xliff It's easier to do for anything but windows.
22:48 mcmillhj joined #perl6
22:49 Xliff Now that I look at what nemo did above, it would be easier than I thought since the '\003' scheme is basically a palette.
23:04 bjz joined #perl6
23:09 yadongz joined #perl6
23:09 cpage_ joined #perl6
23:11 cpage_ joined #perl6
23:15 skids joined #perl6
23:20 TimToady joined #perl6
23:31 yadongz joined #perl6
23:43 canopus joined #perl6
23:44 Xliff joined #perl6
23:45 TEttinger joined #perl6
23:47 dalek perl6-most-wanted: bec3ed2 | (Tom Browder)++ | most-wanted/modules.md:
23:47 dalek perl6-most-wanted: change name and scope of module, subset of Net::IP for now
23:47 dalek perl6-most-wanted: review: https://github.com/perl6/perl6​-most-wanted/commit/bec3ed2d2f
23:49 aries_liuxueyang joined #perl6

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

Perl 6 | Reference Documentation | Rakudo