Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2017-01-21

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 BenGoldberg joined #perl6
00:02 kurahaupo__ joined #perl6
00:05 wamba joined #perl6
00:07 lmmx joined #perl6
00:08 revere joined #perl6
00:12 lmmx joined #perl6
00:16 bjz joined #perl6
00:20 mr_ron joined #perl6
00:41 Ben_Goldberg joined #perl6
00:46 bjz joined #perl6
00:46 BenGoldberg joined #perl6
00:46 agentzh joined #perl6
00:54 kurahaupo_ joined #perl6
00:55 kurahaupo_ joined #perl6
00:56 kurahaupo__ joined #perl6
00:59 TeamBlast joined #perl6
01:02 cpage_ joined #perl6
01:04 bjz joined #perl6
01:35 cale2 joined #perl6
01:49 agentzh joined #perl6
01:57 bpmedley joined #perl6
02:03 NeuralAnomaly_ joined #perl6
02:05 brokenchicken .tell faraco If you wish to be listed as something other than faraco in future Rakudo releases, please add yourself to https://github.com/rakudo/rakudo/blob/nom/CREDITS
02:05 yoleaux brokenchicken: I'll pass your message to faraco.
02:06 cale2 Hey what do you guys think of Haskell? Ever tried to learn?
02:06 brokenchicken One of earlier Perl 6 compilers was written in Haskell
02:07 brokenchicken And many people who know it point out Perl 6's FP suckiness
02:07 brokenchicken :)
02:07 cale2 I knew about Pugs. But it seems like Audrey (was that who wrote it?) was one of the few that actually worked in Haskell
02:08 brokenchicken I think she's the one who started it yeah
02:10 geekosaur several of us know Haskell... but not as well as Audrey. (I've lost count of the number of times I've hit the Pugs source and bounced)
02:10 cale2 I'd love to talk with her about her experiences in both worlds
02:11 cale2 Because she must have thought Haskell wasn't as fun as Perl6 since the whole "optimised for fun" thing came around that time :D
02:12 cale2 geekosaur: you're literally in the haskell room with me. Are you an imposter?
02:12 geekosaur ?
02:14 cale2 geekosaur: There's a person with your name in #haskell
02:15 geekosaur yes, that would be me. is there some rule I'm only allowed to be in one channel at a time?
02:15 TimToady cale2: what is this, tribalism of some sort?
02:15 yoleaux 20 Jan 2017 08:48Z <AlexDaniel> TimToady: so is this supposed to warn? 'hello' [&say] 'world'
02:15 yoleaux 20 Jan 2017 08:48Z <AlexDaniel> TimToady: https://github.com/rakudo/rakudo/commit/acece7b2f7 (#00007997)
02:15 geekosaur (in fact I started hanging out in here and in #haskell in 2006, several months apart)
02:16 cale2 geekosaur: I'm just joking. I figured everyone else in the haskell channel knew the language.
02:17 TimToady We need people who live in one village all their lives, and we need people who go from village to village exchanging good things.  That's anthropology.
02:17 cale2 I don't really know the culture of IRC yet. For example, I never knew freenode and mozilla were different IRC networks altogether
02:19 cale2 TimToady: That's a good thought to have. It produces utterly wild things like this: https://github.com/timo/ADT
02:19 geekosaur sadlyI think my only contribution to perl6 was, in attempting to implement the file test ops in pugs, causing their syntax to get changed from p5's -X to adverbial :X --- and in asking aquestion about how -s was to work, kicking the legs out from under the original smart match implementation
02:19 geekosaur :)
02:19 brokenchicken :)
02:20 TimToady we're officially okay with not knowing things here, at least temporarily, as long as it doesn't veer off into "what you know that ain't so", like some politicians I could name...
02:20 hartenfels joined #perl6
02:22 cpage_ joined #perl6
02:31 mr_ron joined #perl6
02:39 cale2 I know there is argument destructuring in p6, but what about matching of specific values that are passed in?
02:40 cale2 multi one(1) { true }; multi one(x) { false };
02:46 brokenchicken That works too
02:46 brokenchicken For Str a Numerics
02:46 brokenchicken *and
02:46 brokenchicken but it's really sugar for adding a `where` clause and with it you can match whatever you want
02:46 brokenchicken m: multi good-num (2) { say "w00t! awesome num!" }; multi good-num (Int $ .is-prime) { say "tis good!" }; multi good-num (Numeric) { say "meh" }; good-num 31337
02:46 camelia rakudo-moar 121e5e: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Malformed parameter␤at <tmp>:1␤------> 3! awesome num!" }; multi good-num (Int $7⏏5 .is-prime) { say "tis good!" }; multi g␤    expecting any of:␤        constraint␤»
02:46 brokenchicken m: multi good-num (2) { say "w00t! awesome num!" }; multi good-num (Int $ where .is-prime) { say "tis good!" }; multi good-num (Numeric) { say "meh" }; good-num 31337
02:46 camelia rakudo-moar 121e5e: OUTPUT«tis good!␤»
02:46 brokenchicken m: multi good-num (2) { say "w00t! awesome num!" }; multi good-num (Int $ where .is-prime) { say "tis good!" }; multi good-num (Numeric) { say "meh" }; good-num 2
02:46 camelia rakudo-moar 121e5e: OUTPUT«w00t! awesome num!␤»
02:46 brokenchicken m: multi good-num (2) { say "w00t! awesome num!" }; multi good-num (Int $ where .is-prime) { say "tis good!" }; multi good-num (Numeric) { say "meh" }; good-num 42
02:46 camelia rakudo-moar 121e5e: OUTPUT«meh␤»
02:48 ilbot3 joined #perl6
02:48 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!
02:48 cale2 m: multi good-num (2) { say "w00t! awesome num!" }; multi good-num (Int $x where x.is-prime) { say "tis good!" }; multi good-num (Numeric) { say "meh" }; good-num 3
02:48 camelia rakudo-moar 121e5e: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    x used at line 1␤␤»
02:48 cale2 m: multi good-num (2) { say "w00t! awesome num!" }; multi good-num (Int $_ where .is-prime) { say "tis good!" }; multi good-num (Numeric) { say "meh" }; good-num 3
02:48 camelia rakudo-moar 121e5e: OUTPUT«tis good!␤»
02:48 cale2 So you don't need the underscore in the special placeholder variable anymore
02:52 brokenchicken $ is an anon var
02:53 brokenchicken m: for ^10 { say $++; $++ andthen .is-prime andthen .say; '|'.say  }
02:53 camelia rakudo-moar 096cee: OUTPUT«0␤False␤|␤1␤False␤|␤2␤True␤|␤3␤True␤|␤4␤False␤|␤5␤True␤|␤6␤False␤|␤7␤True␤|␤8␤False␤|␤9␤False␤|␤»
02:53 MasterDuke m: multi good-num (2) { say "w00t! awesome num!" }; multi good-num (Int where .is-prime) { say "tis good!" }; multi good-num (Numeric) { say "meh" }; good-num 3
02:53 camelia rakudo-moar 096cee: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Cannot do non-typename cases of type_constraint yet␤at <tmp>:1␤------> 3" }; multi good-num (Int where .is-prime7⏏5) { say "tis good!" }; multi good-num (N␤»
02:53 MasterDuke i've never actually seen that ^^^ error message before
02:55 cale2 I thought $_ was the anon var
02:55 cale2 maybe I'm thinking of something else
02:55 brokenchicken It's a topic variable
02:56 NeuralAnomaly_ joined #perl6
02:57 cale2 Is kyclark in here?
02:58 NeuralAnomaly_ joined #perl6
02:58 cale2 Just realized instead of teaching OOP in his book, he could have made DNA a subset of Str that only includes ACGT, for example
02:58 MasterDuke he's here sometimes
02:59 brokenchicken That'd be pretty damn slow
02:59 MasterDuke .seen kyclark
02:59 yoleaux I saw kyclark 9 Dec 2016 20:20Z in #perl6: <kyclark> But my boss says that my book should be able to count for my master’s thesis. Doubleplusgood!  I will keep working on it.
02:59 cale2 Oh wait, but maybe a subset is the same thing as a class that inherets
02:59 zacts joined #perl6
02:59 brokenchicken Nope. You can't even instantiate a subset
02:59 parv joined #perl6
02:59 cale2 class DNA { is Str } === subset DNA of Str where blablabla
02:59 cale2 what are the pros and cons there
03:00 cale2 Ah, I see
03:00 cale2 But a subset is still a Type or it still creates a Type Object
03:02 NeuralAnomaly joined #perl6
03:03 MasterDuke m: my subset DNA of Str where /^<[ACGT]>+$/; say DNA.WHAT;
03:03 camelia rakudo-moar 096cee: OUTPUT«(DNA)␤»
03:03 brokenchicken m: subset Foo where 42; dd Foo.HOW; dd Int.HOW
03:03 camelia rakudo-moar 096cee: OUTPUT«Perl6::Metamodel::SubsetHOW.new␤Perl6::Metamodel::ClassHOW.new␤»
03:04 cale2 m: class Foo {}; dd Foo.HOW;
03:04 camelia rakudo-moar 096cee: OUTPUT«Perl6::Metamodel::ClassHOW.new␤»
03:05 BenGoldberg joined #perl6
03:07 agentzh joined #perl6
03:19 cale2 I recently got a cat. She's just discovered things moving on my computer screen. The letters appearing as I type. The mouse moving. It's great
03:21 kurahaupo_ joined #perl6
03:23 brokenchicken Mine just lies in wait at the entrance to my room so she could harass me for food when I get up to pee: http://i.imgur.com/pz1AGFJ.jpg
03:25 TEttinger cale2: I have one cat who's only truly happy when he's in a tent-like structure in an unused bed, and another cat who can't get enough of the mouse cursor on a computer or tennis balls on the TV
03:26 TEttinger thankfully, no claws used on the screen
03:26 cale2 brokenchicken: You have a lovely cow.
03:26 TEttinger that's a rorschach test cat, quite patterned
03:26 cale2 TEttinger: I let mine punch the screens sometimes. She never uses her claws, so I don't mind
03:45 cale2 m: subset Int-Str of Cool where $ %% 2 or $ ~~ "cale"; my Int-Str $thing = 4;
03:45 camelia rakudo-moar 8b94fa: OUTPUT«Use of uninitialized value of type Any in numeric context␤  in any accepts_type at gen/moar/Metamodel.nqp line 3444␤»
03:45 NeuralAnomaly joined #perl6
03:45 cale2 strange error. don't know.
03:45 brokenchicken It's not an error, it's a warning.
03:46 brokenchicken And that `where` clause makes no sense
03:47 brokenchicken m: subset Int-Str of Cool where $_ %% 2 or $_ ~~ "cale"; my Int-Str $thing = 4;
03:47 camelia rakudo-moar 8b94fa: ( no output )
03:49 cale2 So you need the $_ in a where clause, but not as an anonymous var
03:50 brokenchicken Not "need" but can use :)
03:50 brokenchicken m: subset Int-Str of Cool where -> $woot { $woot %% 2 or $woot ~~ "cale" }; my Int-Str $thing = 4;
03:50 camelia rakudo-moar 8b94fa: ( no output )
03:50 geekosaur anonymous vars are something else. a Whatever could also be used but only if it only occurs once
03:50 noganex_ joined #perl6
03:50 cale2 m: subset Int-Str of Cool where $_ %% 2 or $_ ~~ "cale"; my Int-Str $thing = 4; my Int-Str $thing2 = "caleeee"; say $thing; say $thing2
03:50 camelia rakudo-moar be6dc6: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5caleeee' (indicated by ⏏)␤  in any accepts_type at gen/moar/Metamodel.nqp line 3444␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in any …»
03:51 brokenchicken The where stuff gets thunked and so $_ has the arg given to it when the thing being checked is smartmatched against it
03:51 geekosaur probably something like $^a should work as well
03:51 brokenchicken prolly'll need a block
03:51 brokenchicken m: subset Int-Str of Cool where $^z %% 2 or $^z ~~ "cale"; my Int-Str $thing = 4;
03:51 camelia rakudo-moar be6dc6: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Cannot use placeholder parameter $^z outside of a sub or block␤at <tmp>:1␤------> 3subset Int-Str of Cool where $^z7⏏5 %% 2 or $^z ~~ "cale"; my Int-Str $thin␤»
03:51 brokenchicken mhm
03:51 brokenchicken m: subset Int-Str of Cool where { $^z %% 2 or $^z ~~ "cale" }; my Int-Str $thing = 4;
03:51 camelia rakudo-moar be6dc6: ( no output )
03:51 cale2 Yeah, ok. So the where clauses won't work so great with Cool types
03:52 brokenchicken ? What do you mean?
03:52 cale2 If you assign a string, it fails on the first %% check because that operator expects a number
03:52 geekosaur reorder it
03:52 brokenchicken Sure, but that has little to do with where clauses :)
03:53 brokenchicken m: subset Int-Str of Cool where try { $_ %% 2 } or $_ ~~ "cale"; my Int-Str $thing = 4; my Int-Str $thing2 = "cale";
03:53 camelia rakudo-moar be6dc6: OUTPUT«Use of uninitialized value of type Any in numeric context␤  in block  at <tmp> line 1␤Use of uninitialized value of type Any in numeric context␤  in block  at <tmp> line 1␤»
03:53 brokenchicken screw you
03:53 geekosaur if you request it as a number it will try to convert; test the strings first. ("or" will shortcircuit)
03:53 cale2 I guess you could put the first check inside of a try-catch lol
03:53 cale2 right
03:53 geekosaur m: subset Int-Str of Cool where $_ ~~ "cale" or $_ %% 2; my Int-Str $thing = 4; my Int-Str $thing2 = "caleeee"; say $thing; say $thing2
03:53 camelia rakudo-moar be6dc6: OUTPUT«WARNINGS for <tmp>:␤Useless use of "%%" in expression "$_ %% 2" in sink context (line 1)␤Use of uninitialized value of type Any in numeric context␤  in block <unit> at <tmp> line 1␤Type check failed in assignment to $thing; expected Int-Str but got…»
03:53 geekosaur mm, block foo
03:54 geekosaur or at leats parens; "or" is very low precedence
03:54 geekosaur m: subset Int-Str of Cool where ($_ ~~ "cale" or $_ %% 2); my Int-Str $thing = 4; my Int-Str $thing2 = "caleeee"; say $thing; say $thing2
03:54 camelia rakudo-moar be6dc6: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5caleeee' (indicated by ⏏)␤  in any accepts_type at gen/moar/Metamodel.nqp line 3444␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in any …»
03:54 brokenchicken heh
03:54 cale2 "Useless use of %%" That's a bit negative sounding haha
03:54 geekosaur that seems wrong
03:54 cale2 It's USELESS
03:54 geekosaur or is or not shortcircuiting any more?
03:54 brokenchicken m: subset Int-Str of Cool where ($_ ~~ "cale" or $_ %% 2 or False); my Int-Str $thing = 4; my Int-Str $thing2 = "caleeee"; say $thing; say $thing2
03:54 camelia rakudo-moar be6dc6: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5caleeee' (indicated by ⏏)␤  in any accepts_type at gen/moar/Metamodel.nqp line 3444␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in any …»
03:55 brokenchicken geekosaur: it got no reason to shortcurcuit
03:55 geekosaur uhhhhh
03:55 brokenchicken Now... it sucks "blah" %% 2 doesn't end up with a Failure :/
03:55 brokenchicken m: $ = "foo" %% 2;
03:55 camelia rakudo-moar be6dc6: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5foo' (indicated by ⏏)␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
03:55 brokenchicken m: subset Int-Str of Cool where ($_ ~~ "cale" or try $_ %% 2); my Int-Str $thing = 4; my Int-Str $thing2 = "caleeee"; say $thing; say $thing2
03:55 camelia rakudo-moar be6dc6: OUTPUT«Use of uninitialized value of type Any in numeric context␤  in code  at <tmp> line 1␤Use of uninitialized value of type Any in numeric context␤  in code  at <tmp> line 1␤4␤caleeee␤»
03:56 geekosaur m: say so "caleeee" ~~ "cale"
03:56 camelia rakudo-moar be6dc6: OUTPUT«False␤»
03:56 brokenchicken whatchutalkingaboot...
03:56 brokenchicken m: subset Int-Str of Cool where { $^x ~~ "cale" or try $x %% 2 }; my Int-Str $thing = 4; my Int-Str $thing2 = "caleeee"; say $thing; say $thing2
03:56 camelia rakudo-moar be6dc6: OUTPUT«Type check failed in assignment to $thing2; expected Int-Str but got Str ("caleeee")␤  in block <unit> at <tmp> line 1␤␤»
03:56 geekosaur wait, why was this using ~~ with a Str?
03:57 geekosaur m: subset Int-Str of Cool where ($_ ~~ /cale/ or $_ %% 2); my Int-Str $thing = 4; my Int-Str $thing2 = "caleeee"; say $thing; say $thing2
03:57 camelia rakudo-moar be6dc6: OUTPUT«4␤caleeee␤»
03:57 brokenchicken TIMTOADY eh? :)
03:57 brokenchicken Oh is that what it was meant to be checking for? :)
03:57 geekosaur although p5-sense wants that to have coerced to regex :p
03:57 brokenchicken heh'
03:57 mr-foobar joined #perl6
03:57 geekosaur (yes, I know)
03:57 brokenchicken s: &infix:<%%>, \("x", 2)
03:57 SourceBaby brokenchicken, Sauce is at https://github.com/rakudo/rakudo/blob/8b94fae/src/core/Numeric.pm#L218
03:58 cale2 smart matcher does work fine with strings though, right?
03:58 brokenchicken I guess it makes sense that it throws 'cause we're using the thing as a value
03:58 brokenchicken cale2: yes
04:00 brokenchicken m: subset Int-Str of Cool (where $_ eq "cale" or .Numeric andthen $_ %% 2); my Int-Str $thing = 4; my Int-Str $thing2 = "caleeee"; say $thing; say $thing2
04:00 camelia rakudo-moar be6dc6: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3subset Int-Str of Cool7⏏5 (where $_ eq "cale" or .Numeric andthen␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        …»
04:00 brokenchicken m: subset Int-Str of Cool where ($_ eq "cale" or .Numeric andthen $_ %% 2); my Int-Str $thing = 4; my Int-Str $thing2 = "caleeee"; say $thing; say $thing2
04:00 camelia rakudo-moar be6dc6: OUTPUT«WARNINGS for <tmp>:␤Useless use of "%%" in expression "$_ %% 2" in sink context (line 1)␤Type check failed in assignment to $thing2; expected Int-Str but got Str ("caleeee")␤  in block <unit> at <tmp> line 1␤␤»
04:00 brokenchicken :S
04:01 brokenchicken uselessuseofuselessues
04:01 brokenchicken m: subset Int-Str of Cool where ($_ eq "cale" or .Numeric andthen $_ %% 2 or False); my Int-Str $thing = 4; my Int-Str $thing2 = "caleeee"; say $thing; say $thing2
04:01 camelia rakudo-moar be6dc6: OUTPUT«Type check failed in assignment to $thing2; expected Int-Str but got Str ("caleeee")␤  in block <unit> at <tmp> line 1␤␤»
04:03 cale2 Interesting blog post: http://www.thegrumpyprogrammer.com/2014/07/does-world-want-or-need-new-programming.html
04:06 brokenchicken It's also interesting to see the mention of 64-bit being the norm RIGHT after the previous statemtn that Moorse law is unstoppable :)
04:09 matiaslina joined #perl6
04:10 brokenchicken m: say 183 - 26
04:10 camelia rakudo-moar be6dc6: OUTPUT«157␤»
04:10 brokenchicken pretty dam' big changelog this release
04:13 * brokenchicken hopes for an even bigger one next month, now that we got two new core members :P
04:21 brokenchicken joined #perl6
04:21 brokenchicken joined #perl6
04:30 NeuralAnomaly joined #perl6
04:31 jdmmmmm joined #perl6
04:35 AlexDaniel joined #perl6
04:35 AlexDaniel .
04:36 Todd joined #perl6
04:36 japh-com joined #perl6
04:36 Todd I am trying to install "inline" into perl6 for windows 7.  I downladed clone and ran panda from its dirctory
04:36 Todd C:\Drivers\Perl\Inline\Inline-Perl5-master>panda --notests --force  install . ==> Installing Inline::Perl5 from a local directory '.' ==> Fetching Inline::Perl5 ==> Building Inline::Perl5 'nmake' is not recognized as an internal or external command, operable program or batch file. The spawned process exited unsuccessfully (exit code: 1)   in method build at C:\Drivers\Perl\Inline\Inline-Perl5-master\.panda-work\148 973317_1/Build.pm line
04:37 Todd 'nmake' is not recognized
04:37 Todd how do I fix this?
04:38 araraloren You should use visual stduio tools command prompt
04:40 Todd I have used it before, but I can't figure out what it is called now.  What is it called?
04:41 Todd Git-cmd by chance?
04:41 araraloren You can find a batch file `vscarsall.bat`, before you run panda  run it
04:42 araraloren in mcirosoft visual stduio installation directory
04:42 araraloren such as `Program Files (x86)\Microsoft Visual Studio 14.0\VC`
04:42 faraco joined #perl6
04:43 Todd no such animal
04:43 Todd same problem when run from git-cmd
04:43 Todd what I thought I used before was git-cmd
04:43 araraloren Did you have VS201X installation ?
04:43 araraloren git-cmd ?
04:44 parv joined #perl6
04:45 Todd where?
04:47 araraloren So, do you have a complier in your pc ?
04:48 araraloren s/complier/compiler/
04:49 Todd No and I thought panda didn't need one ???
04:49 geekosaur for nmake I suspect you need https://go.microsoft.com/fwlink/?LinkId=691978&amp;clcid=0x409
04:50 geekosaur (visual studio community edition)
04:50 araraloren Todd, panda didn't need that, Inline::Perl5 need that
04:52 Todd I am installing it
04:53 Todd It says it need 7GB.  Is that normal?
04:54 araraloren Yeah, you can make a custom install
04:55 geekosaur I think there might be a command line tools also, that's a full IDE
04:55 araraloren Actually it is existed
04:55 Todd I think at this point it would be better for me to switch back to Perl 5.  There will be other things to code in 6 in the future
04:56 araraloren Windows sdks privides that tools, maybe
04:56 Todd Mainly becasue I have to role this out acros multiple computers and can't have a YUGE installation proceedure
04:56 araraloren Use Perl6 under linux should have more comfortable ..
04:57 Todd I don't care for Windows much, but if I want to feed myself, I am stuck with it
04:58 araraloren Yeah ..
05:00 Todd Thank you guys for the help!  bye bye
05:06 * [Coke] yawns.
05:09 araraloren I  think the new version rakudo install become faster ..
05:12 brokenchicken yup
05:12 itcharlie joined #perl6
05:32 kurahaupo__ joined #perl6
05:34 Cabanossi joined #perl6
05:44 * [Coke] upgrades to 2017.01…
05:48 bjz joined #perl6
06:02 [Coke] man, making docs is still really slow. :|
06:04 Geth doc: 388a1d8098 | (Will "Coke" Coleda)++ | highlights/highlight-file.coffee
06:04 Geth doc: Remove debug output
06:04 Geth doc: review: https://github.com/perl6/doc/commit/388a1d8098
06:06 geekosaur joined #perl6
06:08 labster1 joined #perl6
06:12 labster joined #perl6
06:13 mr_ron joined #perl6
06:13 [Coke] does does use sass while perl6.org does not?
06:13 [Coke] *does docs
06:21 [Coke] m: say chr(39)
06:21 camelia rakudo-moar 0c8929: OUTPUT«'␤»
06:45 TimToady joined #perl6
06:45 faraco m: say Int 'cow';
06:45 camelia rakudo-moar 0c8929: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3say Int7⏏5 'cow';␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        statement modifier␤   …»
06:45 yoleaux 02:05Z <brokenchicken> faraco: If you wish to be listed as something other than faraco in future Rakudo releases, please add yourself to https://github.com/rakudo/rakudo/blob/nom/CREDITS
06:48 faraco .ask brokenchicken "Oh, thanks for mentioning that!"
06:48 yoleaux faraco: I'll pass your message to brokenchicken.
06:57 CIAvash joined #perl6
07:53 Tonik joined #perl6
08:29 bjz joined #perl6
08:34 labster joined #perl6
08:52 darutoko joined #perl6
08:58 pecastro joined #perl6
09:08 rindolf joined #perl6
09:19 RabidGravy joined #perl6
09:21 aborazmeh joined #perl6
09:21 aborazmeh joined #perl6
09:22 TimToady joined #perl6
09:27 rindolf joined #perl6
09:34 ChoHag joined #perl6
09:39 faraco joined #perl6
09:40 faraco hi
09:42 RabidGravy morning
09:42 faraco :D
10:08 mr_ron joined #perl6
10:22 faraco joined #perl6
10:22 faraco Hmm, why, 'ufo' still included in Task::Star installation?
10:22 faraco Isn't it deprecated?
10:23 espadrine_ joined #perl6
10:27 MrMebelMan joined #perl6
10:27 MrMebelMan Hi!
10:28 faraco Afternoon.
10:29 timotimo aye, it is
10:29 timotimo should probably be thrown out :)
10:33 faraco and, does anything else (core) depends on ufo? I gonna made a pr to task-star, if okay.
10:34 faraco oh nevermind
10:34 faraco zoffix opened an issue about Task::Star - https://github.com/tadzik/Task-Star/issues/13
10:39 RabidGravy mind you I've probably still got modules that mention it in their README
10:39 timotimo nothing depends on it, aye
10:39 timotimo potentially, yeah
10:39 timotimo we have all-modules for that
10:39 RabidGravy simply because I haven't got round to updating them
10:40 timotimo yup, there's a whole lot of 'em
10:41 timotimo https://gist.github.com/timo/2a04435099e222dfc3a3f8b8d67dd3f6
10:42 timotimo you definitely do lead the bunch
10:43 faraco erm, so there is Getopt::Long, but..the documentation is just. Erm. Any alternative for, *right now*?
10:47 timotimo :(
10:48 parv joined #perl6
10:48 timotimo there's Getopt::std which doesn't give you long options
10:49 RabidGravy well, apparently 23 of my modules mention "ufo" in their README
10:49 timotimo yup.
10:49 faraco timotimo: thanks!
10:49 timotimo that happens when you copy-paste the same readme over all your projects :)
10:49 RabidGravy maybe I'll spend some time fixing that today
10:50 timotimo why not let someone write a script that goes through all modules in my list and makes pullrequests?
10:50 timotimo i.e. pop open an editor for each, in turn, and go
10:50 timotimo actually ...
10:50 timotimo gimme just a sec
10:52 RabidGravy for mine it's probably a sign that the README needs some love and also the META.info needs renaming to META6.json
10:52 wamba joined #perl6
10:53 * timotimo fails to figure out how to insert text at the beginning of a line in sed without using s/
10:54 RabidGravy I've been using sed forever and I still have to look things up when it's more complex than s////
10:55 timotimo ugh, i hate not knowing what i have to backslash and what not
10:55 timotimo i'll just use perl6 instead
10:58 timotimo https://gist.githubusercontent.com/timo/2a04435099e222dfc3a3f8b8d67dd3f6/raw/a768837cf751971402580a0bd97d41a852e1dcbc/gistfile1.txt
10:58 timotimo they're not clickable, though. just a moment :)
11:01 timotimo http://hack.p6c.org/~timo/readmes_with_ufo.html
11:01 timotimo knowk yourself out. a few lines are missing, though
11:02 Actualeyes joined #perl6
11:02 timotimo ah, a few lines there don't have a user in front of the module name
11:02 * faraco still not understand advance regex.
11:02 timotimo p6-Linux-Fuser and p6-Linux-Cpuinfo
11:03 timotimo ... "knowk your self out" m)
11:04 moritz faraco: who ever does? :-)
11:04 RabidGravy I'm going in with https://gist.github.com/jonathanstowe/56a92b3887ea0dd50c08eb53c8ab1502
11:05 timotimo moritz: got an idea why those two modules in your all-modules repo don't have a github user in their path?
11:05 timotimo RabidGravy: if you have permissions for that, sure
11:05 RabidGravy just my modules
11:05 RabidGravy so yeah I have permission
11:06 faraco moritz: I feel bad. Using both Perl and Perl 6, also grep and sed. Yet, only know how to use s/blah/ploof/g, and any other simple construct of regex. :'(
11:06 faraco but hey, I'm getting there.
11:07 moritz timotimo: no idea :(
11:08 timotimo moritz: is it time for another update of the repo? :)
11:08 timotimo last commit on 17 sep 2016
11:09 domidumont joined #perl6
11:09 moritz timotimo: as soon as the fix for https://github.com/ingydotnet/git-subrepo/issues/225 is merged, yes
11:11 azawawi joined #perl6
11:11 azawawi Hi
11:12 faraco hi
11:12 timotimo oh!
11:13 timotimo right, that was A Thing
11:13 azawawi https://github.com/apple/swift/blob/master/docs/StringManifesto.md # swift 4 string processing  goal to be better than Perl
11:13 timotimo i see there has been a branch for you. cool!
11:13 timotimo huh.
11:13 timotimo "better at string processing than perl!"
11:13 timotimo that's the wrong perl to try to be better than
11:14 faraco hah
11:14 moritz timotimo: i'm trying to update perl6-all-modules with the branch now
11:15 moritz faraco++ got PR #1000 on Rakudo!
11:15 azawawi Let them try lol
11:15 domidumont joined #perl6
11:15 lukaramu joined #perl6
11:15 azawawi Swift API is a mess
11:16 azawawi Objective c all over
11:16 faraco what
11:16 timotimo we should look if they do anything better than us and then improve our stuff by stealing their best shit
11:16 timotimo BBL
11:16 faraco Oh, the exact #1000. I just realized.
11:17 azawawi Well their defer block is cool. It is like leave
11:20 azawawi Consider me an undercover swift agent working for perl6 lol
11:21 azawawi Swift main problem is their API is not swifty enough
11:21 faraco Caught you red handed. :P
11:22 azawawi But apple is known for forcing change on their developer base and succeeding
11:26 azawawi They forced named parameters and then introduced a workaround around it by adding a underscore and then a space
11:27 azawawi Now most swift code is littered with lonely underscores
11:35 lukiramu joined #perl6
11:37 bjz joined #perl6
11:39 Actualeyes joined #perl6
11:45 kalkin- joined #perl6
11:45 kalkin- hi #perl6
11:48 kalkin- XMPP provides different auth mechanism via SASL. The server tells me the supported mechanisms it can use. The current Net::XMPP library implements only one method (PLAIN). What would be the most perlish way to extend it to be future proof for any new mechanisms, while not hardcoding them in Net::XMPP?
11:49 kalkin- My first thought would be doing dependency injection and provide my custom auth mechanisms during initialization
11:50 kalkin- Another Idea would be to provide a custom role MyAuth and do in my client Net::XMPP does MyAuth and overwrite this way the Net::XMPP auth mehtod (which currently doesn't exists, but can be patched)
11:51 kalkin- A third way would be to provide during initialization an hash consisting of AUTH-MECHANISM => MyAuthRouting()
11:56 RabidGravy runtime application of the role, probably keyed on the name provided in the Auth header
11:57 RabidGravy I've done something similar in some code, I'll have a look in a bit after I've finished with these READMEs
11:59 kalkin- RabidGravy: “runtime application of the role” ← I understand that, but I'm not sure what you mean by → keyed on the same name … How do I do this with a role? (Btw no rush, I like the async nature of IRC ☺ )
12:00 RabidGravy well
12:02 RabidGravy I think something like "role FooAuth does AuthMethod is auth-name('foo") { ... }" and when the server presents the Auth header with "foo" as a supported auth method you look for the AuthMethods you have which have an auth-name of "foo"
12:03 RabidGravy pr something
12:04 kalkin- RabidGravy: Why is it better then AuthMethod role having just a method auth-name which returns 'foo'? (I'm not arguing, just asking for better understanding of perl6)
12:05 RabidGravy I'm not sure it is better, it's just how I would do it :)
12:06 kalkin- hmm, on the other hand this way it's explicit in the code
12:06 RabidGravy it feels to me that it is meta-information about the auth type and should really be in the Meta Object rather than in the implementation
12:06 RabidGravy and that the auth framework should take care of the actual identification however it sees fit
12:07 kalkin- I see, thank you for your explanation
12:07 kalkin- I think I need to refresh my memory on the “is” keyword.
12:07 * kalkin- is going back to reading docs
12:08 RabidGravy an alternative to the above would be to parameterize the AuthMethod role with the nane which may be clearer
12:08 RabidGravy i.e. "role FooAuth does AuthMethod["foo"] { }"
12:09 RabidGravy some people get confused when "is" is repurposed for a trait application other than inheritance
12:12 timotimo when you have the "is auth-name" trait, you can register them globally
12:12 timotimo if you just hvae a .auth-name method, you'll have to rely on some code finding your role for you and calling that method
12:12 kalkin- timotimo: how would I list all is auth-name traits?
12:13 kalkin- Should I iteratare over all available modules in CUR for that?
12:13 timotimo have a package-scoped hash and implement the auth-name trait to stuff it in there
12:13 timotimo or something like that, yeah
12:13 RabidGravy yeah, I'm using a similar technique in Sofa for defining "methods" to rest paths
12:13 kalkin- timotimo: I didn't want to provide it in Net::XMPP package, but wanted people to provide them from outside
12:14 kalkin- so search in CUR
12:14 timotimo of course
12:14 timotimo yeah, search in CUR would be best unless you're fine with users of your package also pulling in the other auth mechanisms so they register themselves
12:14 timotimo .o( though i wonder how it interplays with precompilation when every module stuffs a class of their own into that array )
12:16 RabidGravy right that's ufo ridded from all of my modules :)
12:17 hankache joined #perl6
12:17 timotimo nice
12:17 kalkin- Btw there is no way currently to specify optional dependencies in META6?
12:18 timotimo don't think so
12:18 kalkin- K, I haven't found anything in S22 either or in jnthn's META6 package
12:18 kalkin- Thank you both for you help and time
12:19 timotimo sure thing
12:20 hankache no syntax highlighting on https://docs.perl6.org/ :(
12:20 mr_ron joined #perl6
12:20 hankache que pasa?
12:22 jnthn My...META6 package?
12:22 * jnthn wonders if he's being confused with RabidGravy again :)
12:23 timotimo right, that's the other jonathan
12:23 timotimo he decided to keep his vowels, though
12:42 bjz_ joined #perl6
12:44 Woodi hallo #perl6 :)
12:44 Woodi do we have some struct or record type or we need to use hash or class ?
12:46 timotimo when you use a class with "is repr('CStruct')" you get the same in-memory layout as a C Struct
12:49 Woodi nice :)  I assume "usage" part is similiar to C :)  checking...
12:49 Actualeyes joined #perl6
12:49 timotimo it's exactly like a class
12:50 kalkin- jnthn: yes I mixed you up with another jonathan :)
12:50 kalkin- sorry
12:52 Woodi thanx timotimo++
12:56 Geth doc: f105aa0c09 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Associative.pod6
12:56 Geth doc: link to postcircumfix:<{ }>
12:56 Geth doc: review: https://github.com/perl6/doc/commit/f105aa0c09
12:56 Geth doc: f206a48fc0 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Associative.pod6
12:56 Geth doc: link to Subscripts
12:56 Geth doc: review: https://github.com/perl6/doc/commit/f206a48fc0
12:56 RabidGravy jnthn, it would appear so
12:57 RabidGravy but hey you can take the blame if you want
12:58 Geth doc: c6f030cdbd | (Wenzel P. P. Peppmeyer)++ | doc/Type/Associative.pod6
12:58 Geth doc: better link is better
12:58 Geth doc: review: https://github.com/perl6/doc/commit/c6f030cdbd
12:59 kalkin- is there a way to define a parametized trait? so i can say Md5Auth is sasl-mech('md5')?
12:59 timotimo of course
12:59 timotimo just take a parameter
12:59 RabidGravy re: searching the CUR for things that might implement something (such as an authentication method) can the Distribution object of an installed module have arbitrary attributes
12:59 timotimo in your trait_mod:<sasl-mech>
13:01 RabidGravy so e.g. one could have a "does" attribute in the META6 and that gets stored in the Distribution and then one could have a special CUR implementation that searched those values
13:01 cdg joined #perl6
13:02 kalkin- timotimo: ohh, like is export('FOO'), right?
13:02 RabidGravy kalkin-, https://github.com/jonathanstowe/AccessorFacade/blob/master/lib/AccessorFacade.pm has examples of nearly every case you might wish for
13:02 timotimo right
13:02 kurahaupo joined #perl6
13:02 timotimo or is repr('CStruct')
13:03 RabidGravy (they of course are method traits but the same thing applies)
13:03 kalkin- RabidGravy: awesome thanks!
13:04 RabidGravy https://github.com/jonathanstowe/Sofa/blob/master/lib/Sofa/Item.pm has a "class trait"
13:09 smls joined #perl6
13:09 RabidGravy actually I could pull the stuff that implements that pattern out into a separate module
13:10 smls Am I misremebering, or did `prove t/` use work with Perl 6 .t files if they had an appropriate shebank line?
13:10 timotimo i seem to recall someone at some point saying that prove reads the shebang
13:11 smls It doesn't work for me anymore unless I explicitly specify `prove -e perl6 t/`
13:11 timotimo strange
13:12 RabidGravy wasn't someone working on a P6 prove?
13:12 kalkin- apropos separate modules On the one hand I don't want to end up with perl6 being the new JS with modules like leftpad, but on the other hand If I have some XMPP::SASL module containing MD5, SHA1, CRAM, wouldn't it make sense to package them as own distributions so people only use the dependencies they really need?
13:12 kalkin- RabidGravy: doesn't zef bring it's own implementation? You can configure it in zef config.json to be used instead of prove
13:12 timotimo yeah, we have make spectest6
13:13 kalkin- The same issue I had with my License::Software package. I thought about packaging all the license templates on it's own, but then didn't do it just because it's to much effort
13:14 kalkin- what's perl BP on this? How granular should distributions be?
13:16 RabidGravy It's really difficult to have a hard and fast rule on it
13:17 RabidGravy as in your SASL case, for example, the different modules may bring in a bunch of different dependencies and a strong case could be made for separating
13:18 RabidGravy likewise if there are multiple things where someone is only likely to ever want one then separate might be good
13:19 RabidGravy but otherwise and all other things being equal then they can all be in one distribution
13:21 kalkin- RabidGravy: The dependency issue is a good argument!
13:21 kalkin- (for splitting in a bunch of modules)
13:21 nowan_ joined #perl6
13:22 RabidGravy especially if there are external dependencies (such as a native library)
13:24 nowan_ joined #perl6
13:25 RabidGravy right let's rename the last of these META.info - no-one install any of my modules for the next half hour okay?
13:27 abruanese joined #perl6
13:28 moritz you could copy, then rename in the ecosystem, then delete the old one
13:28 moritz bam, zero downtime rename
13:33 Geth ecosystem: 8433f9cfd9 | (Jonathan Stowe)++ | META.list
13:33 Geth ecosystem: Rename the last of those to META6
13:33 Geth ecosystem: review: https://github.com/perl6/ecosystem/commit/8433f9cfd9
13:33 RabidGravy there
13:36 dalek json: 28fe139 | moritz++ | META6.json:
13:36 dalek json: The new hotness in META6.json
13:36 dalek json: review: https://github.com/moritz/json/commit/28fe139f9f
13:37 timotimo .json for json
13:41 Geth ecosystem: d1d0f906ee | (Moritz Lenz)++ | META.list
13:41 Geth ecosystem: Moritz' Module Cleanup
13:41 Geth ecosystem:
13:41 Geth ecosystem: * move from META.info to META6.json
13:41 Geth ecosystem: * remove two modules that are no longer maintained/relevant
13:41 Geth ecosystem: review: https://github.com/perl6/ecosystem/commit/d1d0f906ee
13:44 RabidGravy still more than half have META.info unfortunately
13:46 moritz write a bot that opens pull requests against all those modules to rename them
13:46 RabidGravy I was thinking that
13:56 mr-foobar joined #perl6
14:12 bjz joined #perl6
14:13 gfldex i'm working on META6 right now to make travis happy
14:14 RabidGravy what's the matter with travis?
14:14 gfldex https://travis-ci.org/jonathanstowe/META6
14:15 RabidGravy oh that should be just press the restart build button ;-)
14:16 RabidGravy there are a couple like that
14:16 * RabidGravy checks
14:16 RabidGravy yeah, travis was quicker than I was
14:16 gfldex RabidGravy: i found out because I wanted to have META6 does Associative, what works aleady
14:17 gfldex i will send the PR in a few
14:17 RabidGravy I've just restarted the travis build on that though, it should be fine
14:18 gfldex i switched to zef too while I was on it
14:22 RabidGravy ah, no the tests seem to not like the rename :(
14:22 gfldex :-| it stalls in on of the tests
14:22 gfldex *one
14:23 * gfldex investigates
14:24 RabidGravy fixed
14:26 RabidGravy well fixed for me anyway, let's see what travis thinks
14:27 cale2 joined #perl6
14:35 RabidGravy there, all good
14:40 lep-delete joined #perl6
14:41 gfldex i'm struggeling to do a dynamic lookup on attributes. Is there an equivalent to .^loopup for attributes?
14:45 Geth doc: ffb026da50 | (Aleks-Daniel Jakimenko-Aleksejev)++ | doc/Type/Metamodel/ClassHOW.pod6
14:45 Geth doc: “faster then” → “faster than”
14:45 Geth doc: review: https://github.com/perl6/doc/commit/ffb026da50
14:53 moritz gfldex: first you need to get hold of an Attribute object, then you can use get_value
14:54 pmurias joined #perl6
14:54 AlexDaniel m: class Foo { has $!x; has $!y }; say Foo.HOW.get_attribute_for_usage(Foo, ‘$!x’)
14:54 camelia rakudo-moar 8a6bfc: OUTPUT«Mu $!x␤»
14:54 AlexDaniel that's probably not the proper way
14:56 MasterDuke m: class Foo { has $!x; has $!y }; .name.say for Foo.^attributes
14:56 camelia rakudo-moar 8a6bfc: OUTPUT«$!x␤$!y␤»
14:57 Ven joined #perl6
14:57 pmurias kalkin-: having things like MD5 separated into modules seems better
14:58 pmurias people depending on XMPP::SASL just for MD5 doesn't seem good
14:59 RabidGravy gfldex, if you're going to do what I think you are, I would say roll your own and then spin it off into it's own module
15:01 RabidGravy so it keeps it's own internal stash of the attributes from ^attributes (probably only :local) and populates that with the de-sigllled names
15:02 RabidGravy so you have something like "Class::Associative" which is a role that turns any class into an Associative on its "public" attributes and then apply that to META6 and jobs a good 'un
15:02 samcv .
15:02 yoleaux 18 Jan 2017 19:11Z <brokenchicken> samcv: I found an atom highlighter bug, the qq:// doesn't get highlighted right :P https://gist.github.com/zoffixznet/f0eb8ee0791bf4b9a91412b6904fe28b
15:03 brokenchicken ... that was a joke
15:03 yoleaux 06:48Z <faraco> brokenchicken: "Oh, thanks for mentioning that!"
15:03 samcv .
15:04 samcv brokenchicken, can we just call it GraphemeBreakTest.t 6.c-errata and 6.c? i'd perfer them be named the same as their unicode test file names
15:04 samcv or the same + a suffix/prefix
15:06 brokenchicken samcv: never mind the test file stuff. That's sorted.
15:06 samcv kk
15:08 samcv wow those heredocs are pretty intense
15:17 RabidGravy gfldex, actually I'm liking that idea a lot, I have an immediate use for it on something I was going to alter in a backward imcompatible fashion
15:24 Tonik joined #perl6
15:26 samcv for some reason I run ./Configure.pl on MoarVM, and when I run ./Configure.pl for nqp it tells me my moar is too old
15:27 brokenchicken Did you pull all the stuff? Latest nqp wants 2017.01 MoarVM
15:28 samcv yeah I did
15:28 brokenchicken What does git describe give you in moarvm repo?
15:29 samcv 2016.12-135-g0c8b770f
15:29 samcv ^ is actually me checking out the commit which bumped the version number
15:29 MasterDuke did you `pull --tags`?
15:30 kalkin- pmurias: I think you are right
15:30 samcv MasterDuke, I have now :) thanks
15:30 kalkin- especially because the Crypto Modules will need crypto libraries, which we are missing now
15:30 MasterDuke yeah, that bit me so many times it's finally sunk in
15:31 kalkin- pmurias: but keep in mind that if you are writing a client, you probably want to support almost all the modules, because different servers advertise different modules
15:31 gfldex RabidGravy: I had problem thanks to the `is json-name` trait but I think I got it now.
15:43 cale2 The thing that confuses me the most about any programming language is organization. When/why to use modules/packages/classes
15:43 cale2 It doesn't help that Perl6 has modules, packages, classes, units, etc
15:43 jdv79 is there any reason the p6 weekly post ends up base64'd on pl6anet.org?
15:44 jdv79 other entries are not
15:44 mst cale2: honestly, perl5 using 'just a package' for all those things wasn't less confusing
15:44 cale2 haskell and elixir are nice in that they only have modules and functions
15:44 mst also 'unit' is just a syntax thing
15:44 mst not an actual sort of organisation
15:44 cale2 mst: I read the docs on packaging in perl6 and it did not help in explaining when to use each one
15:45 cale2 I guess I just don't understand why you'd want so many different ways to group things
15:45 jdv79 stmuk_: ^^^ ?
15:48 mst cale2: there's only really two: modules, and classes
15:48 mst cale2: those are both types of package
15:48 mst cale2: a class is a thing designed for you to .new() and instantiate objects of
15:48 mst cale2: a module is a bag of subroutines
15:48 cale2 mst: there are packages though too
15:48 mst cale2: please read what I said again?
15:49 cale2 mst: They are types of package (which is a type). Got it. So packages do not exist in perl6. They are like virtual types
15:49 brokenchicken more like placeholders
15:49 mst cale2: 'package' is basically 'namespace'
15:50 brokenchicken m: package Foo {}; class Foo {}
15:50 camelia rakudo-moar 8a6bfc: ( no output )
15:50 brokenchicken m: package Foo {}; role Foo {}
15:50 camelia rakudo-moar 8a6bfc: ( no output )
15:50 mst cale2: https://docs.perl6.org/language/packages
15:50 mst cale2: Packages are nested namespaces of named program elements. Modules, classes, grammars, and others are types of packages.
15:51 cale2 mst: so because a module is a type of package, you could just use modules within modules within modules and never use the package keyword at all.
15:51 mst I'm not sure I've seen perl6 code that says 'package'
15:51 mst brokenchicken: ?
15:52 brokenchicken no idea about this stuff
15:52 mst I mean, have you ever seen a bare package/
15:53 brokenchicken Don't remember. I don't really code Perl 6 so almost no experience with it in the wild.
15:53 cale2 m: class Foo {}; say Foo.$?PACKAGE
15:53 camelia rakudo-moar 7f245f: OUTPUT«Cannot invoke this object (REPR: Uninstantiable; GLOBAL)␤  in block <unit> at <tmp> line 1␤␤»
15:54 mst brokenchicken: except for your small army of bots :P
15:54 brokenchicken yeah, except that :)
15:56 b2gills m: class Foo { say $?PACKAGE }; say $?PACKAGE # all variables with a ? twigil are compile time variables
15:56 camelia rakudo-moar 7f245f: OUTPUT«(Foo)␤(GLOBAL)␤»
15:57 cale2 "I don't really code Perl 6 so almost no experience with it in the wild." I think a lot of my confusion comes from not knowing the typical usage of things
15:57 cale2 I suppose a lot of that would clear up as books get released
15:58 brokenchicken cale2: one has already been: https://deeptext.media/perl6-at-a-glance
15:58 cale2 I saw that one. Print only though :/
15:58 brokenchicken mhm
15:58 RabidGravy mst, 'package' is used occassionally
15:59 cale2 And also, I'm more interested in "let's build like 5 full applications together in perl6" than the tiny example driven stuff
15:59 RabidGravy do feel free to make that then
15:59 cale2 Becuase the full applications would clear up packaging confusion, for example :)
16:00 cale2 RabidGravy: With the questions I've asked, would you really want me to guess my way through something like that? :P
16:01 RabidGravy of course, it's the best way to learn :)
16:01 RabidGravy mst, in places like https://github.com/jnthn/oo-monitors/blob/master/lib/OO/Monitors.pm6#L111 for example
16:01 mst ooh, when you really do want 'just a namespace'
16:02 RabidGravy yeah
16:03 mst why 'my' on the outer but not the inner?
16:03 mst also 'use experimental :macros' ... I didn't realise we'd started to get macros?
16:03 RabidGravy oh yeah, they've always been there
16:04 RabidGravy it's just the implementation isn't settled
16:04 mst ah
16:05 mst fair 'nuff
16:05 brokenchicken cale2: heh, yeah, "5 useless applications that doesn't really teach the language"?
16:06 brokenchicken I hated the Catalyst book for that. First 3rd is all about god damn tests and not the actual web framework
16:06 mst err, which one?
16:06 brokenchicken prolly old one
16:06 brokenchicken It was ages ago before I even knew of Mojolicious
16:06 mst there was a packt one, which was insane
16:07 mst and an apress one, which got into writing app code in ch.3
16:07 mst (IIRC 1 was intro and 2 was installing shit)
16:07 cale2 brokenchicken: For me, I'm at the point where I know how to program, but I am garbage at stuff like completing an actual application. So that stuff is actually helpful to me.
16:07 cale2 But yeah, actually writing tests is so passee.
16:07 gfldex I'm trying to implement subscripts with list keys on a custom class and utterly fail. Anybody done this successfully already?
16:08 mst the irony here is that if he's misremembering the way I suspect he is
16:08 mst the 'all about god damn tests' was actually the first chapter that I wrote
16:08 cale2 I saw a testing system for elixir where you describe the input and output data, then say how many tests you want, and it just lambasts your function that many times with various tests.
16:08 brokenchicken By the cover, I'd say it was the apress one...
16:08 mst and was written that way because I wrote the code for real first, then built the chapter around the commit log
16:09 mst yeah, so, *lots* of people have said that that was one of their favourite things about the book, in that it mirrored real development
16:09 brokenchicken hehe :)
16:09 mst I can only conclude you haven't learned to write enough tests yet
16:09 brokenchicken Well, it's worth noting I was drinking a lot back then :)
16:10 mst basically chapter 3 throws together a trivial app
16:10 mst then chapter 4 I added tests and refactored it to be extensible
16:12 mst but, yeah, mojolicious is way easier to get started with at the cost of being harder to maintain large scale apps in
16:13 cale2 mst: I would probably like your book if I was interested in p5 :)
16:13 * mst grins
16:13 mst I'll take that as a compliment
16:18 RabidGravy are there tests somewhere for Attribute.get_value/set_value
16:20 MasterDuke https://github.com/perl6/roast/blob/master/S12-introspection/attributes.t#L69
16:22 RabidGravy MasterDuke, cheers, it's me being stupid then :)
16:26 araujo joined #perl6
16:28 BenGoldberg joined #perl6
16:30 RabidGravy it's probably completely obvious but why doesn't https://gist.github.com/jonathanstowe/d8f5b8bdb13daa4b737ff958a0c0cc22 work how I expect it to?
16:31 RabidGravy in this case Attribute.get_value seems to return True and the set_value doesn't do anything
16:32 MasterDuke https://gist.github.com/jonathanstowe/d8f5b8bdb13daa4b737ff958a0c0cc22#file-assocthing-L8, '$nane' vs '$name'?
16:33 RabidGravy hahahah
16:33 RabidGravy Really need to get to the opticians
16:35 RabidGravy gfldex, with a few refinements and the typo fixed that was what I had in mind :)
16:35 ChoHag joined #perl6
16:37 eater joined #perl6
16:38 gfldex RabidGravy: did you got `$f<bar baz> = 1, 2;` working?
16:38 RabidGravy oh I haven't tested that it was just a quick PoC
16:38 khw joined #perl6
16:40 Geth ecosystem: 36aa43cfad | (Wenzel P. P. Peppmeyer)++ | META.list
16:40 Geth ecosystem: META* -> META6.json
16:40 Geth ecosystem: review: https://github.com/perl6/ecosystem/commit/36aa43cfad
16:41 mr_ron joined #perl6
16:43 RabidGravy gfldex, yes by arranging to have AT-KEY return a Proxy ;-)
16:45 RabidGravy gfldex, like so https://gist.github.com/jonathanstowe/d8f5b8bdb13daa4b737ff958a0c0cc22
16:47 gfldex RabidGravy: you may be working around a bug
16:48 agentzh joined #perl6
16:48 RabidGravy that I have to write software at all is a bug ;-)
16:50 mst RabidGravy: or at least, the fact the computer lets you is
16:52 x1729 joined #perl6
16:53 wamba joined #perl6
16:54 RabidGravy gfldex, that PR seems to fail it's test :-\ https://travis-ci.org/jonathanstowe/META6/builds/194041113
16:54 RabidGravy I've got shortbread to make anyhow
16:56 cdg joined #perl6
16:57 * moritz considers making some more sesame brittle
16:59 gfldex RabidGravy: test works locally. I may have messed up the PR
17:03 BenGoldberg joined #perl6
17:04 kalkin- .seen retupmoca
17:04 yoleaux I saw retupmoca 8 Jun 2016 21:09Z in #perl6: <retupmoca> m: say ('a'..'d').rotor(2 => -1).perl;
17:07 x1729 left #perl6
17:08 gfldex RabidGravy: works for me, no idea what happend with the PR https://travis-ci.org/gfldex/META6
17:15 agentzh joined #perl6
17:21 RabidGravy I'm just cooking, I'll take a more careful look in a bit :)
17:24 cale2 How does vim-perl detect perl6 files?
17:24 cale2 It must look for .pm6 .pl6 .p6 endings?
17:27 RabidGravy or #!perl6 or "use v6" or as most people do "# vim: ft=perl6"
17:34 moritz m: grammar A { method FAILGOAL($goal, $dba_) { say ($goal, $dba).perl }; token TOP { a ~ a b } }; A.parse 'ab'
17:34 camelia rakudo-moar 7f245f: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '$dba' is not declared. Did you mean '$dba_'?␤at <tmp>:1␤------> 3od FAILGOAL($goal, $dba_) { say ($goal, 7⏏5$dba).perl }; token TOP { a ~ a b } }; A␤»
17:34 moritz m: grammar A { method FAILGOAL($goal, $dba) { say ($goal, $dba).perl }; token TOP { a ~ a b } }; A.parse 'ab'
17:34 camelia rakudo-moar 7f245f: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3perl }; token TOP { a ~ a b } }; A.parse7⏏5 'ab'␤    expecting any of:␤        infix␤        infix stopper␤        statement end␤        statement m…»
17:35 moritz m: grammar A { method FAILGOAL($goal, $dba) { say ($goal, $dba).perl }; token TOP { a ~ a b } }; A.parse: 'ab'
17:35 camelia rakudo-moar 7f245f: OUTPUT«Too few positionals passed; expected 3 arguments but got 2␤  in method FAILGOAL at <tmp> line 1␤  in regex TOP at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
17:35 moritz m: grammar A { method FAILGOAL($goal, $dba_) { say ($goal, $dba).perl }; token TOP { a ~ a b } }; A.parse: 'ab'
17:35 camelia rakudo-moar 7f245f: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '$dba' is not declared. Did you mean '$dba_'?␤at <tmp>:1␤------> 3od FAILGOAL($goal, $dba_) { say ($goal, 7⏏5$dba).perl }; token TOP { a ~ a b } }; A␤»
17:35 moritz m: grammar A { method FAILGOAL($goal, $dba?) { say ($goal, $dba).perl }; token TOP { a ~ a b } }; A.parse: 'ab'
17:35 camelia rakudo-moar 7f245f: OUTPUT«("a ", Any)␤P6opaque: no such attribute '$!pos' in type Cursor when trying to get a value␤  in regex TOP at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
17:35 moritz man, that took a long time to get right :(
17:35 moritz m: grammar A { method FAILGOAL($goal, $dba?) { die ($goal, $dba).perl }; token TOP { a ~ a b } }; A.parse: 'ab'
17:35 camelia rakudo-moar 7f245f: OUTPUT«("a ", Any)␤  in method FAILGOAL at <tmp> line 1␤  in regex TOP at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
17:36 moritz why is there a space after the "a" in the goal?
17:36 moritz and how do I determine the current cursor position?
17:36 moritz m: grammar A { method FAILGOAL($goal, $dba?) { die ($goal, $dba, $¢).perl }; token TOP { a ~ a b } }; A.parse: 'ab'
17:36 camelia rakudo-moar 7f245f: OUTPUT«("a ", Any, Nil)␤  in method FAILGOAL at <tmp> line 1␤  in regex TOP at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
17:39 ChoHag joined #perl6
17:45 RabidGravy gfldex, it appears to somehow be interfering with the way that JSON::Unmarshal works with the unmarshalled-by trait
17:50 RabidGravy belay that
17:57 avuserow joined #perl6
17:59 cdg joined #perl6
18:01 cdg_ joined #perl6
18:02 faraco joined #perl6
18:02 faraco joined #perl6
18:02 smls joined #perl6
18:03 kyan joined #perl6
18:04 cdg_ joined #perl6
18:10 brabo joined #perl6
18:11 RabidGravy gfldex, just in case you don't notice I merged that manually as you'd crossed over with my other fix
18:13 lukaramu joined #perl6
18:16 RabidGravy and the reason it confuses JSON::Class is that JSON::Unmarshal will choose the Associative multi rather than the less specufic Mu one
18:18 agentzh joined #perl6
18:31 RabidGravy It would be nice if that could be made to work though
18:38 BenGoldberg joined #perl6
18:50 ChoHag joined #perl6
18:56 espadrine_ joined #perl6
18:56 agentzh joined #perl6
18:57 geekosaur joined #perl6
19:08 dugword joined #perl6
19:08 iH2O joined #perl6
19:15 BenGoldberg joined #perl6
19:18 BenGoldberg joined #perl6
19:26 rindolf joined #perl6
19:28 jjido joined #perl6
19:50 cale2 I can't even recall all of the times I've sat down to learn golang. Takes willpower I do not have :/
19:50 cale2 Same with Rust to an extent. Once you've written in the shorthand, it's difficult to go back to longhand
19:51 mspo ?
19:51 iH2O learn APL its record short
19:51 mspo cale2: golang is about as easy as it gets (at least for me)
19:52 moritz what you really need to learn a language is a project
19:52 moritz and sufficient motivation to actually do the project
19:53 cale2 moritz: that's true. I was thinking of skipping the tutorials and just translating an api wrapper i did in python
19:53 iH2O left #perl6
20:00 alexk joined #perl6
20:01 alexk m: my int $i = 0; while $i < 10_000_000 {  $i++ }; say now - INIT now;
20:01 camelia rakudo-moar 7f245f: OUTPUT«5.1848902␤»
20:02 espadrine_ joined #perl6
20:05 RabidGravy Yeah, I find that the ability to go from scratch to writing useful programs is definitely a key factor in my continuing to bother with a language
20:06 alexk m: my (int $i, int $nosink) = 0, 0; while $i < 10_000_000 {  $nosink = $i++ }; say now - INIT now;
20:06 camelia rakudo-moar 7f245f: OUTPUT«0.0816566␤»
20:07 moritz couldn't we skip sinking of expressions that return natives?
20:11 BenGoldberg m: my (int $i, int $nosink) = 0, 0; while $i < 10_000_000 {  sink $nosink = $i++ }; say now - INIT now;
20:11 camelia rakudo-moar 7f245f: OUTPUT«7.28699907␤»
20:12 BenGoldberg m: my (int $i, Int $nosink) = 0, 0; while $i < 10_000_000 {  sink $nosink = $i++ }; say now - INIT now;
20:13 camelia rakudo-moar 7f245f: OUTPUT«7.27952801␤»
20:15 RabidGravy there, made a ridiculous amount of shortbread and "all the vegetables in the fridge and polenta thing"
20:17 RabidGravy and merged gfldex's PR on META6 into the bargain
20:18 alexk m: my int $i = 0; while $i < 10_000_000 {  $i++ }; say now - INIT now;
20:18 camelia rakudo-moar 7f245f: OUTPUT«5.1239124␤»
20:18 alexk m: my Int $i = 0; while $i < 10_000_000 {  $i++ }; say now - INIT now;
20:18 camelia rakudo-moar 7f245f: OUTPUT«4.6527934␤»
20:18 eater joined #perl6
20:20 jjido joined #perl6
20:22 pecastro joined #perl6
20:24 cdg joined #perl6
20:28 webstrand joined #perl6
20:28 jjido joined #perl6
20:28 gfldex m: my %h = a => { c => 1}, b => { c => 1} ; dd %h<a b>».<c>
20:28 camelia rakudo-moar 7f245f: OUTPUT«(1, 1)␤»
20:28 domidumont joined #perl6
20:53 bjz joined #perl6
20:53 smls m: dd ([2, 3], [4, [5, 6]])».Slip
20:53 camelia rakudo-moar 7f245f: OUTPUT«(slip(2, 3), slip(4, $[5, 6]))␤»
20:54 smls heh :)
20:58 agentzh joined #perl6
21:09 kyan joined #perl6
21:12 stmuk_ http://pl6anet.org/drop/rakudo-star-2017.01-RC0.tar.gz
21:26 pecastro joined #perl6
21:30 brokenchicken .oO( what's heh? )
21:31 pierrot joined #perl6
21:33 cale2 what's the best module for an http client right now?
21:33 brokenchicken buggable: eco HTTP::UserAgent
21:33 buggable brokenchicken, HTTP::UserAgent 'Web user agent': https://github.com/sergot/http-useragent
21:37 tadzik yep
21:37 cale2 I often use an API that requires you to paginate your calls. Like it only pulls 100 records at a time, so you have to hit it a lot in a row
21:39 cale2 When using Python's requests, I can use `with requests.session() as client:` and then re-use the cookie. It speeds up the requests a great deal
21:40 brokenchicken WWW::Mechanize:from<Perl5> is good for that. I haven't figured out a way to pass it regexes tho
21:41 RabidGravy joined #perl6
21:41 zakharyas joined #perl6
21:42 cale2 Honestly, it's hard to find session persistence in a lot of languages. It seems like only python requests has it built in
21:42 brokenchicken :/
21:42 eaterof joined #perl6
21:43 brokenchicken Yes, definitely "only python"
21:43 * brokenchicken erases WWW::Mechanize from the backlog
21:44 tadzik reusing cookies is not that uncommon methinks
21:44 tadzik iirc good old LWP allows you to do that if you create your own cookiejar explicitely
21:44 tadzik it's just recreated anew by default
21:45 cale2 Well, I should say requests just makes it dumb easy
21:45 agentzh joined #perl6
21:45 cale2 I haven't looked at WWW:Mechanize, but perl5 is quite unapproachable as an outsider
21:46 brokenchicken Good thing you use it in Perl 6 then ;)
21:46 tadzik hehe
21:47 alexk m: my Int $i = 0; while $i < 10_000_000 {  $i++ }; say now - INIT now;
21:47 camelia rakudo-moar 7f245f: OUTPUT«4.5628630␤»
21:47 tadzik I found Perl 5 quite easy to handle if you pretty much ignore the docs and just modify the code you find in SYNOPSIS on cpan :P
21:47 alexk m: my (Int $i, Int $nosink) = 0, 0; while $i < 10_000_000 {  $nosink = $i++ }; say now - INIT now;
21:47 camelia rakudo-moar 7f245f: OUTPUT«3.31300213␤»
21:48 cdg joined #perl6
21:50 bjz joined #perl6
21:51 mcafee joined #perl6
21:54 cale2 Wait, could you use Python's requests library in perl6 with inline python?
22:01 RabidGravy yes, but that isn't a very good example as their are P6 libraries that do that
22:01 RabidGravy there are rather
22:04 rindolf joined #perl6
22:05 imcsk8 joined #perl6
22:10 BinGOs joined #perl6
22:10 BinGOs joined #perl6
22:22 BenGoldberg joined #perl6
22:22 cdg joined #perl6
22:23 curt_ joined #perl6
22:27 curt_ Docs say END phaser only runs once, but it can run multiple times during precompile of modules
22:27 curt_ https://gist.github.com/CurtTilmes/9f7e5cb35fa15ae28dbeff0bc97cdab6
22:34 pierrot joined #perl6
22:35 agentzh joined #perl6
22:36 agentzh any hints on debugging rakudo error messages like "Type check failed in binding to assignval; expected Array[EdgeLang::Stmt] but got Array[EdgeLang::Stmt]..."?
22:37 agentzh It's triggered by "use"ing a seemingly unrelated .pm6 module.
22:38 agentzh using the latest nom branch of rakudo.
22:38 agentzh very strange.
22:44 labster joined #perl6
22:53 cdg_ joined #perl6
22:53 agentzh okay, seems like Rakudo gets confused with my EdgeLang::Use module name.
22:53 agentzh After renaming this module to EdgeLang::UseStmt, the mysterious typecheck error shown above disappears. ouch!
22:54 geekosaur o.O
22:54 geekosaur rakudobug that one
22:55 agentzh geekosaur: i'll try producing a minimal example.
22:55 agentzh it's currently part of a big p6 program.
22:58 brokenchicken m: say 'Array[EdgeLang::Stmt]'.chars
22:58 camelia rakudo-moar 7f245f: OUTPUT«21␤»
22:58 brokenchicken agentzh: does it actually have '...' after it?
23:00 brokenchicken I'd be interested in code that produces it; for ticket https://rt.perl.org/Ticket/Display.html?id=130434
23:03 agentzh brokenchicken: nope.
23:03 agentzh brokenchicken: okay, after renaming the EdgeLang::UseStmt module back to EdgeLang::Use, I can no longer reproduce that typecheck error.
23:03 agentzh weird.
23:03 agentzh i even tried removing .precomp/ in my previous tests and it did not help.
23:04 agentzh seems like renaming modules help.
23:04 agentzh brokenchicken: I just copied the original text there.
23:04 cdg joined #perl6
23:05 agentzh brokenchicken: the original error message copy: https://gist.github.com/agentzh/d58dc54f63cfce64e7a2a0d031d20b87
23:06 lmmx joined #perl6
23:07 agentzh brokenchicken: anyway i can no longer reproduce it after renaming EdgeLang::Use to EdgeLang::UseStmt and then back to EdgeLang::Use.
23:09 agentzh hmm, seems like memory corruptions or something.
23:09 agentzh now the typecheck failure shows up again.
23:10 agentzh it has nonderterminism.
23:10 agentzh should i run valgrind against it?
23:10 agentzh does rakudo/moarvm have special building flags for valgrind memcheck?
23:14 agentzh valgrind does not find invalid reads or invalid writes or use of uninitialized values on my side.
23:14 agentzh just a lot of definitely lost and possibly lost errors.
23:25 agentzh okay, got a "Syscall param write(buf) points to uninitialised byte(s)" error from valgrind when running rakudo: https://gist.github.com/agentzh/752af6b08e0038917beca9c34f291164
23:25 agentzh not sure if it's helpful.
23:25 agentzh or should i ask in #moarvm instead?
23:26 brokenchicken Hm. That gives me a clue at laest. Both yours and the other errors are from the TWEAK method
23:26 brokenchicken oh that one's BUILD but here's TWEAK hmmm
23:28 agentzh valgrind takes forever to run.
23:28 agentzh the original perl6 finishes in 7+ sec.
23:28 agentzh so i guess valgrind would need 70+ sec.
23:28 * agentzh waits.
23:29 agentzh i prepared a small example and cannot reproduce the issue.
23:29 agentzh alas.
23:29 agentzh just the real thing can.
23:30 vike joined #perl6
23:31 jnthn fiww, I think the uninitialized bytes issue there is pretty benign; some padding bytes at the end of a buffer are left as junk in a handleful of cases of bytecode generation. Since they never are read, it has no effect. Worth hunting down to quieten valgrind, though
23:32 jnthn The Foo[Bar] didn't match Foo[Bar] issue is likely some kind of type interning failure
23:33 jnthn (Which I've no idea how happens, alas.)
23:33 kyan joined #perl6
23:34 agentzh jnthn: how can i help debugging this issue?
23:35 jnthn agentzh: Golf it down to the smallest example you can
23:35 agentzh now renaming my EdgeLang::Use to EdgeLang::UseStmt no longer helps. still the same error.
23:35 jnthn (Which will, I'm afraid, due to the nature of the bug, most likely involve multiple modules)
23:35 jnthn (Spread across multiple compilation units0
23:35 jnthn *)
23:36 agentzh yeah, if I comment out the line "use EdgeLang::Use;" from EdgeLang::Doc, then the typecheck error in EdgeLang::Doc disappears immediately.
23:36 jnthn Urgh :(
23:37 agentzh wondering if it has anything to do in the new Jan release that aims to support multiple version of the same name classes in a single vm.
23:37 agentzh maybe some how rakudo treats FanLang::Stmt as two different versions?
23:37 agentzh due to the loading orders in other classes' units?
23:39 * agentzh tries the 2012.12 release of rakudo.
23:39 agentzh s/2012/2016/
23:39 brokenchicken That stuff works only for installed modules AFAUI
23:39 agentzh this is a showstopper for me.
23:39 brokenchicken the version.
23:40 agentzh brokenchicken: okay
23:41 agentzh i'm working on a large p6 project estimated 7K+ LOC (excluding comment lines and blank lines).
23:41 agentzh currently i'm at 1K+ LOC.
23:44 agentzh okay, the same error using rakudo 2016.12.
23:44 agentzh alas.
23:45 agentzh okay, i'll just remove the type constraint in that position and keep moving :)
23:45 agentzh i guess maybe the type constraint thing is not heavily exercised by most of p6 users yet.
23:46 agentzh i love it so i tend to use type constraints as much as i can.
23:46 jdmmmmm joined #perl6
23:49 dogbert17 brokenchicken, want to help with a performance mystery?
23:50 dogbert17 possible regression
23:51 brokenchicken dogbert17: whatisit?
23:51 dogbert17 check this out
23:51 dogbert17 m: https://gist.github.com/dogbert17/b052a9da0457916c5f8300990cdad35f
23:51 camelia rakudo-moar 7f245f: OUTPUT«10.0874897␤»
23:51 dogbert17 star: https://gist.github.com/dogbert17/b052a9da0457916c5f8300990cdad35f
23:51 camelia star-m 2016.10: OUTPUT«5.0909620␤»
23:51 dogbert17 odd I'd say
23:53 dogbert17 my only theory is that it might have something to do with lizmat's grep deoptimization
23:54 brokenchicken m: https://gist.github.com/zoffixznet/592aa345ddec4248fdfcafff9d37ec3d
23:54 camelia rakudo-moar 7f245f: OUTPUT«0.05319998␤»
23:54 brokenchicken star: https://gist.github.com/zoffixznet/592aa345ddec4248fdfcafff9d37ec3d
23:55 camelia star-m 2016.10: OUTPUT«0.04814617␤»
23:55 brokenchicken Yup. Looks like it's that grep bugfix.
23:55 dogbert17 that looks like an improvement :)
23:57 brokenchicken m: https://gist.github.com/zoffixznet/69fb32fde88cc74e1e69e0e8145772d3
23:57 camelia rakudo-moar 7f245f: OUTPUT«9.3213457␤»
23:57 brokenchicken star: https://gist.github.com/zoffixznet/69fb32fde88cc74e1e69e0e8145772d3
23:57 camelia star-m 2016.10: OUTPUT«9.13749140␤»
23:57 brokenchicken yup
23:58 brokenchicken rewriting to avoid .grep() makes difference disappear
23:58 dogbert17 so it was the grep deopt/bugfix that did it?

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

Perl 6 | Reference Documentation | Rakudo