Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2016-01-29

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 ZoffixWin Yeah, I know that, but what's the difference?
00:00 lizmat m: my int $a = 42; say $a.WHAT
00:00 camelia rakudo-moar 780192: OUTPUT«(Int)␤»
00:00 ZoffixWin m: my int32 $a = 42; say $a.WHAT
00:00 camelia rakudo-moar 780192: OUTPUT«(Int)␤»
00:00 lizmat that's because the native gets upgraded before any method can be called on it
00:01 ZoffixWin hm
00:02 lizmat if you want to use nqp:: ops, you need natives
00:02 lizmat mostly they're unboxed / boxed automatically
00:02 lizmat but that takes extra cycles
00:04 lizmat you can MMD on it
00:04 lizmat m: multi a(str $a) { "native" }; multi a(Str $a) { "HLL" }; say a("foo")
00:04 camelia rakudo-moar 780192: OUTPUT«native␤»
00:04 nbrown joined #perl6
00:05 ZoffixWin neat
00:05 lizmat m: multi a(str $a) { "native" }; multi a(Str $a) { "HLL" }; say a(my Str $ = "foo")
00:05 camelia rakudo-moar 780192: OUTPUT«HLL␤»
00:05 ZoffixWin :o "foo" is native str
00:05 lizmat seems like  :-)
00:05 ZoffixWin m: multi a(Int $a) { "native" }; multi a(Str $a) { "HLL" }; say a("foo")
00:05 camelia rakudo-moar 780192: OUTPUT«HLL␤»
00:05 ZoffixWin cool
00:06 lizmat well, that's just general MMD :)
00:12 lizmat good night, #perl6!
00:12 ZoffixWin night
00:13 sortiz night
00:14 addison_ joined #perl6
00:16 cpage_ joined #perl6
00:22 vendethiel joined #perl6
00:26 jevin joined #perl6
00:28 ZoffixWin Is anyone on a 32bit box? What does this give you: my int $y = -2**31; say $y; say $y--; say $y; my int32 $x = -2**63; say $x; say $x--; say $x;
00:31 dalek ecosystem: 308c126 | thundergnat++ | META.list:
00:31 dalek ecosystem: Rename Acme::Vanish to Acme::Scrub
00:31 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/308c12633c
00:40 flussence ZoffixWin: -2147483648␤-2147483648␤-2147483649␤0␤0␤-1␤
00:41 ZoffixWin Thank you
00:45 labster joined #perl6
00:46 vendethiel joined #perl6
01:02 ZoffixWin native types are a total mess. I keep finding new bugs :S
01:02 * ZoffixWin is still working on that promised ticket
01:03 Juerd ZoffixWin: One of the underlying issues might be that they're not implemented as the respective native types.
01:04 ZoffixWin There's a lot of inconsistency too:
01:04 ZoffixWin m: my uint8 $x = 0; $x--; say $x
01:04 camelia rakudo-moar 780192: OUTPUT«-1␤»
01:04 ZoffixWin m: my uint8 $x = 0; $x-=1; say $x
01:04 camelia rakudo-moar 780192: OUTPUT«255␤»
01:04 Juerd m: my uint8 $x = 255; $x++; say $x
01:04 camelia rakudo-moar 780192: OUTPUT«256␤»
01:04 Juerd +=1 works fine
01:04 Juerd ++ borks
01:04 ZoffixWin m: my uint8 $x = 256; $x++; say $x
01:04 camelia rakudo-moar 780192: OUTPUT«1␤»
01:04 ZoffixWin m: my uint8 $x = 256; $x+=1; say $x
01:04 camelia rakudo-moar 780192: OUTPUT«1␤»
01:04 Juerd But the way in which -- and ++ bork is interesting: they result in values that a native uint8 *cannot* hold.
01:04 ZoffixWin m: my uint8 $x = 255; $x+=1; say $x
01:04 camelia rakudo-moar 780192: OUTPUT«0␤»
01:05 ZoffixWin No, ++ works fine, +1 borks
01:05 ZoffixWin It has an extra bit
01:05 Juerd This gives away that apparently it's not really a native, but instead something that's made to look like one
01:05 Juerd 01:04 <+camelia> rakudo-moar 780192: OUTPUT«256␤»
01:05 ZoffixWin m: say 0xFF
01:05 camelia rakudo-moar 780192: OUTPUT«255␤»
01:05 ZoffixWin oh
01:06 ZoffixWin never mind me
01:06 Juerd A maxint is always odd :)
01:06 ZoffixWin m: my uint8 $x = 255; $x++; $x++; say $x
01:06 camelia rakudo-moar 780192: OUTPUT«257␤»
01:06 ZoffixWin heh
01:07 Juerd It looks like whatever wrapper's around assignment or +=, is missing in ++
01:08 sena_kun Any pretty one-liner to bind a key-value from  anarray to two vars? Like '($key, $value) = @array-of-pairs[0]'. And general way to do this thing(unpacking data structure at '=') will be great.
01:08 sena_kun s/anarrray/an array/
01:09 Juerd sena_kun: $pair.kv probably does what you want :)
01:09 ZoffixWin sena_kun, what's "an array of pairs"?
01:09 ZoffixWin m: my @a = (foo => 'bar'),; my ( $key, $value ) = @a[0]; say $key, $value
01:09 camelia rakudo-moar 780192: OUTPUT«foo => bar(Any)␤»
01:09 sena_kun Juerd, thanks.
01:09 ZoffixWin That works
01:09 ZoffixWin Oh no
01:10 Juerd m: my @foo = :1pair, :2pair; my ($k, $v) = @foo[0].kv; say "k=$k, v=$v"
01:10 camelia rakudo-moar 780192: OUTPUT«k=pair, v=1␤»
01:10 ZoffixWin aha
01:11 ZoffixWin Well.... I'm bored with this.
01:11 ZoffixWin I started writing this bug report, but it's taking forever. Here's how far I got: https://gist.github.com/zoffixznet/f789f720ba08383f034e
01:12 Juerd See also https://rt.perl.org/Public/Bug/Display.html?id=127144
01:15 Juerd z &
01:15 ZoffixWin Created an RT: https://rt.perl.org/Ticket/Display.html?id=127409 if anyone wants to pick up the torch and finish off what I started
01:17 skids m: my $k; my $v; my %a; :( *%a ( :key($k), :value($v)) ) := :a; $k.say; $v.say;
01:17 camelia rakudo-moar 780192: OUTPUT«a␤True␤»
01:18 skids sena_kun: ^^ if you have your heart set on destructuring
01:21 sena_kun skids, it looks, hm... It looks somewhat unclear and hard to read. So .kv will be better, I suppose. Thanks anyway. And it's already time to go to sleep, probably.
01:26 awwaiid m: <1 2 3 4 5>.map: { $_ + 1}.map: { $_ + 1 } # I guess you can't chain when using precidence-:
01:26 camelia rakudo-moar 780192: OUTPUT«Cannot call map(List: Seq); none of these signatures match:␤    ($: Hash \h, *%_)␤    (\SELF: &block;; :$label, :$item, *%_)␤    (HyperIterable:D $: &block;; :$label, *%_)␤  in block <unit> at /tmp/i3UpcpL3rh line 1␤␤»
01:27 awwaiid m: <1 2 3 4 5>.map({ $_ + 1}).map: { $_ + 1 }
01:27 camelia rakudo-moar 780192: ( no output )
01:27 awwaiid m: say <1 2 3 4 5>.map({ $_ + 1}).map: { $_ + 1 }
01:27 camelia rakudo-moar 780192: OUTPUT«(3 4 5 6 7)␤»
01:30 josgraha_ joined #perl6
01:31 gtodd joined #perl6
01:31 Juerd I like *
01:31 Juerd m: say <1 2 3 4 5>.map(* + 1).map: * + 1
01:31 camelia rakudo-moar 780192: OUTPUT«(3 4 5 6 7)␤»
01:33 Juerd m: say <1 2 3 4 5>.map:* + 1 . map: * + 1
01:33 camelia rakudo-moar 780192: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0znbh_VazC␤Confused␤at /tmp/0znbh_VazC:1␤------> 3say <1 2 3 4 5>.map:7⏏5* + 1 . map: * + 1␤    expecting any of:␤        colon pair␤»
01:33 sortiz Juerd, ZoffixWin, Seems that the problem with ++  and -- vs native is that those operators are implemented by .succ and .pred, that as methods upgrade the native to Int loosing all size info.
01:34 Juerd m: say <1 2 3 4 5>.map: * + 1 . map: * + 1
01:34 camelia rakudo-moar 780192: OUTPUT«(2 3 4 5 6)␤»
01:34 Juerd m: say(<1 2 3 4 5>.map: * + 1 . map: * + 1)
01:34 camelia rakudo-moar 780192: OUTPUT«(2 3 4 5 6)␤»
01:34 Juerd Hmm
01:34 Juerd Precedence games are hard. Hurrah for simple expressions.
01:34 TimToady . is tighter than +
01:35 Juerd I'll stick to just using : only once per expression :)
01:36 * Juerd really likes the : for method calls
01:36 Juerd That is, with .
01:38 leont It combines well with whateber expressions, and blocks in general
01:38 Juerd TimToady: Not specifically referring to indirect object notation, but more a general question: is it likely that features are removed from the language in 6.d, if it turns out that almost nobody appears to use them?
01:38 TimToady that depends on whether I use them :)
01:39 Juerd Fair enough :)
01:40 Juerd leont: I just don't like having lots of parens and brackets
01:41 Juerd : is a great way to remove one layer without sacrificing clarity
01:42 Juerd And although I forgot why : was needed for method calls, but not for function calls, I got used to it much faster than I expected
01:43 TimToady foo.bar is assumed to not take arguments because it's often just an attribute
01:43 Juerd Ah :)
01:47 gtodd1 joined #perl6
01:47 awwaiid m: sub hmm(*@args, *%args) { say @args.perl; say %args.perl } ; hmm(:fish, 5, :food, 10) # I think the answer is "no", but there's no way to get (:fish, 5, :food, 10) in-order-params, right?
01:47 camelia rakudo-moar 780192: OUTPUT«[5, 10]␤{:fish, :food}␤»
01:48 leont I hit the same issue before, I don't think there is
01:48 Juerd Hm, did something during runtime get much faster recently? I have this thing that "feels" faster.
01:48 awwaiid I asked before and I think it was "no", but thought I'd triple check :)
01:49 Juerd awwaiid: If you want that, don't you actually want an array instead of arguments?
01:49 kaare_ joined #perl6
01:51 awwaiid Juerd: yes... but I want to call it without explicitly passing an array. This is for calling a proxy to a ruby method, and the ideal would be to get one list of args like this
01:53 Juerd You'll need some kind of wrapping
01:54 Juerd An array, a capture (\:fish), your own pair-creating operator...
01:54 vendethiel joined #perl6
01:56 Juerd sub prefix:<:-> { $^key => True }; sub bar { dd @_ }; bar(:-"fish", 5, :-"food", 10)
01:56 Juerd m: sub prefix:<:-> { $^key => True }; sub bar { dd @_ }; bar(:-"fish", 5, :-"food", 10)
01:56 camelia rakudo-moar 780192: OUTPUT«[:fish, 5, :food, 10]␤»
01:57 Juerd m: sub bar { dd @_ }; bar($ = :fish, 5, $ = :food, 10)
01:57 camelia rakudo-moar 780192: OUTPUT«[:fish, 5, :food, 10]␤»
02:00 sortiz m: sub hmm(|args) { my @args = |args.list, |args.hash; say @args.perl } ; hmm(:fish, 5, :food, 10)
02:00 camelia rakudo-moar 780192: OUTPUT«[5, 10, :food, :fish]␤»
02:02 sortiz Close but not what you want.
02:02 Juerd m: sub bar { dd @_ }; bar: :fish, 5, :food, 10;
02:02 camelia rakudo-moar 780192: OUTPUT«WARNINGS for /tmp/aAYG1jK4at:␤Useless use of constant integer 10 in sink context (lines 1, 1)␤Useless use of ":fish" in sink context (lines 1, 1)␤Useless use of ":food" in sink context (lines 1, 1)␤Useless use of constant integer 5 in sink context …»
02:02 Juerd Ah, that only "worked" in the repl because the repl gave the "sunk" (not really) output
02:03 Juerd I wonder what bar: actually is there.
02:04 ZoffixWin m: say <1 2 3 4 5>.map:* + (1 . map: * + 1)
02:04 camelia rakudo-moar 780192: OUTPUT«5===SORRY!5=== Error while compiling /tmp/HSTcpQTVCE␤Confused␤at /tmp/HSTcpQTVCE:1␤------> 3say <1 2 3 4 5>.map:7⏏5* + (1 . map: * + 1)␤    expecting any of:␤        colon pair␤»
02:04 ZoffixWin m: say (<1 2 3 4 5>.map:*) + 1 . map: * + 1
02:04 camelia rakudo-moar 780192: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Ldh0Ya1pVu␤Confused␤at /tmp/Ldh0Ya1pVu:1␤------> 3say (<1 2 3 4 5>.map:7⏏5*) + 1 . map: * + 1␤    expecting any of:␤        colon pair␤»
02:04 * ZoffixWin shrugs
02:05 AlexDaniel ZoffixWin: what are you doing?? /o\
02:05 AlexDaniel :)
02:05 ZoffixWin How is this interpreted? say <1 2 3 4 5>.map:* + 1 . map: * + 1
02:05 AlexDaniel m: say <1 2 3 4 5>.map((* + 1). map: * + 1)
02:05 camelia rakudo-moar 780192: OUTPUT«Cannot call map(List: Seq); none of these signatures match:␤    ($: Hash \h, *%_)␤    (\SELF: &block;; :$label, :$item, *%_)␤    (HyperIterable:D $: &block;; :$label, *%_)␤  in block <unit> at /tmp/6VukmGgPDs line 1␤␤»
02:05 Juerd ZoffixWin: It's a silly thing to even attempty. Utterly unreadable. I'm sorry for suggesting it.
02:05 Juerd s/attempty/attemp/
02:06 Juerd Argh. s/attemp/attempt/
02:06 AlexDaniel :D
02:06 ZoffixWin I just wanna know what it's doing :P)
02:06 ZoffixWin We really need the equvalent of perlbot's deparse :)
02:06 Juerd Build it :)
02:06 AlexDaniel ZoffixWin: (1 . map: * + 1) looks like the right one
02:06 ZoffixWin <ZoffixWin> perlbot, deparse: say 42 / 2 /3
02:06 ZoffixWin <perlbot> ZoffixWin:  no feature ':all'; use feature ':5.16'; say(7);
02:06 ZoffixWin AlexDaniel, but the result doesn't match
02:07 ugexe m: my @a = gather for [1,2,3] -> $chunk { say "chunk: {$chunk.perl}"; &?BLOCK($_ * 2) for $chunk.list.grep(*.say); }; # is &?BLOCK() supposed to point at the for loop if its blockless?
02:07 Juerd Oh, the boilerplate!
02:07 camelia rakudo-moar 780192: OUTPUT«chunk: 1␤1␤Memory allocation failed; could not allocate 24 bytes␤»
02:07 ZoffixWin It would result in say <1 2 3 4 5>.map:* + 2
02:07 awwaiid hehe
02:07 AlexDaniel m: say <1 2 3 4 5>.map: * + 1 . map: * + 1
02:07 camelia rakudo-moar 780192: OUTPUT«(2 3 4 5 6)␤»
02:07 AlexDaniel oh well
02:07 AlexDaniel I'm blind
02:08 ZoffixWin m: say <1 2 3 4 5>.map: { $^a + 1 . map: $^b + 1 }
02:08 camelia rakudo-moar 780192: OUTPUT«Cannot call map(Int: Int); none of these signatures match:␤    ($: Hash \h, *%_)␤    (\SELF: &block;; :$label, :$item, *%_)␤    (HyperIterable:D $: &block;; :$label, *%_)␤  in block <unit> at /tmp/luyMKO997O line 1␤␤»
02:08 ZoffixWin m: say <1 2 3 4 5>.map: { $^a + 1 . map: * + 1 }
02:08 camelia rakudo-moar 780192: OUTPUT«(2 3 4 5 6)␤»
02:08 AlexDaniel wait, look
02:08 AlexDaniel m: say <1 2 3 4 5>.map: * + 1 . map: * + 1
02:08 camelia rakudo-moar 780192: OUTPUT«(2 3 4 5 6)␤»
02:08 AlexDaniel m: say <1 2 3 4 5>.map: * + (1 . map: * + 1)
02:08 camelia rakudo-moar 780192: OUTPUT«(2 3 4 5 6)␤»
02:09 ZoffixWin but that result makes no sense
02:09 ZoffixWin m: say <1 2 3 4 5>.map: * + (1 . map: * + 2)
02:09 camelia rakudo-moar 780192: OUTPUT«(2 3 4 5 6)␤»
02:09 ZoffixWin m: say <1 2 3 4 5>.map: * + (1 . map: * + 10)
02:09 camelia rakudo-moar 780192: OUTPUT«(2 3 4 5 6)␤»
02:09 ZoffixWin m: say <1 2 3 4 5>.map: * + (10 . map: * + 10)
02:09 camelia rakudo-moar 780192: OUTPUT«(2 3 4 5 6)␤»
02:09 ZoffixWin :S
02:09 ZoffixWin Ah
02:09 ZoffixWin tis a list of 1 -_-
02:09 AlexDaniel :)
02:09 AlexDaniel ZoffixWin: yeah, my brain falls out when I see something like that
02:10 AlexDaniel I just hope that I will never see something like that in a real code
02:10 AlexDaniel I love : though
02:11 xpen joined #perl6
02:11 awwaiid for some reason I thought you could map: { ... }.map: { ... }, but I guess not
02:11 awwaiid makes more sense that you can't
02:12 Juerd If you use the loose . you'll have to use () around your arguments to keep things in line with what you'd expect.
02:12 ZoffixWin I kinda wish there was SOME method to continue the chain, without having to go BACK and change to ()
02:12 ZoffixWin like .map: {} :.map: {}
02:13 Juerd Ew
02:13 ZoffixWin :(
02:13 Juerd I use : for impure methods mostly
02:13 Juerd And I don't like chaining those (I'm against returning self for the sake of chaining)
02:13 AlexDaniel awwaiid: well you can use ==> if you don't want parens
02:13 Juerd Works out well that way.
02:13 AlexDaniel m: say (<1 2 3> ==> map * + 1 ==> map * × 2)
02:13 camelia rakudo-moar 780192: OUTPUT«(4 6 8)␤»
02:13 ZoffixWin :o
02:14 ZoffixWin what sorcery is this
02:14 AlexDaniel feeds
02:14 Juerd If you want to do a bunch of methods on the same thing, instead of chaining, just use 'given'.
02:14 ZoffixWin m: say <a b c> ==> map *.succ ==> uc
02:14 camelia rakudo-moar 780192: OUTPUT«5===SORRY!5===␤Argument to "uc" seems to be malformed␤at /tmp/cLlAmEAipj:1␤------> 3say <a b c> ==> map *.succ ==> uc7⏏5<EOL>␤Other potential difficulties:␤    Unsupported use of bare "uc"; in Perl 6 please use .uc if you meant $_, or u…»
02:14 ZoffixWin m: say (<a b c> ==> map *.succ ==> uc)
02:14 camelia rakudo-moar 780192: OUTPUT«5===SORRY!5=== Error while compiling /tmp/BINVO1zrbY␤Unsupported use of bare "uc"; in Perl 6 please use .uc if you meant $_, or use an explicit invocant or argument, or use &uc to refer to the function as a noun␤at /tmp/BINVO1zrbY:1␤------> 3say…»
02:14 ZoffixWin m: say (<a b c> ==> map *.succ ==> .uc)
02:14 camelia rakudo-moar 780192: OUTPUT«5===SORRY!5=== Error while compiling /tmp/I6DgUGeGSC␤Sorry, do not know how to handle this case of a feed operator yet.␤at /tmp/I6DgUGeGSC:1␤------> 3say (<a b c> ==> map *.succ ==> .uc7⏏5)␤»
02:14 ZoffixWin :(
02:14 Juerd ZoffixWin: A little-known feature called 'feeds'. A long, long time ago, they were written as ~> and <~, but they lost that cuteness :)
02:15 AlexDaniel m: say (map * × 2 <== map * + 1 <== <1 2 3>)
02:15 camelia rakudo-moar 780192: OUTPUT«(4 6 8)␤»
02:15 AlexDaniel m: say (<a b c> ==> map *.succ » .uc)
02:15 camelia rakudo-moar 780192: OUTPUT«5===SORRY!5=== Error while compiling /tmp/wQtHkvS1te␤Missing infix inside hyper␤at /tmp/wQtHkvS1te:1␤------> 3say (<a b c> ==> map *.succ »7⏏5 .uc)␤    expecting any of:␤        infix␤        infix stopper␤»
02:15 AlexDaniel m: say (<a b c> ==> map *.succ».uc)
02:15 camelia rakudo-moar 780192: OUTPUT«((B) (C) (D))␤»
02:15 Juerd map *.uc
02:16 AlexDaniel Juerd: sure but what if I don't want map
02:16 Juerd Why wouldn't you want a map? Do you WANT to get lost?
02:16 Juerd Here, have a map.
02:16 AlexDaniel m: say (<a b c> ==> map *.succ)».uc
02:16 camelia rakudo-moar 780192: OUTPUT«(B C D)␤»
02:16 AlexDaniel ZoffixWin: here's the right one
02:19 AlexDaniel m: say ((map *.uc <== <a b c>) ==> map *.succ) # haha
02:19 camelia rakudo-moar 780192: OUTPUT«(B C D)␤»
02:26 webstrand joined #perl6
02:26 vendethiel joined #perl6
02:29 laz78 joined #perl6
02:32 kid51 joined #perl6
02:37 webstrand I've got a for loop, for $a .. $b -> $n {}. Is it possible to specify that the elements of the loop should all be FatRat?
02:43 sammers hello
02:45 sammers Native call is having issues finding libgd
02:45 sammers I am using 2015.12
02:45 molaf_ joined #perl6
02:45 sammers I have libgd2 / libgd3 installed
02:45 awwaiid greetings sammers
02:45 Hotkeys m: for 1/10.FatRat,2/10.FatRat ... 1.FatRat -> $n { $n.WHAT.say }
02:45 camelia rakudo-moar 780192: OUTPUT«(FatRat)␤(FatRat)␤(FatRat)␤(FatRat)␤(FatRat)␤(FatRat)␤(FatRat)␤(FatRat)␤(FatRat)␤(FatRat)␤»
02:45 sammers hi awwaiid
02:45 Hotkeys webstrand:
02:45 Hotkeys m: for (1/10,2/10 ... 1).map(*.FatRat) -> $n { $n.WHAT.say }
02:45 camelia rakudo-moar 780192: OUTPUT«(FatRat)␤(FatRat)␤(FatRat)␤(FatRat)␤(FatRat)␤(FatRat)␤(FatRat)␤(FatRat)␤(FatRat)␤(FatRat)␤»
02:45 awwaiid sammers: do you also have the -dev packages installed?
02:45 Hotkeys I don't know if there is a better way
02:45 Hotkeys but that's a way
02:46 sammers I do, but double checking...
02:47 awwaiid sammers: I'm installing libgd-dev locally to see what I get. What OS/setup are you using, and if you can paste a snippet somewhere that would help
02:49 sammers awwaiid, thanks, debian testing... also, these errors are coming from the perl6 GD module. I am trying to see if specifying the version in the native trait helps.
02:49 BenGoldberg joined #perl6
02:50 cognominal_ joined #perl6
02:50 sammers this is the code https://github.com/perl6-community-modules/perl6-GD/blob/master/lib/GD.pm
02:50 webstrand Hotkeys: Thanks.
02:51 Hotkeys or if the list is already fat rat then you're good too
02:51 awwaiid sammers: ah ok. I'll pull down that library and see if it works for me (debian sid)
02:51 sammers awwaiid: I have tried changing these `native('libgd')` to `native('libgd', $gd_version)` and testing different versions.
02:51 sammers awwaiid: thanks
02:53 sammers awwaid: just a quick update, when I specify v2 it seems to get further. but now it is returning 'Cannot locate native library 'liblibgd.so': liblibgd.so: cannot open shared object file: No such file or directory'. I know I don't have that file on my system...
02:53 webstrand Documentation for `/` and `//` seems to be broken on doc.perl6.org
02:53 awwaiid sammers: yeah, I get something like that with the panda test, I'm git cloning now
02:54 sortiz sammers, try without 'lib':   native('gd',...);
02:54 sammers awwaiid: thanks
02:54 sammers awwaiid: ok, will do...
02:55 awwaiid sammers: indeed -- when I do what soritz suggests it seems to load
02:55 awwaiid (though it does give me the version warning)
02:56 awwaiid sammers: looks like you might get to do a PR :)
02:56 sammers awwaiid: great, this is working here too.
02:56 sammers awwaiid: ha, ok, I will put it together after I test this a little more.
02:57 sortiz sammers, I use  native('gd',v3.0.0), no -dev needed.
02:58 sammers soritiz: ok, thanks. good to know.
03:00 gtodd joined #perl6
03:02 sammers soritiz, awwaiid: I will test this out on a couple other distros and submit a pr today
03:02 sammers er sortiz
03:14 Juerd webstrand: If you want to check whether they're all fatrats: for @foo -> FatRat $x { ... }
03:14 Juerd webstrand: If you want coerce them all to fatrats: for @foo -> FatRat() $x { ... }
03:18 vendethiel joined #perl6
03:19 TimToady m: for <1/10>.FatRat, 2/10 ... 1 -> $n { $n.WHAT.say }
03:19 camelia rakudo-moar 780192: OUTPUT«(FatRat)␤(FatRat)␤(FatRat)␤(FatRat)␤(FatRat)␤(FatRat)␤(FatRat)␤(FatRat)␤(FatRat)␤(FatRat)␤»
03:19 TimToady FatRat is sticky
03:20 TimToady so is Complex
03:22 Herby_ joined #perl6
03:22 Herby_ Evening, everyone!
03:22 webstrand TimToady: What do you mean by sticky? I've run into the problem that 0.FatRat.ceiling changes type for instance.
03:23 Herby_ o/
03:26 skids o/
03:27 TimToady ceiling by definition coerces to Integer; why would you expect it to stay FatRat?
03:27 TimToady Int I mean
03:27 Juerd TimToady: webstrand left
03:27 TimToady so he did...
03:28 Juerd Ask a question on irc, leave. That's a common pattern that I still don't understand.
03:30 sammers what is the best way to pass the version number (my $gd_version = v1) to the native trait? When I try to use it like this `native('gd', $gd_version)` I keep getting this warning: Use of uninitialized value $apiversion of type Any in string context. I have tried w / wo quotes, using Version...
03:33 Juerd I don't understand why the error message says $apiversion if you used $gd_version.
03:34 skids Try an --ll-exception?
03:34 grondilu it would make sense for FatRat.ceiling to return a FatRat.  For the same reason that $someInt.FatRat / $someDivisor does not return an Int.
03:34 Juerd Other than that, I'd expect 'my $the-variable = BEGIN v1' to fix it :)
03:34 grondilu m: say (3.FatRat / 3).WHAT
03:34 camelia rakudo-moar 780192: OUTPUT«(FatRat)␤»
03:35 grondilu but that may be me whining again about the Numeric model :P
03:35 Juerd grondilu: .ceiling exists to return integers, whereas / just happens to return them under the right circumstances.
03:37 noganex joined #perl6
03:37 sammers Juerd, $apiversion is from NativeCall guess_library_name
03:38 skids Well, C's ceil/floor/trunc/round stays the same type, FWIW, to get an int you need to use rint.
03:38 Juerd skids: C's strings don't do graphemes
03:38 Juerd So not really worth much, imo :)
03:39 sammers Juerd, ok, I just tested `my $gd_version = BEGIN v3;`, but am seeing the same warning.
03:39 Juerd sammers: I can't seem to reproduce it anyway...
03:39 sammers hmm
03:39 skids Juerd: True, just saying there's pecedent and people who may be conditioned to expect it.
03:39 Juerd skids: Quite likely
03:40 Juerd skids: And given the way C's types work, it's not even weird to do this in C
03:41 Juerd Those types are all about in-memory encoding.
03:48 xinming_ joined #perl6
03:58 ugexe m: my @a = eager gather for 1,2,3 { take $_; say @a.perl; } # is there a way to get at the values of @a from inside the gather loop?
03:58 camelia rakudo-moar 780192: OUTPUT«[]␤[]␤[]␤»
04:03 vendethiel joined #perl6
04:07 cdg joined #perl6
04:18 Actualeyes joined #perl6
04:20 xinming joined #perl6
04:29 [Coke] oh, hey, I said I'd do the release today and it's almost not today.
04:29 * [Coke] better get started!
04:29 raiph joined #perl6
04:31 vendethiel joined #perl6
04:47 dalek nqp: bcd8b2c | coke++ | VERSION:
04:47 dalek nqp: bump version
04:47 dalek nqp: review: https://github.com/perl6/nqp/commit/bcd8b2c8a2
04:48 dalek nqp: a28a304 | coke++ | tools/build/MOAR_REVISION:
04:48 dalek nqp: bump MOAR version
04:48 dalek nqp: review: https://github.com/perl6/nqp/commit/a28a3043dc
04:50 [Coke] nqp test failing.
04:50 [Coke] t/nqp/19-file-ops.t
04:50 [Coke] not ok 85 - lstat_time doesn't follow symlink
04:51 [Coke] these are new tests added by pmurius since Christmas.
04:52 [Coke] *pmurias
04:53 [Coke] anyone see a problem with commenting out the new failing test for now?
04:56 * [Coke] opens https://github.com/perl6/nqp/issues/274 for now.
04:57 dalek nqp: 89880e1 | coke++ | t/nqp/19-file-ops.t:
04:57 dalek nqp: don't run new failing test - Issue #274
04:57 dalek nqp: review: https://github.com/perl6/nqp/commit/89880e15cb
04:59 [Coke] if I do a git pull --rebase and submodules were updated , am I going to be pointing at the right version of the modules?
04:59 [Coke] or should we have a git submodules command as part of the nqp release?
05:00 lokien_ joined #perl6
05:01 [Coke] ... nevermind, forgot where the submodules were!
05:04 kanishka joined #perl6
05:09 [Coke] how can I see what commits are just on the prep branch?
05:17 dalek rakudo/2016.01-preparation: 0847886 | coke++ | README.md:
05:17 dalek rakudo/2016.01-preparation: First release of 2016
05:17 dalek rakudo/2016.01-preparation: review: https://github.com/rakudo/rakudo/commit/084788673a
05:17 dalek rakudo/2016.01-preparation: 0286472 | coke++ | docs/release_guide.pod:
05:17 dalek rakudo/2016.01-preparation: We appear to not want release names anymore.
05:17 dalek rakudo/2016.01-preparation: review: https://github.com/rakudo/rakudo/commit/02864727f9
05:17 dalek rakudo/2016.01-preparation: c6dcd93 | coke++ | docs/release_guide.pod:
05:17 dalek rakudo/2016.01-preparation: move release # down, expand warning on scheduling
05:17 dalek rakudo/2016.01-preparation: review: https://github.com/rakudo/rakudo/commit/c6dcd93691
05:17 dalek rakudo/2016.01-preparation: 5c09fe2 | coke++ | docs/announce/2016.01.md:
05:17 dalek rakudo/2016.01-preparation: improve release announcement
05:17 dalek rakudo/2016.01-preparation: review: https://github.com/rakudo/rakudo/commit/5c09fe26ec
05:18 cpage_ joined #perl6
05:23 raiph joined #perl6
05:24 vendethiel joined #perl6
05:27 dalek rakudo/2016.01-preparation: c6db1ea | coke++ | docs/announce/2016.01.md:
05:27 dalek rakudo/2016.01-preparation: fix people, get rakudo commits also
05:27 dalek rakudo/2016.01-preparation: review: https://github.com/rakudo/rakudo/commit/c6db1eac85
05:28 dalek rakudo/2016.01-preparation: 785728d | coke++ | docs/release_guide.pod:
05:28 dalek rakudo/2016.01-preparation: no longer named releases on the regular
05:28 dalek rakudo/2016.01-preparation: review: https://github.com/rakudo/rakudo/commit/785728d73e
05:30 dalek rakudo/2016.01-preparation: 2d9202c | coke++ | tools/build/NQP_REVISION:
05:30 dalek rakudo/2016.01-preparation: [release] bump NQP revision (RC)
05:30 dalek rakudo/2016.01-preparation: review: https://github.com/rakudo/rakudo/commit/2d9202cdd3
05:30 dalek rakudo/2016.01-preparation: a720624 | coke++ | VERSION:
05:30 dalek rakudo/2016.01-preparation: [release] bump VERSION
05:30 dalek rakudo/2016.01-preparation: review: https://github.com/rakudo/rakudo/commit/a720624a68
05:31 laz78 joined #perl6
05:33 [Coke] I'm going to end the night tonight with a RC tarball, not a full release, so we can get even more last minute testing.
05:39 llfourn_ [Coke]++
05:46 Cabanossi joined #perl6
06:01 ugexe m: my $x = do while (1) { LAST { die; }; };
06:01 camelia rakudo-moar 780192: OUTPUT«Died␤  in code  at /tmp/5VLfT9PIef line 1␤  in block <unit> at /tmp/5VLfT9PIef line 1␤␤»
06:01 ugexe m: my $x = do while (1) { FIRST { say "xxx"; }; LAST { die; }; };
06:01 camelia rakudo-moar 780192: OUTPUT«===SORRY!===␤Cannot reference undeclared local 'LOOP_BLOCK_1'␤»
06:06 [Coke] ok, RC tarballs and release tags available for testing.
06:07 [Coke] for 2016.01. special thanks to niner, jnthn & lizmat. (and everyone else I missed). also be sure to review the release announcement in the repo.
06:24 vendethiel joined #perl6
06:37 azawawi joined #perl6
06:37 azawawi hi and good morning #perl6
06:37 azawawi https://github.com/azawawi/scripts/blob/master/doc/magick-image.md    # Initial perl6-magickwand documentation in markdown format :)
06:48 azawawi what's Perl 6's counterpart to http://preshing.com/20110920/the-python-with-statement-by-example/ ?
06:49 azawawi s/counterpart/similar solution/
06:55 cdg joined #perl6
07:03 domidumont joined #perl6
07:04 vendethiel joined #perl6
07:08 domidumont joined #perl6
07:10 [Coke] m: my Int $a = 123; given $a { .flip.say }
07:10 camelia rakudo-moar 780192: OUTPUT«321␤»
07:11 [Coke] m: my Int $a = 123; given $a -> $b { $b.flip.say }
07:11 camelia rakudo-moar 780192: OUTPUT«321␤»
07:13 _Gustaf_ joined #perl6
07:13 [Coke] gnite, folks.
07:13 Actualeyes joined #perl6
07:14 sjoshi joined #perl6
07:14 CIAvash joined #perl6
07:17 labster joined #perl6
07:24 _Gustaf_ Morning all.
07:28 vendethiel joined #perl6
07:33 laz78 joined #perl6
07:37 [Tux] New failure (worked yesterday)
07:37 [Tux] ok 271 - new for Channel
07:37 [Tux] Internal error: zeroed target thread ID in work pass
07:41 nakiro joined #perl6
07:41 [Tux] https://gist.github.com/Tux/fb1b744f31d3ae317b16
07:42 firstdayonthejob joined #perl6
07:43 stmuk I saw that error on os x a week or two back but couldn't reproduce
07:46 laz78 joined #perl6
07:49 [Tux] print ""; seems to be enough 'delay' to make the test pass
07:51 nine .tell azawawi I'd say LEAVE phasers
07:51 yoleaux nine: I'll pass your message to azawawi.
07:55 abraxxa joined #perl6
07:57 [Tux] with that print temporarily added, here are today's timings …
07:57 [Tux] csv-ip5xs       18.047
07:57 [Tux] test            22.694
07:57 [Tux] test-t          12.645
07:57 [Tux] csv-parser      51.546
07:59 FROGGS joined #perl6
08:00 cdg joined #perl6
08:02 nwc10 joined #perl6
08:02 nwc10 good *, #perl6
08:03 nwc10 not sure if this is still the right channel...
08:03 nwc10 Unrecognized revision specifier '2016.01-RC1'
08:03 nwc10 and you now can't build rakudo.
08:03 nwc10 this is a bit LTA
08:04 nine Good morning! What actions gives you this message?
08:05 nwc10 perl Configure.pl --backends=moar --prefix=/home/nicholas/Sandpit/moar-san
08:05 nwc10 where that path has NQP built from HEAD
08:05 maxbracht joined #perl6
08:06 nwc10 $ /home/nicholas/Sandpit/moar-san/bin/nqp-m --version
08:06 nwc10 This is nqp version 2016.01-RC1 built on MoarVM version 2016.01
08:07 nwc10 er, at least, that's what I thought I was on. I'm now questioning the caffeine level of the problem that exists between the keyboard and the chair
08:08 nwc10 but I have a suspicion that it's something to do with https://github.com/rakudo/rakudo/commit/2d9202cdd3
08:09 nine Are you building that  branch?
08:09 nwc10 I'm on nqp master and rakudo nom
08:09 nwc10 so, arguably, no branches
08:09 nine Oh, I can reproduce here
08:10 nine That rakudo commit is in the 2016.01-preparation branch
08:10 nwc10 OK. Anyway, I do have a lack of coffee, so I'm AFK to fix this
08:11 nine Sounds like a pleasent idea :)
08:11 nine Oh...maybe I should do the same to fix my spelling...
08:13 darutoko joined #perl6
08:14 abraxxa joined #perl6
08:19 perlawhirl joined #perl6
08:19 bjz joined #perl6
08:19 abraxxa joined #perl6
08:23 labster joined #perl6
08:24 perlawhirl \quit
08:26 bjz joined #perl6
08:26 RabidGravy joined #perl6
08:41 zakharyas joined #perl6
08:41 ely-se joined #perl6
08:54 labster joined #perl6
09:02 nakiro joined #perl6
09:05 rindolf joined #perl6
09:13 abraxxa joined #perl6
09:22 pi4 joined #perl6
09:25 funrep is there a module for SSL sockets in perl6?
09:30 moritz yes
09:30 moritz funrep: pro typ: https://modules.perl6.org/ has a search function
09:30 moritz *tip
09:30 nine FOSDEM here we come :)
09:31 eiro \o/
09:31 eiro h-2 for us
09:31 brachtmax joined #perl6
09:34 funrep moritz: yeah saw that but the one listed there doesnt build unfourtunally
09:35 moritz funrep: maybe the correct question is "how do I get it to build?" instead of "is there one?"
09:35 lnrdo joined #perl6
09:35 moritz funrep: because you know there is one.
09:38 ref joined #perl6
09:39 funrep yeah, kinda jumped to conclusion it was a "hit and run" repo but looking at commit history it looks active, guess i can't expect too much from the ecosystem with such a young language
09:40 moritz well, did you read the README regarding what you need to build the module?
09:40 wamba joined #perl6
09:40 moritz if yes, and all the requirements are installed, please submit a bug report
09:41 moritz 'cause we can only fix the bugs that are reported to us
09:41 moritz (and just for the record: until 5 years ago or so it was a pain to buid perl 5 SSL modules as well, and at that time, the perl 5 ecosystem was well matured)
09:42 geekosaur haskell, with a more mature ecosystem, still has problems with SSL
09:43 geekosaur basically bootstrapping https support is insanely painful
09:43 geekosaur and becoming more so, because you generally have to download extra stuff to do it... over SSL
09:45 geekosaur and the base SSL support (openssl, gnutls, whatever) is large and complex enough that you really do not want to bundle it --- plus, since it's not "owned" by the language ecosystem, it then becomes harder to upgrade in case a security fix is released
09:45 FROGGS funrep: are you experiencing the same issues as these? https://travis-ci.org/sergot/openssl/builds/104348323#L1007
09:45 yoleaux 27 Jan 2016 21:49Z <gfldex_win> FROGGS: please check https://gist.github.com/anonymous/edae0ee546d071491a73
09:45 yoleaux 27 Jan 2016 21:56Z <ZoffixWin> FROGGS: One thing I notice right away is the MSI tells me nothing about WHERE it's copying the files. :/
09:45 yoleaux 27 Jan 2016 22:00Z <ZoffixWin> FROGGS: not sure if it's know, but since you only mentioned that site/bin needs to be added... I also had to add C:\rakudo\bin to path
09:45 yoleaux 27 Jan 2016 22:04Z <ZoffixWin> FROGGS: here's the conclusion of my testing RC2 and trying to install a module. perl6 itself seems to work and I tried Test.pm6 and it works too. https://gist.github.com/zoffixznet/b104d0f9a9f965c92dd3
09:46 labster joined #perl6
09:46 geekosaur (and reproducing your own has even nastier issues, cf. "don't roll your own crypto")
09:46 FROGGS .tell ZoffixWin yes, I want to add options to add stuff to path during installation, as well as displaying the needed paths (both in the wizard)
09:46 yoleaux FROGGS: I'll pass your message to ZoffixWin.
09:47 funrep i think i know the problem but i don't want to jump any conclusions once more, seems as simple as missing a native library
09:48 FROGGS .tell gfldex You are missing the prove tool.... I wonder how we can fix that easily
09:48 yoleaux FROGGS: I'll pass your message to gfldex.
09:49 FROGGS funrep: please no-paste your build output in case you are uncertain and get stuck
09:51 * RabidGravy is de-bitrotting 41 release or "in-progress" modules
09:51 nwc10 left #perl6
09:52 kanishka joined #perl6
09:52 RabidGravy funrep, IO::Socket::SSL works for me (I have modules that depend on it,) what platform are you on?
09:54 gfldex FROGGS: it's a clean windows install, if Rakudo doesn't bring it, it wont be there
09:54 yoleaux 09:48Z <FROGGS> gfldex: You are missing the prove tool.... I wonder how we can fix that easily
09:54 funrep im on ubuntu
09:55 funrep 15.10
09:55 pecastro joined #perl6
09:56 FROGGS gfldex: yes, we depended on strawberry shipping it
09:57 RabidGravy funrep, Hmm, I'd report the issue on github there shouldn't be a problem with it there at all
09:57 FROGGS bbl &
09:57 RabidGravy that is the github for IO::Socket::SSL
09:57 geekosaur unless they;re just missing a -dev package or something
09:57 brachtmax can somebody help me with the syntax of defining an Array of Integers...I tried
09:57 RabidGravy or OpenSSL (depending on where the issue is)
09:57 brachtmax my Array[Int] $var
09:58 brachtmax but doing a
09:58 brachtmax $var[0] = 8
09:58 brachtmax I get my fingers slapped:
09:58 RabidGravy m: my Int @a = 1,2,3,4; say @a;
09:58 camelia rakudo-moar 780192: OUTPUT«[1 2 3 4]␤»
09:58 moritz m: my Int @array
09:58 camelia rakudo-moar 780192: ( no output )
09:58 brachtmax Type check failed in assignment to $var; expected Array[Int] but got Array
09:59 moritz but IMHO typed arrays are usually more trouble than they are worth
10:00 funrep abraxxa: alright
10:00 brachtmax thanks - and yes I agree...I just wanted to understand the syntax - I'am teaching a perl5 class where I'am
10:00 funrep RabidGravy* sorry
10:00 abraxxa funrep: hm?
10:00 brachtmax saying a few words about perl6 and I got asked this question
10:01 geekosaur brachtmax, there's a few things going on there, some surprising until you understand why
10:01 geekosaur first off: `my Array[Int] $x` means that $x is a single item to which you can assign an array of Int
10:02 gfldex .seen hankache
10:02 yoleaux I saw hankache 27 Jan 2016 10:14Z in #perl6: <hankache> i got to run. FROGGS++ for the release
10:03 brachtmax oh ahh..that explains the error I got - thanks!!
10:03 geekosaur second is the surprising one: when you say $x[0], perl6 silently "corrects" that to $x. because that same "correction" lets you use lists and scalars interchangeably in the same way perl 5 did, instead of forcing you to coerce all the time
10:03 gfldex .tell hankache could you add (basic) typed arrays to the intro please?
10:03 yoleaux gfldex: I'll pass your message to hankache.
10:03 geekosaur (basically, if you use an array operation on a scalar, it pretends the scalar is a 1-element array)
10:03 Juerd geekosaur: s/array/list/?
10:04 geekosaur yeh
10:04 Juerd Or rather, a positional operation ... 1-element list?
10:04 * geekosaur should not be awake rigt now, brain is about half asleep and half bundle of anxiety :/
10:04 geekosaur yeh, I'm also trying to not be too pedantic
10:04 Juerd You can have the functional halve of my brain
10:05 Juerd I'm sick so I should be sleeping anyway
10:05 geekosaur perl5 monks like to haul in the deep pedanticism right off and it just scares people away (this IMO is a large part of why many people don't like perl(5) any more)
10:06 Juerd I'm not trying to be pedantic, I'm trying to get more details from you to understand the issue better myself
10:10 geekosaur I am trying to recall details, but I think it is in Any where it implements various Positional role methods by pretending a scalar value is a 1-element collection that does Positional
10:11 geekosaur and this makes a number of things work "as expected" but also results in this cute little edge case
10:11 moritz every DWIM comes with a WAT
10:11 geekosaur ^
10:11 domidumont joined #perl6
10:12 RabidGravy I think this in relation to the failing example shows it
10:12 RabidGravy m: my Array[Int] $a = Array[Int].new; $a[0] = 1; $a[1] = 2; say $a
10:12 camelia rakudo-moar 780192: OUTPUT«[1 2]␤»
10:12 geekosaur right, that's the first part of my explanation
10:12 moritz why do folks use $ for array variables?
10:12 RabidGravy dunno
10:13 geekosaur because it works for some things
10:13 Juerd moritz: I've seen two Perl beginners do this recently; they're just not used to @ and %.
10:13 RabidGravy I think it's because of the P5  ArrayRef thing
10:13 geekosaur m: my $a = 1, 2, 3; say $a[1]
10:13 camelia rakudo-moar 780192: OUTPUT«WARNINGS for /tmp/zW6dmoYmqI:␤Useless use of constant integer 2 in sink context (lines 1, 1)␤Useless use of constant integer 3 in sink context (lines 1, 1)␤Index out of range. Is: 1, should be in 0..0␤  in block <unit> at /tmp/zW6dmoYmqI line 1␤…»
10:13 geekosaur m: my $a = (1, 2, 3); say $a[1]
10:13 camelia rakudo-moar 780192: OUTPUT«2␤»
10:13 Juerd Non-perl languages apparentlydon't have separate sigils for arrays and hashes.
10:14 geekosaur you can't see that it's implictly assigning a list there, so you can end up thinking that the Array[Int] one would also Just Work
10:14 geekosaur putting a list container into the scalar, that is
10:15 geekosaur list-y, I should say, since I don't recall what actually goes in there
10:15 geekosaur m: my $x = (1, 2, 3). say $x.WHAT
10:15 camelia rakudo-moar 780192: OUTPUT«5===SORRY!5=== Error while compiling /tmp/cSwoq4grD9␤Two terms in a row␤at /tmp/cSwoq4grD9:1␤------> 3my $x = (1, 2, 3). say7⏏5 $x.WHAT␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement en…»
10:15 geekosaur derp
10:15 geekosaur m: my $x = (1, 2, 3); say $x.WHAT
10:15 camelia rakudo-moar 780192: OUTPUT«(List)␤»
10:16 geekosaur which is really just anoter example of every DWIM coming with a WAT
10:20 RabidGravy there, all de-bitrotted
10:22 apathor joined #perl6
10:23 flussence um, does anyone see the 2016.01-RC1 tag in a freshly cloned rakudo.git? I've had failing builds since ~5h ago because I don't
10:24 geekosaur heh. wonder if they forgot to push the commit with the tag
10:24 geekosaur (git is surprising that way if you're used to other VCSes)
10:25 flussence and it only happens on one machine. maybe github has some screwed up mirrors...
10:29 RabidGravy I'm always forgetting the --follow-tags
10:30 flussence oh never mind, it's gentoo at fault. does a shallow clone by default which doesn't get tags that aren't attached to a branch, which includes that one apparently...
10:34 perlawhirl joined #perl6
10:36 lnrdo joined #perl6
10:37 cognominal joined #perl6
10:42 jeek joined #perl6
10:42 domidumont joined #perl6
10:42 flussence nope, it's still confused. seems like 2016.01 really doesn't want to build unless I'm using --gen-moar
10:43 espadrine joined #perl6
10:46 ely-se joined #perl6
10:47 espadrine_ joined #perl6
10:48 flussence wait, it's NOT my fault at all! it's dying in tools/lib/NQP/Configure.pm line 52
10:50 fireartist joined #perl6
10:50 flussence ...which looks like it should be dying for everyone else too. I'm the only one who's actually tried to build the 2016.01 branch? *sigh*
10:51 nine flussence: [Coke] reported something like that in #perl6-release
10:52 perlawhirl RabidGravy: hi
10:53 RabidGravy erp
10:53 perlawhirl I never thanked you for IO::Path::Mode
10:53 perlawhirl so err, thanks!
10:53 wamba joined #perl6
10:53 RabidGravy :)  Glad it works for you
10:54 perlawhirl I was playing with it today and made a sort-of 'ls' using it: http://hastebin.com/isinubehin.pl'
10:54 RabidGravy I'd been meaning to make it for ages but never had sufficient impetus which you provided
10:56 perlawhirl glad i could help
10:57 RabidGravy I thought I had made a Str method
10:58 perlawhirl for  the perms?
10:58 RabidGravy yeas but no I didn't - false memory
10:59 perlawhirl well feel free to steal mine. i'm not sure if there's a more efficient way. i had that buried in an old perl5 script... i don't recall where i got it from
10:59 lnrdo joined #perl6
11:00 RabidGravy well, there's definitely a more generic way as all the bit shifting and masking is done
11:01 perlawhirl i tried making it more six-y. zipping the mode in binary with <r w x> ** 3, then doing something like : state $string ~= $b +& 1 ?? $s !! '-'
11:02 perlawhirl but it was slower than the bit-shifting
11:02 RabidGravy the .user .group and .other methods return an Int with the Permissions role
11:03 RabidGravy which gives it the .execute, .read and .write attributes
11:03 perlawhirl ah
11:03 perlawhirl i might play around with it some more. not that this ls script serves any purpose :D
11:06 cognominal joined #perl6
11:07 RabidGravy similarly file type and setuid, setuid, sticky and so forth all have accessors
11:07 RabidGravy on the main mode object
11:07 perlawhirl yes i did see those
11:08 perlawhirl but yeah, i had this bit-shifty thing in and old perl5 script, so i just copy/pasted, translated a few operaters and dusted my hands
11:09 RabidGravy I think the reason I didn't do Str was that I was in the middle of doing something else at the time
11:11 perlawhirl all good. i don't have a need for it outside of re-implementing ls, but feel free to add it
11:12 perlawhirl come to think of it, fairly certain golang file mode has it, so you may as well
11:12 perlawhirl ... can't have that gopher one-upping us :D
11:12 ab6tract joined #perl6
11:12 laz78 joined #perl6
11:12 ab6tract o/ #perl6
11:13 fireartist m: class A { has Str $.x is rw }; my $opts={foo=>q{bar}}; my $a=A.new; $a.x( $opts<foo> )
11:13 camelia rakudo-moar 780192: OUTPUT«Too many positionals passed; expected 1 argument but got 2␤  in block <unit> at /tmp/JQ2V5LQhMP line 1␤␤»
11:13 * fireartist is feeling very dim right now
11:14 Perleone Regex quantifier question: Is "/ [foo] * /" just a shorter version of "/ [foo] ** 0..* /"? That's how I read the docs.
11:14 RabidGravy m:  class A { has Str $.x is rw }; my $opts={foo=>q{bar}}; my $a=A.new; $a.x =  $opts<foo>; say $a.perl
11:14 camelia rakudo-moar 780192: OUTPUT«A.new(x => "bar")␤»
11:14 fireartist oh!
11:15 RabidGravy the accessor is a rw method with no arguments
11:16 fireartist I don't know why I'm finding this so difficult! :-)
11:16 ab6tract i have encountered a strange interaction between react and Proc::Async
11:16 ab6tract react { whenever "/tmp".IO.watch -> $c { my $cmd = Proc::Async.new('echo','foobles'); await $cmd.start } }
11:16 RabidGravy almost literally "method x() is rw ( $!x }"
11:16 travis-ci joined #perl6
11:16 travis-ci Doc build passed. sylvarant 'Merge pull request #9 from perl6/master
11:16 travis-ci https://travis-ci.org/sylvarant/doc/builds/105645504 https://github.com/sylvarant/doc/compare/08064cdee8fb...721f97610785
11:16 travis-ci left #perl6
11:17 ab6tract the await on a Proc::Async will break out of the react loop
11:17 ab6tract *most* of the time
11:18 RabidGravy you want it do that?
11:18 kaare_ joined #perl6
11:18 RabidGravy react { whenever "/tmp".IO.watch -> $c { my $cmd = Proc::Async.new('echo','foobles');  whenever $cmd.start { done } } } ; # or something
11:19 ab6tract RabidGravy: nope, i want it to keep reacting until i call done
11:19 RabidGravy then omit the done there
11:19 ab6tract i don't  have  a done in my example, but the react block still finishes
11:20 ab6tract if you touch multiple files, you will only get one 'foobles;
11:20 ab6tract *'foobles'
11:21 ab6tract or two if you are really lucky
11:23 RabidGravy react { whenever "/tmp".IO.watch -> $c { my $cmd = Proc::Async.new("echo","foobles");  whenever $cmd.start { say $c } } }
11:23 RabidGravy appears to work *forever* for me
11:24 ab6tract so the answer is: don't use await inside of react blocks?
11:24 ab6tract but the problem is that then you cannot call a subroutine which does normal await-y things
11:24 ab6tract could also be an
11:24 ab6tract OS X issues :/
11:24 RabidGravy well the inner whenever is the same as the await
11:25 ab6tract except that one works, and the other doesn't
11:25 ab6tract for me
11:25 RabidGravy it is the await that is problem
11:25 ab6tract do you see the same eternal behavior my initial example, RabidGravy ?
11:26 ab6tract ah, good to know...
11:29 ab6tract well, it's still broken for me :S
11:30 RabidGravy now I'm curious as to why the promise returned by start isn't working for the await
11:31 ab6tract RabidGravy: https://gist.github.com/ab5tract/d730a845a3915f7abdcf
11:31 ab6tract in my experiments, it seemed to also be related to IO.watch. IIRC, i was able to get the expected behavior when doing 'whenever Supply.interval(1)'
11:32 ab6tract so far my experiment into proving how simply perl 6 is for this kind of async script is not going so well :S
11:33 perlawhirl ab6tract: i get one fooble and nothing more
11:33 perlawhirl however...
11:33 blobo joined #perl6
11:33 perlawhirl if i do .IO.watch.stable(0.1) {
11:33 perlawhirl it seems to be find
11:33 perlawhirl s/find/fine/
11:33 perlawhirl don'e ask me why
11:33 perlawhirl hmm, don't ask me to type coherant sentences either
11:34 cdg joined #perl6
11:34 perlawhirl if you've ever watched a 'watch' file changes actually trigger something like 3 events really quickly
11:34 ab6tract perlawhirl: ... stable? :S
11:34 perlawhirl dunno, maybe that is causing some issue
11:35 perlawhirl stable waits until watch has been stable for n seconds
11:35 moritz the file events are *very* OS-specific :/
11:35 ab6tract could be. in my script i added a %seen lookup and use that in my whenever
11:35 perlawhirl so when you get that sudden rapid triger of 'watch' events, it waits until they are stable for a while
11:36 ab6tract perlawhirl: unfortunately that doesn't help my script's behavior :(
11:37 perlawhirl *shrug*
11:37 perlawhirl do you only get one fooble most of the time?
11:38 ab6tract perlawhirl: yes. but for the actual use case in https://gist.github.com/ab5tract/d730a845a3915f7abdcf, it bails immediately after i copy a .wav file to /tmp
11:40 gfldex if .pod files would be modules, would they be precompiled and the =pod stuff parsed faster?
11:45 perlawhirl ab6tract: trying now... i'm having the same issue, and stable is no help this time. i'm probably not smart enough to figure this out, but i'll poke around none-the-less
11:47 azawawi joined #perl6
11:48 azawawi hi
11:48 yoleaux 07:51Z <nine> azawawi: I'd say LEAVE phasers
11:48 azawawi nine: thx
11:54 lizmat commute to Brussels &
11:55 perlawhirl ab6tract: the good/bad news is it isn't happening to me... and i haven't changed anything. i was copying the same file over, didn't notice the whole %seen business
11:55 perlawhirl i only changed the input path, everything else unchanged and it works fine
11:55 perlawhirl i'm sorry
11:55 ab6tract perlawhirl: don't be!
11:55 perlawhirl did you solve it?
11:56 ab6tract so you are saying that this is happily chugging along for you, transcoding flacs ?
11:56 perlawhirl i don't have a large collection of wav's to throw at it... i downloaded one now, copied it a bunch of times with different names, and copied them to tmp
11:56 perlawhirl it did them all
11:56 ab6tract :( :(
11:56 ab6tract perlawhirl: are you on Linux?
11:57 ab6tract might be an OS X heisenbug
11:57 perlawhirl $*DISTRO == ubuntu (15.10.Wily.Werewolf)
11:58 perlawhirl i could fire up the wifes macbook and build rakudo on it to test if you'd like
11:58 ab6tract perlawhirl: only at your own pleasure
11:59 perlawhirl will give it a shot... tho if it works, it'll only baffle you more :D
12:01 ZoffixWin .
12:01 yoleaux 09:46Z <FROGGS> ZoffixWin: yes, I want to add options to add stuff to path during installation, as well as displaying the needed paths (both in the wizard)
12:04 rindolf joined #perl6
12:06 perlawhirl Zoffix: i believe it was this you were trying to do earlier
12:06 perlawhirl m: <a b c> ==> map *.succ ==> map *.uc
12:06 camelia rakudo-moar 780192: ( no output )
12:06 perlawhirl m: say <a b c> ==> map *.succ ==> map *.uc
12:06 camelia rakudo-moar 780192: OUTPUT«(a b c)␤»
12:07 perlawhirl hrm
12:07 perlawhirl that woks for me here
12:07 perlawhirl i get (B C D) in the repl
12:07 lnrdo joined #perl6
12:08 ZoffixWin m: say (<a b c> ==> map *.succ ==> map *.uc)
12:08 camelia rakudo-moar 780192: OUTPUT«(B C D)␤»
12:08 perlawhirl sure, there you go
12:09 perlawhirl you were feeding directly to .uc before, rather than feeding to map *.uc
12:09 ZoffixWin I see
12:13 perlawhirl the rosettacode on getting last fridays a good showcase of feeds, though i prefer to format my feeds on newlines like you would map/grep in perl5: http://hastebin.com/ahalutewiz.pl
12:14 * ZoffixWin still doesn't get the point of feeds
12:14 ZoffixWin m: say <a b c>».succ».uc
12:14 camelia rakudo-moar 780192: OUTPUT«(B C D)␤»
12:16 perlawhirl yes that is, umm hyper-feed or some such... basically send each item from your listy to the method
12:16 ZoffixWin m: say <a b c>».succ».uc
12:16 camelia rakudo-moar 780192: OUTPUT«(B C D)␤»
12:16 ZoffixWin m: say <a b c>».&({;.succ; .succ; .succ})».uc
12:16 camelia rakudo-moar 780192: OUTPUT«(B C D)␤»
12:16 ZoffixWin why is .succ called just once? :s
12:17 ZoffixWin Ah
12:17 ZoffixWin m: say <a b c>».&({.succ.succ.succ})».uc
12:17 camelia rakudo-moar 780192: OUTPUT«(D E F)␤»
12:20 Skarsnik joined #perl6
12:20 perlawhirl i dunno if there's a "point" to feeds. i'm sure a design doc might explain it, but i imagine they were added to allow maps to read left to right... maybe the .map method call was added later
12:21 Skarsnik Hello
12:21 ZoffixWin heh
12:21 ZoffixWin hai
12:23 moritz perlawhirl: left to right, yes; but also feeds are supposed to allow each part of a feed to run in a different thread
12:23 moritz perlawhirl: more like UNIX pipes, but with objects in the pipes
12:24 moritz perlawhirl: it's just that nobody has gotten around yet to implement them properly
12:24 perlawhirl thanks moritz
12:26 fireartist sorry, another silly newbie Q! How do I do `$.attr = 'a'` where the attr name is in a $variable? neither `$."$name"` or `self."$name"` work
12:27 ZoffixWin What about self."$name"('a')
12:27 moritz fireartist: an attribute access with . is just a method call
12:27 moritz fireartist: so self."$name"() = 'a'
12:31 perlawhirl_osx joined #perl6
12:32 perlawhirl_osx ab6tract: i’m up and running, rakudo built, about to test
12:34 fireartist I'm missing something, still can't get it to work
12:34 fireartist m: class A {has $.foo is rw; method bar($attr) { self."$attr"() = "ok" }}; my $a=A.new; $a.bar('foo'); $a.foo.say;
12:34 camelia rakudo-moar 780192: OUTPUT«ok␤»
12:35 fireartist hmm, on my command line, I'm getting "Undeclared routine: foo used at line 1"
12:35 perlawhirl_osx left #perl6
12:36 perlawhirl ab6tract: Survey says: X
12:36 perlawhirl it bails after the first copy on OSX
12:36 perlawhirl so it seems you've got yourself a bug
12:36 perlawhirl no prob seen on linux
12:37 perlawhirl fyi: $*DISTRO == macosx (10.10)
12:37 kid51 joined #perl6
12:37 Skarsnik oups, can someone remove https://github.com/sergot/http-useragent/blob/master/lib/HTTP/Cookies.pm6#L39 ?
12:41 AlexDaniel joined #perl6
12:45 perlawhirl_osx joined #perl6
12:48 JimmyZ shadowpaste: you could send a PR or submit a issue there
12:48 JimmyZ Skarsnik: ^^
12:49 ab6tract perlawhirl: thank you!
12:49 ab6tract good to know i ain't crazy
12:49 ab6tract sad to know that it's out of my hands :(
12:50 perlawhirl ab6tract: basic 'foobles' test also bails after one fooble, so at least you could raise a PR with a reproducable code snippit
12:50 ely-se joined #perl6
12:50 perlawhirl seems to be some issue with the promises
12:50 ab6tract perlawhirl: yeah, i wonder if 'done' somehow bubbles up
12:51 perlawhirl i wrapped the watch in a promise i never intend to keep and it still bails
12:51 perlawhirl YES! that was exaclty my thought
12:51 perlawhirl the 'exit' from your proc is somehow propagating to rakudo... somehow... maybe
12:52 rindolf So I wrote this script in Perl 6 and it seems incredibly slow - https://bitbucket.org/shlomif/shlomif-computer-settings/src/26a734408de227f91ec72f875595d73404c617c9/shlomif-settings/home-bin-executables/shlomif-specific/extract-perl5-ids.p6?fileviewer=file-view-default - is there anything I can do about it aside from reimplementing it in a faster language?
12:54 ab6tract .seen jnthn
12:54 yoleaux I saw jnthn 28 Jan 2016 22:16Z in #perl6: * jnthn stops answering things wrong and tries to get the MoarVM release right :)
12:54 ab6tract perlawhirl: i also tried wrapping in try/CATCH, but it never produces an exception
12:55 ab6tract m: react { whenever Supply.interval(1) -> $s { my $cmd = Proc::Async.new('echo','foobles'); await $cmd.start; done() if $++ == 5 } }
12:55 camelia rakudo-moar 780192: OUTPUT«Proc::Async is disallowed in restricted setting␤  in block <unit> at /tmp/HNnqXkCIWs line 1␤␤»
12:55 ab6tract naturally
12:55 perlawhirl hmm, yeah. seems to support that it's exiting gracefully.
12:55 perlawhirl i have an idea to test... one sec
12:59 perlawhirl hm, nvm... i just tried executing another perl script that exits with an error code as the Proc... the error code did not propogate up, but! unlike the echo, it never gets to the end
12:59 perlawhirl ie... i put a 'say "DONE";
12:59 perlawhirl at the end of the foobles scripts
12:59 perlawhirl it always says 'foobles' then done
12:59 ajr_ joined #perl6
12:59 perlawhirl when the Proc i ran was a p5 script that just did 'exit(123)' i never saw DONE
13:00 perlawhirl so yes, i would say the exit signal is bubbling up
13:00 perlawhirl in some manner
13:00 ab6tract to quote Bobby Singer: "balls"
13:01 FROGGS joined #perl6
13:03 timotimo http://blogs.perl.org/users/yary/2016/01/utf-16-and-windows-crlf-oh-my.html  -  do we have a problem with this on windows?
13:08 Skarsnik do you think it's a nice formating for the generated nc code for function in gptrixie? https://gist.github.com/Skarsnik/3f3bd0d14b7fd2c1f9ff
13:18 AlexDaniel I know that this is perhaps too late, but
13:18 AlexDaniel m: https://gist.github.com/AlexDaniel/8671421996b2053d05cb
13:18 camelia rakudo-moar 780192: OUTPUT«False Christmas Tree␤»
13:18 perlawhirl_osx joined #perl6
13:18 AlexDaniel it should be rendered like this: https://files.progarm.org/2016-01-29-151829_245x243_scrot.png
13:25 * ilmari can't find a package in debian for U+109C1 MEROITIC CURSIVE NUMBER TWO
13:26 * timotimo also can't see that character in his browser
13:26 timotimo .u ????
13:26 yoleaux U+10175 GREEK ONE HALF SIGN [No] (????)
13:27 ilmari .u U+11063
13:27 yoleaux U+11063 BRAHMI NUMBER NINETY [No] (????)
13:35 domidumont joined #perl6
13:37 gfldex m: my $a = Failure.new; say $a;
13:37 camelia rakudo-moar 780192: OUTPUT«Failed␤␤Actually thrown at:␤  in block <unit> at /tmp/DBSBIIaXxc line 1␤␤»
13:37 gfldex m: my $a is default(Failure.new); say $a;
13:37 camelia rakudo-moar 780192: OUTPUT«===SORRY!===␤Failed␤»
13:37 gfldex m: try { my $a = Failure.new; say $a; CATCH { default { say .backtrace.Str } } }; try { my $a is default(Failure.new); say $a; CATCH { default { say .backtrace.Str } } }
13:37 camelia rakudo-moar 780192: OUTPUT«  in block <unit> at /tmp/bUKpBJjktW line 1␤␤  in any  at src/Perl6/World.nqp line 2004␤  in any trait_mod:sym<is> at gen/moar/m-Perl6-Actions.nqp line 5060␤  in any trait_mod:sym<is> at src/Perl6/Grammar.nqp line 3101␤  in any trait_mod at /home…»
13:37 iH2O joined #perl6
13:37 Skarsnik hm, why reading $fh.lines[$index] I always get Nil values? The $index is not out of range and $fh.lines.elems is correct
13:37 gfldex m: try { my $a is default(Failure.new); say $a; CATCH { default { say .backtrace.Str } } }
13:37 camelia rakudo-moar 780192: OUTPUT«  in any  at src/Perl6/World.nqp line 2004␤  in any trait_mod:sym<is> at gen/moar/m-Perl6-Actions.nqp line 5060␤  in any trait_mod:sym<is> at src/Perl6/Grammar.nqp line 3101␤  in any trait_mod at /home/camelia/rakudo-m-inst-1/share/nqp/lib/Perl6/Gram…»
13:38 gfldex so the backtrace is actually there, Rakudo is just to lazy to show it
13:38 AlexDaniel gfldex: yeah. I don't think that it is right
13:38 iH2O so...laziness is sometimes a bad thing?
13:39 AlexDaniel especially given that it's something people actually want to do
13:39 gfldex i'm rakudobugging right now
13:39 AlexDaniel gfldex: great!
13:40 nine Just pushed a fix to panda with which it uses the downloaded meta data for installation instead of the cached one from the ecosystem. As I'm boarding my plane to FOSDEM now, please fix or revert it if it gives any problems.
13:42 * Perleone just loves the helpful perl6 compiler: Unsupported use of A as beginning-of-string matcher; in Perl 6 please use ^
13:42 Skarsnik Should I repport that IO::Handle.lines[] does not work?
13:44 Skarsnik does camelia has a file? x)
13:45 Skarsnik m: my $fh = open "foo"; say $fh.lines.elems; say $fh.lines[0];
13:45 camelia rakudo-moar 780192: OUTPUT«open is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting line 1␤  in sub open at src/RESTRICTED.setting line 9␤  in block <unit> at /tmp/u6xsvJGypf line 1␤␤»
13:45 perlawhirl Skarsnik: it works fine for me.
13:45 iH2O left #perl6
13:45 perlawhirl oh
13:46 Skarsnik perl6 -e 'my $fh = open "examples/test.h"; say $fh.lines.elems; say $fh.lines[0];'
13:46 Skarsnik 31
13:46 Skarsnik Nil
13:46 perlpilot Skarsnik: you've read all of the lines already, why shouldn't you get Nil?
13:46 Skarsnik the first line is an #include
13:46 AlexDaniel m: say lines.elems; say lines[0]
13:46 camelia rakudo-moar 780192: OUTPUT«20␤Nil␤»
13:46 AlexDaniel Skarsnik: ↑ here
13:46 AlexDaniel Skarsnik: camelia has some stdin
13:46 lucs m: my $s = "abcdef"; $s ~~ s:g/$_// for <a e>; say $s  # How do I fix this topicalization?
13:46 camelia rakudo-moar 780192: OUTPUT«abcdef␤»
13:46 azawawi https://github.com/azawawi/perl6-magickwand/blob/master/lib/MagickWand/NativeCall/Image.pm6  # Generated ImageMagick documentation  in POD format :)
13:46 Skarsnik so is that a bug?
13:47 Skarsnik I know line is a lazy list
13:47 AlexDaniel m: my @l = lines; say @l.elems; say @l[0]
13:47 camelia rakudo-moar 780192: OUTPUT«20␤Céad slán ag sléibhte maorga Chontae Dhún na nGall␤»
13:47 Skarsnik Yes if you do that it work
13:47 AlexDaniel m: say lines.WHAT
13:47 camelia rakudo-moar 780192: OUTPUT«(Seq)␤»
13:47 perlawhirl Skarsnik: instead of open, try my $fh = 'filename'.IO
13:47 perlpilot Skarsnik: When you say $fh.lines.elems, you've read to EOF to get the number of elems.
13:47 perlawhirl then $fh.lines[$index] should work
13:47 azawawi ~300 nativecall subs implemented so far :)
13:47 AlexDaniel Skarsnik: it's a Seq, so it does not keep them
13:48 Perleone m: say so "a,a" ~~ / ^ a % \, $ /
13:48 camelia rakudo-moar 780192: OUTPUT«5===SORRY!5=== Error while compiling /tmp/cREBCWyf9C␤Missing quantifier on the left argument of %␤at /tmp/cREBCWyf9C:1␤------> 3say so "a,a" ~~ / ^ a %7⏏5 \, $ /␤»
13:48 Skarsnik I think the cool thing with lazy list is to be populated on read access
13:48 Skarsnik but it should work here
13:49 Perleone m: say so "a,a" ~~ / ^ a+ % \, $ /
13:49 camelia rakudo-moar 780192: OUTPUT«True␤»
13:49 AlexDaniel Skarsnik: it's a seq, not a lazy list
13:49 Perleone m: say so "a, a,a,a" ~~ / ^ a+ % \,\s? $ /
13:49 camelia rakudo-moar 780192: OUTPUT«False␤»
13:49 Skarsnik Return a lazy list of the file's lines read via get, limited to $limit lines. The new line separator (e.g. $*IN.nl-in) will be excluded
13:49 Skarsnik from the doc on lines method on IO::Handle
13:50 Perleone m: my regex quan { \,\s? }; say so "a, a,a,a" ~~ / ^ a+ % <quan> $ /;
13:50 camelia rakudo-moar 780192: OUTPUT«True␤»
13:50 AlexDaniel My guess is that the doc is wrong then
13:50 geekosaur m: say *IN.lines.WHAT
13:50 camelia rakudo-moar 780192: OUTPUT«5===SORRY!5=== Error while compiling /tmp/eruIL8f7Ax␤Two terms in a row␤at /tmp/eruIL8f7Ax:1␤------> 3say *7⏏5IN.lines.WHAT␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        …»
13:50 geekosaur wgiios
13:50 geekosaur ...
13:50 geekosaur whoops
13:50 geekosaur m: say $*IN.lines.WHAT
13:50 camelia rakudo-moar 780192: OUTPUT«(Seq)␤»
13:50 Perleone m: my regex quan { \h* "," \h* }; say so "a, a,  a,a" ~~ / ^ a+ % <quan> $ /;
13:50 camelia rakudo-moar 780192: OUTPUT«True␤»
13:51 Perleone m: my regex quan { \h* "," \h* }; say so "a, a, a,a," ~~ / ^ a+ %% <quan> $ /;
13:51 camelia rakudo-moar 780192: OUTPUT«True␤»
13:51 abaugher_ joined #perl6
13:51 ZoffixW joined #perl6
13:51 AlexDaniel m: say lines.cache.elems; say lines.cache[0]
13:51 camelia rakudo-moar 780192: OUTPUT«20␤Nil␤»
13:51 AlexDaniel heh
13:51 ZoffixW Is there a way to make .rotor skip the first x elements?
13:51 ZoffixW m: say join " ", <Good Bon Buenos morning matin días>.rotor: 1 => 2;
13:51 camelia rakudo-moar 780192: OUTPUT«Good morning␤»
13:51 ZoffixW m: say join " ", <Good Bon Buenos morning matin días>.rotor: 2 => 2;
13:51 camelia rakudo-moar 780192: OUTPUT«Good Bon matin días␤»
13:52 AlexDaniel m: say join " ", <Good Bon Buenos morning matin días>[3..*].rotor: 1 => 2;
13:52 camelia rakudo-moar 780192: OUTPUT«morning␤»
13:52 Skarsnik m: for lines -> $f {say $f};
13:52 camelia rakudo-moar 780192: OUTPUT«5===SORRY!5===␤Function 'lines' needs parens to avoid gobbling block␤at /tmp/2p_kFBnRu3:1␤------> 3for lines -> $f {say $f}7⏏5;␤Missing block (apparently claimed by 'lines')␤at /tmp/2p_kFBnRu3:1␤------> 3for lines -> $f {say $f}7⏏…»
13:52 AlexDaniel ZoffixW:  why not use [3..*] ?
13:52 ZoffixW m: say join " ", <Good Bon Buenos morning matin días>[1..*].rotor: 1 => 2;
13:52 Skarsnik m: for $*IN.lines -> $f {say $f};
13:52 camelia rakudo-moar 780192: OUTPUT«Céad slán ag sléibhte maorga Chontae Dhún na nGall␤Agus dhá chéad slán ag an Eireagal ard ina stua os cionn caor is coll;␤Nuair a ghluais mise thart le Loch Dhún Lúich’ go ciúin sa ghleann ina luí␤I mo dhiaidh bhí gleanntáin ghlas’ G…»
13:52 camelia rakudo-moar 780192: OUTPUT«Bon matin␤»
13:52 ZoffixW AlexDaniel++ thanks :)
13:52 lucs m: my $s = "abcdef"; $s ~~ s:g/$_// for <a e>; say $s  # How to obtain "bcdf"?
13:52 camelia rakudo-moar 780192: OUTPUT«abcdef␤»
13:52 Skarsnik duh why it work for stdin
13:53 jnthn From backlog: lines returns a Seq, which is one-shot.
13:53 jnthn (like all Seqs)
13:53 geekosaur read further
13:53 jnthn Not sure why it ends up then giving Nil instead of dieing over an already consumed Seq
13:53 geekosaur spec says it's a lazy list
13:53 ZoffixW m: enum Languages <English French Spanish>; say join " ", <Good Bon Buenos morning matin días>[French..*].rotor: 1 => 2;
13:53 camelia rakudo-moar 780192: OUTPUT«Bon matin␤»
13:53 ZoffixW This is neat :D
13:54 Skarsnik doc say lazy list
13:54 Skarsnik not sure for the spec
13:54 jnthn Then it should probably be corrected to say Seq
13:54 lucs Meh, I hate "Bon matin". "Bonjour" ftw
13:54 jnthn s/probably//
13:54 ZoffixW lucs, Bonjour, sava!
13:55 jnthn It has to be a Seq, otherwise for $one-gig-file.lines { } will keep the whole thing in memory.
13:55 lucs Pas pire merci!
13:55 * geekosaur 's brain hurts at that rendition (in some sense) of ça va
13:55 Skarsnik jnthn, why? if it was a lazy list if will just read what is needed?
13:55 jnthn Skarsnik: Because a lazy list remembers things
13:56 lucs geekosaur: I'm lenient for the non-native speaker :)
13:56 ZoffixW :D
13:56 llfourn_ NaNquiete pas!
13:57 lucs llfourn_: That one I just don't get :)
13:57 jast Skarsnik: if you use .elems it needs to read everything to find out how many elems there are :)
13:57 llfourn_ I think I was trying to say inquiete pas :P (I did french in school)
13:58 lucs llfourn_: Ah, I see. Okay then, pas de problème!
13:58 jast also, once it's in there it stays until the whole variable gets reaped. so, iterating over a 1 gig file using a lazy list will still consume 1 gig of memory as it goes through the last line
13:58 * geekosaur was trying to figure out if that was a NaNcy-typing joke
13:58 Skarsnik hm, not sure if I want to add the original C code in my generated code for functions
13:58 llfourn_ if only my jokes were that good :\
13:59 ab6tract jnthn: not sure if you saw the scrollback, but there is weird and unfortunate behavior in react/whenever and Proc::Async on OS X
14:00 ab6tract i wonder if you could test on windows and see if it works correctly for you?
14:00 Actualeyes joined #perl6
14:00 lucs m: my $s = "AbcdEf"; $s ~~ s:g/$_// for <A E>; say $s  # I'd like "bcdf"; how to fix please?
14:00 camelia rakudo-moar 780192: OUTPUT«AbcdEf␤»
14:01 lucs (the :g is useless here, I didn't golf it down quite enough)
14:02 perlpilot lucs: ~~ topicalizes, so you'll have to use a regular for loop instead of the postfix form
14:02 perlpilot (and name your var something other than $_)
14:02 lucs Ah, too bad, but there it is.
14:02 lucs THanks
14:02 jnthn ab6tract: Not now, sorry, too much else to do here...please RT it if you didn't already
14:03 jnthn ab6tract: It wouldn't be the first thing where we ran into oddness on OSX, though...
14:06 Perleone m: my $s = "AbcdEf"; $s ~~ s:g/<[AE]>//; say $s; # lucs, does this work for you?
14:06 camelia rakudo-moar 780192: OUTPUT«bcdf␤»
14:06 Skarsnik is that too verbose? https://gist.github.com/Skarsnik/3f3bd0d14b7fd2c1f9ff x)
14:06 ab6tract jnthn: True. it's often the odd duck. that's supposed to be Windows' job! :)
14:07 perlpilot Perleone: I assumed lucs didn't want to do that for some reason since he's been around Perl forever and should be aware of character classes  :)
14:07 Skarsnik and this is not properly sorted ><
14:08 El_Che I hope you people are all packing for fosdem :)
14:08 ZoffixW I wish :(
14:09 perlpilot I'm on the wrong continent right now, so .... no.
14:09 Skarsnik Not so much money sadly :(
14:09 El_Che all pretty good reason, but still :)
14:09 lichtkind joined #perl6
14:09 ZoffixW When is it happening?
14:09 lucs Perleone: That would work, but my real code is more involved, and I wanted to keep the literal strings to substitute out of the regex.
14:09 El_Che ZoffixW: thiw weekend
14:10 * ZoffixW would be much happier if we have R* fully released before that
14:10 ZoffixW Unless that already happened last night...
14:10 El_Che ZoffixW: that would may us job as the perl booth easier, yes
14:10 El_Che but the debian approach also works: it's ready when it's ready :)
14:13 BooK jnthn: you live in Prague nowadays, right?
14:14 jnthn BooK: Yes
14:14 BooK ok, email incoming :-)
14:16 gfldex lolibloggedalittle! https://gfldex.wordpress.com/2016/01/29/now-they-made-array-a-container/
14:16 Perleone lucs: It seems that $_ does not quite do  what you expect it to in that context.
14:16 Perleone m: my $s = "AbcdEf"; { my $x=$_; $s ~~ s:g/$x// } for <A E>; say $s;
14:16 camelia rakudo-moar 780192: OUTPUT«bcdf␤»
14:17 BooK jnthn: your website still claims you live in Sweden, I was confused
14:18 perlawhirl m: my $s = "AbcdEf"; map { $s.=subst(/$_/, '') }, <A E>; say $s;
14:18 camelia rakudo-moar 780192: OUTPUT«bcdf␤»
14:18 perlawhirl lucs: how about that?
14:18 sammers hello, can anyone explain when to use `&function-name` vs `function-name` when passed as a function parameter? my-function(&foo) vs my-function(foo), or perhaps point me to the docs for this if possible...
14:18 funrep left #perl6
14:18 perlawhirl m: my $s = "AbcdEf"; map { $s.=subst("$_", '') }, <A E>; say $s;
14:18 camelia rakudo-moar 780192: OUTPUT«bcdf␤»
14:19 ZoffixW sammers, the & gives a code block to execute, while without it, you're calling the function and passing in its return valuie
14:19 sammers ah, that makes sense now...
14:19 sammers ok]
14:20 sammers so with & runs the function inside the caller? like a callback?
14:21 gfldex sammers: no, it returns a reference to the function/code object
14:21 gfldex m: sub f(){}; &f.^name;
14:21 camelia rakudo-moar 780192: ( no output )
14:21 gfldex m: sub f(){}; say &f.^name;
14:21 camelia rakudo-moar 780192: OUTPUT«Sub␤»
14:21 gfldex m: sub f(){}; say &f.WHAT;
14:21 camelia rakudo-moar 780192: OUTPUT«(Sub)␤»
14:21 sammers ah
14:21 sammers ok
14:22 skids joined #perl6
14:22 ZoffixW m: sub foo ($x) { $x ~~ Str ?? return "Tis a string" !! say "Not a string"; say $x("foo") }; say foo("foo"); foo(&uc)
14:22 camelia rakudo-moar 780192: OUTPUT«Tis a string␤Not a string␤FOO␤»
14:22 ZoffixW sammers, ^ you can call it, inside, yes
14:22 perlawhirl lucs: this is closer to what you wanted
14:22 perlawhirl m: my $s = "AbcdEf"; $s.=subst("$_", '') for <A E>; say $s;
14:22 camelia rakudo-moar 780192: OUTPUT«bcdf␤»
14:23 jnthn BooK: Yeah, I should find time to update that :)
14:23 sena_kun joined #perl6
14:23 lucs perlawhirl: Nice ideas, thanks.
14:24 ZoffixW m: my $s = "AbcdEf"; $s.subst-mutate: $_, '', :g for <A E>; say $s;
14:24 camelia rakudo-moar 780192: OUTPUT«bcdf␤»
14:24 perlawhirl if you subbing literal strings, the subst is better. subst('.', '') will strip literal dots, not any char
14:24 cdg joined #perl6
14:25 [Coke] can i get a show of hands of people who are having trouble with the -RC1 tag and what the actual problem is?
14:25 lucs subst-mutate? Heh, never heard of that one.
14:25 [Coke] and why this would impact people on nom, I have no odea.
14:25 [Coke] *idea
14:26 ZoffixW lucs, same as .subst except it mutates the invocant
14:26 lucs Yep, nice.
14:26 * lucs needs to read more docs, all the time...
14:26 [Coke] (granted, the RC1 crap was a new thing we've never done before, but then so is cutting a release from a branch other than nom
14:26 ZoffixW Well, almost same-as... the return value is different: http://docs.perl6.org/routine/subst-mutate
14:26 ab6tract .ask hoelzro are you on a Mac these days? I've got some Proc::Async weirdness that I have a feeling you might be able to help out on :)
14:26 yoleaux ab6tract: I'll pass your message to hoelzro.
14:27 ZoffixW Can anyone think of a good real-world example for when you'd use .rotor with different values for sublists, like
14:27 ZoffixW m: say ^10 .rotor(2 => -2, 3, 4)
14:27 camelia rakudo-moar 780192: OUTPUT«((0 1) (0 1 2) (3 4 5 6) (7 8) (7 8 9))␤»
14:29 perlpilot ZoffixW: not quite sure what you're asking.
14:29 perlawhirl 01:30 here in australia, way past my bedtime
14:29 perlawhirl 'night perlers
14:29 [Coke] g'nite
14:30 ZoffixW perlawhirl, I'm asking for a real-world example of where .rotor is useful when its arguments are a bunch of positions with different values.
14:30 ZoffixW s/positions/positionals/;
14:30 perlawhirl Zoffix: wasn't directly in relation to your question.. i am literally going to bed :D
14:30 perlpilot ZoffixW: but, the closest I can think right now is that there are some algorithms where you want to segregate your data into N data sets of variable size.
14:31 perlpilot ETOOMANYPERLPEOPLE
14:31 perlawhirl yeah i should change my name or something
14:31 perlawhirl i'll sleep on it
14:31 perlawhirl zZz
14:32 bbkr joined #perl6
14:32 raiph joined #perl6
14:32 [Coke] if you are having trouble with something relating to the temporary RC-1 items, please join us in #perl6-release; thanks.
14:33 bbkr r: multi sub infix:<==> (Int $a, Str $b) { $a == $b } # hangs with severe memory leak
14:33 * bbkr reports
14:33 camelia rakudo-moar 780192: OUTPUT«(timeout)»
14:33 camelia ..rakudo-jvm 6c0f93: ( no output )
14:35 jnthn bbkr: That's an infinite recursion, it's just creating stack frames forever, no?
14:35 jnthn Oh, *compiling* it fails o.O
14:36 bbkr jnthn: yes, operator is not invoked
14:36 moritz fun :-)
14:36 bbkr r: multi sub infix:<==> (Int $a, Int $b) { $a == $b }
14:36 camelia rakudo-jvm 6c0f93, rakudo-moar 780192: ( no output )
14:36 jnthn m: multi sub infix:<==> (Int $a, Str $b) { say 'called'; $a == $b }
14:36 camelia rakudo-moar 780192: ( no output )
14:36 jnthn m: multi sub infix:<==> (Int $a, Str $b) { $a == $b }
14:37 camelia rakudo-moar 780192: OUTPUT«(timeout)»
14:37 jnthn --stagestats is revealing
14:38 sammers joined #perl6
14:39 bbkr should this be reported or not? I know that there is some kind of recursion, but it should hang in runtime, not compile time. right?
14:39 lokien_ joined #perl6
14:39 flussence [Coke]: the NQP::Configure module has a hardcoded regex that doesn't like the -RC1 part of the tag (it expects YYYY.MM[.DD][-g$git_rev])
14:40 sena_kun m: say Buf.new(256); say Buf.new(512);
14:40 camelia rakudo-moar 780192: OUTPUT«Buf:0x<00>␤Buf:0x<00>␤»
14:40 sena_kun Is it 'by design'? Just interested.
14:41 FROGGS sena_kun: it should should throw instead IMO
14:42 jnthn bbkr: Certainly a bug
14:42 * bbkr reports
14:42 jnthn FROGGS, sena_kun: For natives we've so far given them "native"-ish overflow semantics
14:42 ZoffixW perlpilot, well, I came up with this example. Seems at least plausible as a real-world thing: https://gist.github.com/zoffixznet/47164b976de32a0b6a05
14:43 sena_kun jnthn, okay then.
14:43 FROGGS jnthn: ahh, I forgot that a Buf boils down to that
14:44 [Coke] flussence: weird that I was able to build it locally using that tag as a ref.
14:44 [Coke] obv. I wouldn't have pushed an RC tarball if it had exploded spectacularly.
14:45 perlpilot ZoffixW: Here's a real-world example from my distance past ... for computing significant wave height, you want to divide your water level dataset into a bunch of overlapping-windows with a cosine curve applied to 10% of the front and back of each window.
14:45 [Coke] I'll move this over to #perl6-release to find a good solution. Thanks!
14:45 ZoffixW perlpilot, :o
14:45 flussence [Coke]: I'm building moar/nqp/rakudo all from git HEAD, if that makes any difference
14:45 ZoffixW perlpilot, that might be too... out there... for a blog post :D
14:46 perlpilot ZoffixW: nah, it would just take lots of explanation :)
14:46 ZoffixW perlpilot, but thanks. I didn't even think of dynamically generating the groups to break up into
14:46 [Coke] flussence: on nom?
14:46 [Coke] or on the prep branch?
14:47 [Coke] (btw, I have some meetings I'm about to get dragged into)
14:47 flussence it's whatever github returns as the default branch, I've tried nuking my local clone and the error still happens
14:47 [Coke] so it's happening on nom? that's double-plus weird.
14:47 [Coke] one sec.
14:48 hoelzro ab6tract: I am not, unfortunately =/
14:48 yoleaux 14:26Z <ab6tract> hoelzro: are you on a Mac these days? I've got some Proc::Async weirdness that I have a feeling you might be able to help out on :)
14:48 [Coke] would also explain why I didn't see anything.
14:49 hoelzro ab6tract: what kind of weirdness?
14:49 [Coke] flussence: what's your Configure.pl line?
14:49 [Coke] or are you using something other than straight rakudo to build?
14:50 flussence I'm using some self-written gentoo packages, but they're pretty much all one-liner Configure commands. rakudo's is "perl Configure.pl --prefix=/usr --sysroot=/usr --backends=moar"
14:53 ab6tract hoelzro: exit signals from Proc::Async seem to bubble up and break out of react/whenever
14:53 [Coke] and at what point does the failure occur?
14:53 [Coke] my config step just completed fine on nom.
14:53 hoelzro ab6tract: do you have some example code?
14:53 [Coke] I think there's some other thing going on with the gentoo stuff.
14:54 ab6tract yup: https://gist.github.com/ab5tract/d730a845a3915f7abdcf
14:54 flussence pretty much straight away, first thing it prints is the die from line ~52
14:54 ab6tract perlawhirl was helping me a lot this morning
14:54 [Coke] (I did not use sysroot or prefex... wait, you don't --gen-moar ?)
14:54 [Coke] so are you installing moar and nqp separately and then doing rakudo?
14:55 ab6tract he was able to make a smaller case reproduce by Proc::Async'ing a perl script that just did 'exit(123)'
14:55 ab6tract but the behavior on linux seems to be sane
14:55 flussence [Coke]: yes; moar --version prints "This is MoarVM version 2016.01 built with JIT support"
14:55 flussence nqp is "This is nqp version 2016.01-RC1 built on MoarVM version 2016.01"
14:56 BooK hey ab6tract
14:56 ab6tract hey BooK :)
14:56 [Coke] flussence: why are you installing 2016.01-RC1 ?
14:57 [Coke] oh, right, you have no choice there.
14:57 [Coke] so, the answer is: there is no guarantee that HEAD/HEAD/HEAD always works.
14:57 BooK I'll be in A'dam next week!
14:58 [Coke] this is why we have versions specified at each level saying which version to work with at the lower level.
14:58 hoelzro ab6tract: I'll give it a whirl on FreeBSD later; that often catches OS X problems =)
14:58 [Coke] but you might have similar problems if someone pushes a change to NQP that rakudo isn't ready for.
14:58 Skarsnik gah libminixml is annoying to use ><
14:59 [Coke] ... that said, let me try something.
14:59 [Coke] ... nope, nqp's VERSION is 2016.01, not 2016.01-RC1
15:00 ab6tract hoelzro: cheers! thank you :D
15:00 [Coke] why is it reporting the -tag- and not the actual declared VERSION, I wonder.
15:00 flussence it's probably relying too much on git-describe
15:06 sammers joined #perl6
15:11 xpen joined #perl6
15:12 ZoffixW Hah! This is cool: perl6 -e 'say ^2000 .rotor( (0.2, 0.4 ... 3).map: (10 * *.sin).Int ).join: "\n"'
15:12 ZoffixW Gives a sinusoidal pattern of digits :D
15:13 BooK cute
15:13 lizmat joined #perl6
15:14 FROGGS lol
15:17 lnrdo joined #perl6
15:29 ugexe m: my $x = do while ( 1 ) { state $a++; say $a; }; say $x; # $a is always 1
15:29 camelia rakudo-moar 780192: OUTPUT«1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤…»
15:30 ugexe m: do while ( 1 ) { state $a++; say $a; };
15:30 ab6tract ugexe: maybe you want to put a last in there so it actually stops sometime?
15:30 camelia rakudo-moar 780192: OUTPUT«(timeout)1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50␤51␤5…»
15:30 ugexe it doesnt help demonstrate anything about the bug
15:31 ugexe and i found it because a `last` on the state variable was not working :)
15:31 ab6tract m: my $x = do while ( 1 ) { state $a; $a++; last if $a == 20 }; say $x
15:32 camelia rakudo-moar 780192: OUTPUT«(timeout)»
15:32 ab6tract ummmm... :S
15:32 ab6tract m: my $x = do while ( 1 ) { state $a; last if $a == 20; $a++; }; say $x
15:32 camelia rakudo-moar 780192: OUTPUT«Use of uninitialized value of type Any in numeric context  in block  at /tmp/0NmCvjIMxO line 1␤Use of uninitialized value of type Any in numeric context  in block  at /tmp/0NmCvjIMxO line 1␤Use of uninitialized value of type Any in numeric context  in …»
15:33 ab6tract m: my $x = do while ( 1 ) { state $a//=0; last if $a == 20; $a++}; say $x
15:33 camelia rakudo-moar 780192: OUTPUT«(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...)␤»
15:34 ugexe it is strange that without assignment that it works ok
15:34 salv0 joined #perl6
15:37 azawawi 616 nativecall subs are finally wrapped in magickwand. Now the OO sugar :)
15:38 azawawi and working on ubuntu/debian/osx and windows :)
15:38 ZoffixW m: my $x = 0; for ^50 { state $a//=0; $a++; if $a == 20 { $x = $a; last } }; say $x
15:38 camelia rakudo-moar 780192: OUTPUT«20␤»
15:40 ugexe there is no problem figuring out how to do the loop. the problem is why the example loop acts differently than it should
15:40 ugexe do while ... works. my $x = do while ... does not
15:42 xpen_ joined #perl6
15:42 ZoffixW Right. rakudobug it :)
15:43 ugexe im still investigating it so i can give a give report, but yes
15:43 ugexe give a good^
15:44 yurivish_ joined #perl6
15:44 flussence it's sinking the loop result that causes it
15:44 flussence --target=ast might be useful to look at
15:44 ugexe m: my $x = do { while ( 1 ) { state $a++; say $a; }; };
15:44 ugexe adding blocks to `do` makes it act as expected
15:45 camelia rakudo-moar 780192: OUTPUT«(timeout)1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50␤51␤5…»
15:45 Perleone left #perl6
15:48 ZoffixW New post "Perl 6 .rotor: The King of List Manipulation": http://blogs.perl.org/users/zoffix_znet/2016/01/perl-6-rotor-the-king-of-list-manipulation.html
15:49 * azawawi reads it
15:49 * ugexe wishes rotor had control options like supply for changing the parameters
15:50 fireartist last question of the day (I promise!) - I'm trying to call `self.parent!foo();` # getting "No such private method 'foo' for invocant of type 'MyParent'"
15:51 fireartist what's the magic syntax for calling a private method on an object I'm storing in an attribute?
15:52 Skarsnik azawawi, you should try to make gptrixie generate fake oo stuff
15:52 khw joined #perl6
15:52 azawawi Skarsnik: now i have pod :) https://github.com/azawawi/perl6-magickwand/blob/master/lib/MagickWand/NativeCall/Image.pm6
15:52 Skarsnik azawawi, should not be that hard. like identify function that start with a object* argment and regroup them
15:53 azawawi Skarsnik: im focusing on more documentation and tests first
15:53 azawawi Skarsnik: also user guide
15:53 azawawi Skarsnik: something like http://docs.wand-py.org/en/0.4.2/index.html
15:54 Skarsnik Not sure if it that usefull to copy the doc for a stray binding x)
15:56 azawawi Skarsnik: nope i took it from the original :)
15:56 perlpilot Zoffix++
15:58 boegel joined #perl6
15:58 sjn_phone joined #perl6
16:00 fireartist aha - found `trusts` in the docs - that's what I want!
16:02 azawawi ZoffixWin++
16:03 azawawi at least i learned about .indent :)
16:04 sjn_phone joined #perl6
16:05 flussence wasn't someone complaining about that being slow a few days ago? might be some LHF...
16:05 sjn_phone joined #perl6
16:06 azawawi do we have something like Devel::Cover in Perl 6?
16:07 flussence timotimo had something like that working for CORE.setting...
16:08 * skids has a bitrotted indent PR he should really get back to.
16:13 donaldh joined #perl6
16:13 donaldh .
16:13 yoleaux 28 Jan 2016 17:50Z <hoelzro> donaldh: godspeed, sir
16:16 donaldh okay, so root cause of "Missing serialize function for REPR ContextRef" is https://github.com/rakudo/rakudo/blob/nom/src/core/CompUnit/Repository/Locally.pm#L12
16:16 azawawi https://ci.appveyor.com/project/azawawi/perl6-magickwand/history  # AppVeyor (windows 7 x64): 41 minute record build time :)
16:17 donaldh Assigning to %instances causes a reposession into the compiling SC
16:17 hoelzro donaldh++
16:17 Skarsnik 41 min rofl
16:18 hoelzro donaldh: so how is it that CompUnit::Handle's module_ctx ends up holding a ContextRef?
16:18 azawawi Skarsnik: it is delayed... travis ci has already finished all those builds :)
16:21 donaldh hoelzro: that's what it's meant to hold, no?
16:21 hoelzro donaldh: I have no idea; I just know that ContextRefs aren't supposed to be serialized, right?
16:21 azawawi so we do not have any destructors just LEAVE phasers,  right? and DESTROY submethod  is pretty much useless to native code handle cleanup
16:21 donaldh hoelzro: but the whole CompUnit::* subtree should never be serialized into a CompUnit AFAIK.
16:22 Skarsnik azawawi, you can still have destroy, it will maybe called at some point
16:22 hoelzro ahhh
16:22 Skarsnik just not when going out of scope like in c++
16:22 hoelzro so that %instances assign somehow makes nqp-j think that they should?
16:23 azawawi at least java has finalize
16:23 mohae joined #perl6
16:23 hoelzro azawawi: how is finalize different from DESTROY?
16:24 donaldh hoelzro: Well, assigning to "my %instances" in the CompUnit::Repository::Locally role causes a reposession of that hash into the compiling CompUnit's SC. So that pulls a bunch of CompUnit::* objects into the compiling SC.
16:24 hoelzro ah ha
16:24 azawawi well DESTROY seems never to be called
16:24 Skarsnik never sucks x)
16:24 Skarsnik it should still be called x)
16:24 hoelzro azawawi: it does, but it *may* not be called if the program exits and you don't use --full-cleanup
16:24 * donaldh wonders if nqp::neverrepossess is useful here...
16:25 RabidGravy ab5tract, https://github.com/jonathanstowe/Tinky/blob/master/examples/encode-files - works fabulously
16:25 RabidGravy :)
16:25 RabidGravy also found a rather amusing bug that I had to fix first
16:25 rindolf joined #perl6
16:25 azawawi i hate it when one cant control a certain behavior
16:26 Skarsnik azawawi, don't know if it's helpful, but I changed gptrixie function output: https://gist.github.com/Skarsnik/3f3bd0d14b7fd2c1f9ff
16:26 Skarsnik I think we still need control over stuff like when something is deleted, like to close a connection, free NC memory...
16:27 azawawi Skarsnik: doc is in .c file not the header for ImageMagick
16:27 Skarsnik It's not the doc, it's the C definition
16:28 azawawi Skarsnik: thanks, i will use it in upcoming projects :)
16:28 azawawi Skarsnik++
16:28 donaldh hoelzro: Commenting out L12 of CompUnit::Repository::Locally makes the problem go away. Presumably the side-effect is duplicate CompUnit::Repository::Locally instances for the same $abspath
16:28 Skarsnik Someone should write something to extract the diowygen stuff, it could be fun xD
16:29 hoelzro I brought up the whole "DESTROY never runs if the program exits" issue a while ago; the concensus, I believe, was that it's very, very rare that DESTROY would do some sort of cleanup that the OS itself doesn't do for you on program exit, and that rarity doesn't justify slowing down the shutdown process
16:29 hoelzro donaldh: *nod*
16:29 * flussence wonders if the current DESTROY should be renamed RECYCLE, to free up the existing word for a future where someone figures out how to implement conventional destructor semantics
16:29 Skarsnik hoelzro, cute if have a single thread/process
16:29 rarara joined #perl6
16:29 TimToady that assumes only one interpreter; one would like to support multiple interpreters inside something like apache
16:30 TimToady more generally, any embedded interpreter should run all DESTROYs
16:30 hoelzro agreed
16:30 hoelzro I think that's up to the embedder, then
16:30 hoelzro it's kind of why we have --full-cleanup in Moar, right?
16:31 perlpilot flussence: I've thought DESTROY needed a name change too.
16:31 jnthn I expect --full-cleanup in Moar will get more properly supported
16:31 donaldh Is it possible to initialize "my %instances" in a role?
16:31 hoelzro I think the "don't run GC at exit" policy only really applies to the perl6 standalone interpreter that is used to run programs on the command line
16:31 hoelzro donaldh: I wonder if the fact that it's a role has something to do with it; role bodies are kinda funky
16:31 RabidGravy hoelzro, and it's a long time since even Perl 5 bothered supporting an OS where it was possibly fatal to exit a program without cleaning up your resources (I'M LOOKING AT YOU AmigaDOS!)
16:32 leont joined #perl6
16:32 jnthn I also think that too many people want to use DESTROY for resource management, but that should be done explicitly in Perl 6. Yes, we should probably provide a syntactic construct for that at some point like C#'s using, Python's with, etc.
16:32 flussence .oO( does p5 support Linux on no-mmu? )
16:32 rarara I think I found a scary bug, this fails: perl6 -e 'say @*ARGS[0].IO.open(:r).lines' <(head -n 100 GORDON_dataset__HNS_binding_motifAbv2_Zscore.txt)
16:33 rarara s/GORDON_dataset__HNS_binding_motifAbv2_Zscore.txt/\/etc\/hosts/
16:33 hoelzro rarara: what's the failure?
16:33 rarara Failed to seek in filehandle: 29
16:34 hoelzro btw, you probably want @*ARGS[0].IO.lines
16:34 hoelzro or maybe just lines()
16:34 rarara same
16:34 rarara lines() would not work
16:34 hoelzro so process substitution gets screwy, it seems
16:34 rarara it's a totally different thing
16:35 rarara yep
16:35 rarara but why seek ?
16:36 donaldh jnthn: re: http://irclog.perlgeek.de/perl6/2016-01-29#i_11959966 is there any way to prevent assignment to my %instances in a role from causing a reposession?
16:36 hoelzro good question
16:36 azawawi jnthn: yup like python's with. This is an ugly example of what we will have https://github.com/azawawi/perl6-magickwand/blob/master/examples/01-hello.pl6#L31
16:39 arnsholt You can implement a pretty good with construct as a sub taking a block, actually
16:41 flussence .oO( loop(my $x = Foo.new; False; $x.cleanup) { * } )
16:42 flussence .oO( or should that be spelled $x.old? )
16:44 hoelzro rarara: this is the line that the seek is happening on: https://github.com/rakudo/rakudo/blob/nom/src/core/IO/Handle.pm#L134
16:44 rarara probably /home/romain/.rakudobrew/moar-nom/nqp/MoarVM/src/io/syncfile.c line 222
16:45 hoelzro I would guess it's nqp::eoffh, which Moar implements here: https://github.com/MoarVM/MoarVM/blob/master/src/io/io.c#L340
16:45 hoelzro it could be that libuv implements eof via seek()...for some reason
16:45 skids azawawi: fwiw that code cleans up original twice and does not clean up filtered.
16:45 rarara nono is moar
16:46 rarara mvm_eof function
16:46 hoelzro yeah, that's it
16:46 hoelzro rarara: feel free to rakudo bug it
16:47 rarara ok
16:47 jnthn donaldh: Not easily...not without resorting to the nqp ops to disable/reanable the SC write barriers
16:48 jnthn nqp::scwbdisable and nqp::scwbenable respectively, iirc
16:48 hoelzro I'm wondering if that's a bug with role bodies in general
16:48 hoelzro jnthn, donaldh: ↑
16:48 azawawi skids: thanks. i thought i fixed it earlier. skids++
16:49 [Coke] ZoffixWin: That is, were we to print just the first elements of our sublists, we'd receive our original list back.
16:50 [Coke] .. except for the last element of the list.
16:51 donaldh jnthn: I'm guessing nqp::neverrepossess won't help here
16:52 donaldh 'cos it's something that doesn't exist so it can't be flagged never repossess?
16:52 AlexDaniel m: say <a b c>.rotor: 1 => -Inf
16:52 camelia rakudo-moar 780192: OUTPUT«Cannot coerce Inf or NaN to an Int␤  in block <unit> at /tmp/680o7HQYx3 line 1␤␤Actually thrown at:␤␤»
16:52 AlexDaniel Actually thrown at: ??
16:52 AlexDaniel where?
16:54 AlexDaniel m: say <a b c d e f g h i j k>.rotor: 1 => 0.5
16:54 camelia rakudo-moar 780192: OUTPUT«((a) (b) (d) (e) (g) (h) (j))␤»
16:54 AlexDaniel ZoffixWin: ↑ bug or feature?
16:54 AlexDaniel m: say (^100).rotor: 1 => 0.5
16:54 camelia rakudo-moar 780192: OUTPUT«===SORRY!===␤This type cannot unbox to a native integer␤»
16:54 AlexDaniel bug!
16:55 AlexDaniel m: say (^100).rotor: 1 => Inf
16:55 camelia rakudo-moar 780192: OUTPUT«===SORRY!===␤This type cannot unbox to a native integer␤»
16:55 perlpilot definitely a bug IMHO
16:55 perlpilot well ... maybe 2 bugs :)
16:55 AlexDaniel so it works differently on lists and on ranges
16:56 AlexDaniel m: say (^5).rotor: 1 => Nil
16:56 camelia rakudo-moar 780192: OUTPUT«Use of Nil in numeric context  in block <unit> at /tmp/fzhWrVzkVP line 1␤Use of Nil in numeric context  in block <unit> at /tmp/fzhWrVzkVP line 1␤Use of Nil in numeric context  in block <unit> at /tmp/fzhWrVzkVP line 1␤Use of Nil in numeric context  …»
16:56 AlexDaniel m: say (^3).rotor: 1 => Any
16:56 camelia rakudo-moar 780192: OUTPUT«Use of uninitialized value of type Any in numeric context  in block <unit> at /tmp/SZmXzMiqfC line 1␤Use of uninitialized value of type Any in numeric context  in block <unit> at /tmp/SZmXzMiqfC line 1␤Use of uninitialized value of type Any in numeric …»
16:58 AlexDaniel m: say <a b c>.rotor: -Inf
16:58 camelia rakudo-moar 780192: OUTPUT«Cannot have elems < 1, did you mean to specify a Pair with => -Inf?␤  in block <unit> at /tmp/M8L_f_oisO line 1␤␤»
16:58 psy_ joined #perl6
16:58 AlexDaniel did I mean a Pair with => -Inf? Hmmmm… I didn't, but
16:58 AlexDaniel m: say <a b c>.rotor: 1 => -Inf
16:58 camelia rakudo-moar 780192: OUTPUT«Cannot coerce Inf or NaN to an Int␤  in block <unit> at /tmp/P_en4YLnOO line 1␤␤Actually thrown at:␤␤»
16:58 AlexDaniel blergh!
16:59 [Coke] AlexDaniel: what are you doing?
16:59 psy_ joined #perl6
16:59 AlexDaniel [Coke]: just poking some random stuff into rotor
17:01 RabidGravy "manual fuzzing"
17:01 AlexDaniel RabidGravy: “exploratory testing” :)
17:01 azawawi https://gist.github.com/azawawi/c92897284d5283361233  # Possible Perl 6 implementation of Python's with sugar. Feedback is more than welcome
17:02 [Coke] gentle reminder that camelia is available via privmsg.
17:03 AlexDaniel [Coke]: yeah, perl6 is also available in my terminal. I only throw stuff here that looks buggy or weird
17:03 [Coke] ok, I only mention it because this is not the first time I've come back to 2+ screens of very similar input/output in a row.
17:06 AlexDaniel m: say <a b c d e f g h i j k>.rotor: 1.5
17:06 camelia rakudo-moar 780192: OUTPUT«((a b) (b c) (d e) (e f) (g h) (h i) (j k))␤»
17:06 FROGGS joined #perl6
17:06 AlexDaniel ZoffixWin: ↑ how about that? :D
17:09 ZoffixW joined #perl6
17:09 ZoffixW [Coke]++ thanks fixed
17:10 [Coke] ZoffixW: whee
17:13 ZoffixW What's "is nodal"?
17:14 * rindolf hacks ZoffixW 's old XChat.
17:14 perlpilot AlexDaniel: IMHO, any non-Int values for the number of items to take/skip should be considered an error.  Maybe Inf could be used for "take the rest" or "skip the rest", but otherwise non-Int should error.
17:14 AlexDaniel perlpilot: but it's an interesting feature
17:15 ZoffixW perlpilot, why error and not just .Int?
17:15 ZoffixW m: say <a b c d e f g h i j k>[1..1.5], (^10)[1..1.5]
17:15 camelia rakudo-moar 780192: OUTPUT«(b)(1)␤»
17:15 perlpilot m: say <a b c d e f g h i j k>.rotor: 2 => -1, 2 => 0;   # Much much MUCH clearer than  .rotor: 1.5
17:15 camelia rakudo-moar 780192: OUTPUT«((a b) (b c) (d e) (e f) (g h) (h i) (j k))␤»
17:16 AlexDaniel perlpilot: good point, I'll add that to the bug report
17:16 perlpilot ZoffixW: because I favor explicit over implicit when there's the potential for ambiguity.
17:17 perlpilot ZoffixW: i.e. if the user really wanted .Int, they should have said so
17:17 ZoffixW perlpilot, but that introduces an inconsistency
17:18 perlpilot hwo so?
17:18 perlpilot er, how so?
17:18 ZoffixW perlpilot, see my example above. I've used a Rat for an endpoint index and Rakudo DWIMMED
17:18 ZoffixW So the inconsistency would be: we dwim, but only sometimes, the other times you get an error
17:19 perlpilot ZoffixW: sure, but that has nothing to do with rotor :)
17:19 ZoffixW I view .rotor withing the entire Perl 6.
17:19 ZoffixW *within
17:20 perlpilot Perl has a long history of integerizing indices and it makes sense to continue as such.   .rotor has no such history and it's not clear (to me anyway) that  auto-calling .Int is what people would generally want when (accidentally?) passing a non-Int to .rotor
17:21 ZoffixW Why accidentally? You'd be passing it for the same reasons you'd pass a non-integer as an index.
17:21 perlpilot ergo, I favor encouraging the user to be explicit and say what they mean rather than have Perl guess
17:21 ZoffixW There's no guess, since 1.5 is meaningless.
17:21 AlexDaniel which should probably error out?
17:22 ZoffixW ---
17:22 perlpilot ZoffixW: clearly it's not meaningless since the current implementation handles it just fine  ;)
17:22 AlexDaniel “You are doing meaningless stuff in block <unit> at -e line 1”
17:22 ZoffixW perlpilot, it doesn't. It's a bug
17:22 ZoffixW AlexDaniel, see my original argument about inconsistency.
17:22 moritz .oO( check your privileges in sub foo at -e line 1 )
17:23 ZoffixW Your logic would suggest [1..1.5] should also error, since in that context 1.5 is also meaningless
17:24 perlpilot ZoffixW: I suppose whoever implements (and docs and tests) it first gets to decide the semantics unless TimToady pipes up with some semantic fiat
17:25 * perlpilot lunch &
17:26 ZoffixW I'd think we'd follow rules and specs and not make a first-come free-for-all decisions.
17:26 * ZoffixW & work
17:28 geekosaur .tell ZoffixW except that in practice rules and specs tend to be useless until backed by working implementation; all too often the carefully worked out spec doesn't work
17:28 yoleaux geekosaur: I'll pass your message to ZoffixW.
17:29 donaldh hoelzro: this is a candidate fix: https://gist.github.com/donaldh/4de32ce051b18491242e
17:30 donaldh hoelzro: need to check for fallout on Moar
17:30 * hoelzro nods
17:30 hoelzro I kind of want to see if I can reproduce that failure with class bodies
17:30 hoelzro I dunno; lately, everything looks like a role body problem to me =P
17:31 geekosaur and soon, role body won't look like words >.>
17:32 moritz if I installed an R* in, say, /opt/rakudo-2016.01/, and tar'ed it up, how likely would it work on another Linux system with the same architecture?
17:32 moritz (provided it's untar'ed to the same path)
17:33 geekosaur if you include "same distro and version" in "architecture", likely. if not, good luck with that then; RH. Debianoids, Gentoo, Arch, etc. rarely match up well
17:33 geekosaur s/H\./H,/
17:34 moritz what is it that doesn't match up?
17:34 geekosaur and you *will* have version skew for system shared libraries even within the same distro
17:34 moritz libc?
17:35 geekosaur generally library versions will differ in ways that will lead to problems. libc is common especially between distributions, yes. also anything that changes quickly, which in the linux world seems to be almost anything these days :(
17:35 lnrdo_ joined #perl6
17:36 geekosaur "backward compatibility" is almost swear words these days
17:36 somerandomguy joined #perl6
17:37 dalek ecosystem: 3d8e2c7 | (James ( Jeremy ) Carman)++ | META.list:
17:37 dalek ecosystem: Added LendingClub module.
17:37 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/3d8e2c7309
17:37 dalek ecosystem: 2d379e6 | (Zoffix Znet)++ | META.list:
17:37 dalek ecosystem: Merge pull request #140 from peelle/patch-1
17:37 dalek ecosystem:
17:37 dalek ecosystem: Added LendingClub module: https://github.com/peelle/LendingClub/
17:37 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/2d379e6eca
17:37 geekosaur granted, you're not going to have to deal with the worst offenders (looking at you, gnome), but shared object version skew is far too common
17:38 geekosaur if you really want it to be as portable as possible, link everything but libc static
17:38 Zero_Dogg joined #perl6
17:38 geekosaur and sometimes libc will still screw you (but the way libc works, linking it static is even worse)
17:39 sena_kun moritz, I suppose installation in a linux world is a something that should be done using package manager. Package manager will choose right path, set symlinks, will set dependencies and such. Installation 'by hands' is bad.
17:40 molaf joined #perl6
17:40 sena_kun If you just push something in /opt/some/directory/... For example, on my gentoo only /opt/bin is by default added into PATH. So binaries will be unreachable as far I can suppose.
17:40 dalek ecosystem: 6133533 | (Zoffix Znet)++ | META.list:
17:40 dalek ecosystem: Fix 404 META files
17:40 dalek ecosystem:
17:40 dalek ecosystem: CSV::Parser: META.info -> META6.info
17:40 dalek ecosystem: Data::Dump: META.info -> META6.info
17:40 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/613353354f
17:41 sena_kun *only /opt/bin from /opt directory
17:42 donaldh hoelzro: yeah, my (not very thorough) search suggests roles with "my" vars in their body are rare - maybe just CompUnit::Repository::Locally
17:42 moritz sena_kun: my problem is: I'm writing an article for a print magazine, and I need to include easy instructions for getting rakudo star 2016.01 installed. I'm not confident that the package managers will catch up until the article submission deadline
17:42 ugexe is there a way yet to tell if a role was punned or composed from within the role itself?
17:42 wamba joined #perl6
17:43 ugexe i imagine thats what COMPOSE { } is for, but i'm interested in any workarounds
17:44 RabidGravy something involving $?CLASS maybe?
17:44 sena_kun moritz, why not advice to use rakudobrew? Every alive distro has a *sh and git.
17:45 sena_kun Oh, stop.
17:45 ugexe i couldnt find a solution with $?CLASS and $?ROLE
17:46 ely-se_ joined #perl6
17:46 sena_kun Yeah, it seems rakudobrew doesn't ship R*.
17:50 mst it doesn't.
17:57 sena_kun moritz, if I were you I'd choose to write a small piece with instructions about compiling by hands and installation of binaries on linux/osx and installation from msi on windows. It seems like the most sane solution for me, but do as you please, of course.
17:59 hoelzro|phone joined #perl6
18:00 firstdayonthejob joined #perl6
18:00 hoelzro|phone donaldh: have you tried lifting the variable out of the role body? I wonder if that would also work
18:00 hoelzro|phone Just not as a permanent solution =)
18:03 dakkar_ joined #perl6
18:04 ajr_ joined #perl6
18:06 ambs joined #perl6
18:08 laz78 joined #perl6
18:09 RabidGravy there's something funny about "done" in a react
18:09 RabidGravy m: react {  whenever Supply.interval(1) { if $_ == 1 { say "done"; done;} }; } ; # perfectly fine
18:09 camelia rakudo-moar 780192: OUTPUT«done␤»
18:09 lnrdo_ joined #perl6
18:10 Hotkeys You done done it RabidGravy
18:12 RabidGravy however if you remove the condition and place the done in the top level or even in "do { say "done"; done }" it hits the block but doesn't actually exit the loop
18:13 b2gills There is a bug with parsing 「[\[&( { $^a * 2 + $^b } )]] 1,2,3」 it fails because of the spaces. Remove all of them and you get 「(1 4 11)」
18:13 RabidGravy or the react block rather
18:13 RabidGravy which is rather incomvenient
18:13 addison_ joined #perl6
18:14 laz78 joined #perl6
18:14 RabidGravy it does however stop processing the whenever blocks
18:16 RabidGravy I won't demonstrate for fear of screwing up camelia
18:20 hoelzro|phone joined #perl6
18:23 bowtie joined #perl6
18:24 laz78 joined #perl6
18:27 [Tux] ZoffixWin, is META6.info to be preferred over META.info? (/me is willing to change)
18:27 FROGGS [Tux]: yes
18:27 FROGGS [Tux]: META6.json though
18:28 [Tux] on it
18:28 RabidGravy I keep forgetting to do it
18:30 [Tux] done
18:30 rindolf So what can I do about the speed of my script?
18:31 [Tux] buy a faster machine
18:31 rindolf [Tux]: for reference - https://bitbucket.org/shlomif/shlomif-computer-settings/src/b711d2ebf24bd8073ad98725d42e4b166d84fa34/shlomif-settings/home-bin-executables/shlomif-specific/extract-perl5-ids.p6?at=default&amp;fileviewer=file-view-default
18:32 rindolf [Tux]: it's a Core i3 machine - cannot get much faster than that.
18:32 [Tux] word is that perl6 is good at threading, so 24 CPU's might help :)
18:32 RabidGravy yeah do more at once
18:32 rindolf [Tux]: and I'll bet that converting it to a faster language will make it much faster.
18:32 [Tux] shhh
18:33 [Tux] you can do all IO in parallel. That might help
18:34 [Tux] and I see no need to use P% regexes for something so simple
18:34 [Tux] P5
18:34 [Tux] that might help too
18:35 fireartist joined #perl6
18:35 RabidGravy for reference I was playing with a thing that flac encoded a directory of wav files in less than a second doing it in parallel
18:36 fireartist b2gills: no, I'm not doing a straight conversion, but how did you guess that from a vague reference to RPC? ;-)
18:37 ZoffixW joined #perl6
18:37 ZoffixW rindolf, what's your sample input and expected output?
18:37 yoleaux 17:28Z <geekosaur> ZoffixW: except that in practice rules and specs tend to be useless until backed by working implementation; all too often the carefully worked out spec doesn't work
18:37 rindolf [Tux]: are Perl 5 regexes not performant?
18:38 b2gills fireartist:  I am very familiar with the internals
18:38 rindolf ZoffixW: I'm passing a list of files and want the identifiers outputted as sorted by increasing total frequency.
18:38 ZoffixW geekosaur, if the alternative is a highly inconsistent language that's difficult to learn, I'm willing to at least try. There's a reason I prefer English to Russian :P
18:38 lnrdo_ joined #perl6
18:39 geekosaur I think that's the first time I've ever seen anyone suggest English isn't inconsistent >.>
18:39 jdv79 russian is more inconsistent than english?
18:39 ZoffixW geekosaur, the other way around
18:39 ZoffixW geekosaur, in Russian, every rule you learn is followed by "and these are a bunch of exceptions to the rule"
18:40 ZoffixW rindolf, do you have a sample file I can use to benchmark and validate the result?
18:40 huf has anyone actually managed to measure the inconsistency of a natural language?
18:40 ZoffixW rindolf, I think I can make your script at least a 1000 times faster
18:40 huf or is it still okay to talk out of your ass about these things?
18:40 fireartist b2gills: hmm, i see you were developing it the same time as me (5 yrs ago!), but your github/perl handle isn't familiar - what was your empire name?
18:40 geekosaur English is also infamous for that, though
18:40 huf every language is...
18:41 sena_kun ZoffixW, in English a half of the dictionary words ignores the rules of how letter pronounces.
18:41 ZoffixW [citation needed] :)
18:42 b2gills fireartist: I use b2gills for everything, except for CPAN where I'm BGILLS, but only because it doesn't allow numbers
18:42 rindolf ZoffixW: I can pass it more than one file.
18:42 rindolf ZoffixW: wait a sec.
18:42 sena_kun ZoffixW, of course. ;3
18:42 huf and here we go, even more butt speak
18:42 Kogurr joined #perl6
18:44 b2gills fireartist: Actually I still have 8 planets. Unfortunately I had to let one go, it had way way way way way way way too low of a happiness level. (It would have taken millions of real-world years to get it positive again)
18:44 AlexDaniel what is language inconsistency? Whenever I hear about language “rules” I don't really get it. The language developed on its own, there are no rules. Everything we call a “rule” is just an observation that something tends to be this way or another. These made up rules can be inconsistent, but the language itself is probably not.
18:45 hoelzro|phone joined #perl6
18:47 huf AlexDaniel: well, your brain does language, so there's got to be *some* kind of rules
18:47 huf they're not the ones you read in books, most likely
18:47 AlexDaniel huf: what if it is just a big look up table?
18:47 huf also i think by inconsistency people mean arbitrary data you have to just remember
18:48 huf AlexDaniel: it cant be *just* a big lookup table, it's got potentially infinite recursion shit in it, right?
18:48 AlexDaniel well, some languages are harder to learn than the others, that's true
18:48 fireartist b2gills: if we did speak back then, sorry for forgetting! :-(
18:48 huf AlexDaniel: for adults, yeah
18:48 huf and iirc some constructs are easier to learn in one language than in another, even for tiny children (the difference being a few months at most iirc)
18:48 AlexDaniel huf: right. Your “for adults” remark is also very true
18:49 b2gills fireartist: Mostly I just know you from reading your identifier in LacunaExpanse related stuff
18:49 fireartist b2gills: I just picked TLE api as non-trivial learning project for perl6, as I was familiar with it, and didn't want to do web forms again!
18:49 rindolf ZoffixW: http://www.shlomifish.org/Files/files/arcs/fc-solve-perl6-speed-test--v1.tar.xz - see this - run TEST.bash and see t.txt.
18:51 b2gills fireartist: I have an idea for a very Supply/Channel and Promise based API. Imagine if when you start upgrading a building you get a Promise that is kept after it is upgraded.
18:51 huf AlexDaniel: interestingly people think "foot/feet" is an inconsistency, but the existence of "foot" isnt
18:51 fireartist b2gills: interesting!
18:51 AlexDaniel It would be interesting to put some language on github (as fully as we can) and improve it afterwards. I'd love to see some words deprecated and some things simplified :)
18:52 * RabidGravy feels warnocked on the react thing, rakudobugs anyway
18:52 AlexDaniel huf: foots!!
18:52 AlexDaniel huf: :)
18:52 AlexDaniel mouses!
18:52 huf yes but why isnt "mouse" and "foot" counted as an inconsistency?
18:52 huf there's no rule you can use to discover that it's a valid word
18:53 huf nor any rule that helps you discover its meaning
18:53 b2gills deer
18:53 huf b2gills: "trousers" is *much* worse imho
18:54 perlpilot b2gills: did you rakudobug your parsing problem discovery? (or check if there's already a ticket for it?)
18:55 b2gills No, I have several bugs that I should report in a mental list that is slowly deteriorating.
18:56 perlpilot b2gills: shuffle the list to external storage in RT :)
18:57 labster joined #perl6
18:59 rindolf ZoffixW: any news?
19:00 b2gills perlpilot At least a few of them I meant to just get a PR that would just fix them.
19:03 timotimo yo ZoffixW; did you know comb also takes an integer argument to do the same as .comb.rotor:partial.join?
19:04 [Coke] rindolf: how slow, btw. "slower than p5" or something more apocolyptic? we just released a stable spec, moar speed is next.
19:05 timotimo ZoffixW: also, in the paragraph about how => in rotor works, you formatted 0, 9, 1, 3, and 7, but not 2, nor "2, 3, 6," or "7" :(
19:05 rindolf [Coke]: let me see.
19:06 rindolf [Coke]: "time" says it takes almost 11 seconds - clearly unacceptable.
19:06 ZoffixW rindolf, no, I was going to propose a Bag, but I didn't realize you kept the line number too
19:06 ZoffixW timotimo, example?
19:06 rindolf ZoffixW: ah.
19:06 [Coke] rindolf: if speed is your thing, 2015.12 is still "early adopter".
19:07 ZoffixW rindolf, but avoiding P5 regex in the third loop gives a marginal speed increase. Use: for $l ~~ m:g/\w+/ -> $k
19:07 [Coke] but we can probably find some optimizations.
19:07 timotimo m: say "hello how are you today".comb(5)
19:07 camelia rakudo-moar 780192: OUTPUT«(hello  how  are y ou to day)␤»
19:07 timotimo m: say "hello how are you today".comb(10)
19:07 camelia rakudo-moar 780192: OUTPUT«(hello how  are you to day)␤»
19:08 [Coke] I'm about to commute, will take a look tonight.
19:08 rindolf ZoffixW: ok.
19:08 rindolf [Coke]: ok.
19:09 ZoffixW m: say "hello how are you today".comb.rotor(5, :partial).join
19:09 camelia rakudo-moar 780192: OUTPUT«h e l l o  h o w  a r e   yo u   t od a y␤»
19:09 ZoffixW m: say "hello how are you today".comb.rotor(5, :partial)».join
19:09 camelia rakudo-moar 780192: OUTPUT«(hello  how  are y ou to day)␤»
19:09 timotimo no, you want >>.join
19:09 timotimo yeah
19:09 timotimo that version of comb is also super performant
19:09 ZoffixW Cool, I'll keep that in mind.
19:10 timotimo and in your blog post, too? :)
19:10 timotimo maybe as a footnote or something
19:11 rindolf [Coke]: I'm just trying to learn a few new languages - including perl 6.
19:12 ZoffixW timotimo, I've added an "Update" section at the bottom.
19:13 timotimo OK :)
19:13 timotimo i'm in awe at the pace at which you churn out high-quality blog posts, btw
19:14 ZoffixW Why do all my articles show up on http://perl6.org/ ?
19:14 ZoffixW The 100+ Modules for adoption is not even about Perl 6 :P
19:14 timotimo clearly your whole blog rss rather than just the perl6 tag filtered portion of it is in the pl6anet
19:15 ZoffixW hm
19:22 Juerd Yes, planet-like sites often work by including entire blogs
19:22 timotimo that's not really a technical limitation, though
19:22 Juerd I think that in general, having recent blog posts on perl6.org is a bad idea.
19:22 timotimo as many blog platforms also offer an rss feed for each tag that comes up
19:23 Juerd Blog posts are often not ass well thought through as you'd like
19:23 timotimo it's only a bad idea when the latest blog post is a year old
19:23 Juerd One person's bad mood or suboptimal phrasing can ruin someone's else's chance to take Perl 6 seriously.
19:24 ZoffixW I think that's sensationalism :/
19:24 Juerd Then again, I think there are more suboptimal things about perl6.org and I don't have time to fix them, so never mind my opinion.
19:24 ZoffixW or "someone's" not "everyone's", never mind.
19:24 timotimo i hope potentially interested people won't take a single blog post as "what the whole community must be like"
19:24 ZoffixW s/or/oh/;
19:25 yurivish_ joined #perl6
19:25 FROGGS joined #perl6
19:31 yqt joined #perl6
19:31 dalek perl6.org: ee4c741 | (Zoffix Znet)++ | / (3 files):
19:31 dalek perl6.org: Remove Advent Box
19:31 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/ee4c741c80
19:37 FROGGS joined #perl6
19:39 BrassLantern joined #perl6
19:43 labster joined #perl6
19:45 RabidGravy .tell jnthn next time you're looking at asynchronous stuff you may want to cast an eye over https://rt.perl.org/Ticket/Display.html?id=127428 almost certainly unintended
19:45 yoleaux RabidGravy: I'll pass your message to jnthn.
19:47 RabidGravy had me tearing my metaphorical hair out for ages now
19:49 timotimo RabidGravy: could you try running that code with MVM_SPESH_DISABLE=yes just to make sure we're not dynamically-optimizing the right semantics away?
19:50 [Coke] rindolf: can't run that file because it's got your paths all hardcoded.
19:50 musiKk joined #perl6
19:51 RabidGravy timotimo, nope the optimiser is the off the hook :)
19:52 timotimo that's only the dynamic optimizer; what happens if you use --optimize=off, too? ;)
19:52 timotimo BBIAB
19:53 RabidGravy Nah, it's fine
19:54 ugexe does p6doc still need a 'p6doc.bat'? CU::R::I should handle that now
19:55 hankache joined #perl6
19:58 dalek perl6.org: 5cea97b | (Zoffix Znet)++ | fetch-recent-blog-posts.pl:
19:58 dalek perl6.org: Show fewer recent posts to keep panels aligned
19:58 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/5cea97bc5e
19:58 FROGGS joined #perl6
19:58 hankache hello #perl6
19:58 yoleaux 10:03Z <gfldex> hankache: could you add (basic) typed arrays to the intro please?
20:00 gtodd joined #perl6
20:01 RabidGravy I've got a feeling that it probably has a race between the first whenever being fired and the promise that controls the react block being setup
20:01 RabidGravy my best workaround is e.g
20:02 RabidGravy m: my $p = Promise.new; my $q = start { react { whenever $p { whenever Supply.interval(1) { say " done"; done; };} }; True }; $p.keep; sleep 1; say $q.status
20:02 camelia rakudo-moar 780192: OUTPUT« done␤Kept␤»
20:03 hankache .tell gfldex sure can. I'll draft something and let you know.
20:03 yoleaux hankache: I'll pass your message to gfldex.
20:04 lostinfog joined #perl6
20:05 sortiz joined #perl6
20:10 sortiz \o #perl6
20:10 rindolf [Coke]: then you can change it.
20:11 hankache joined #perl6
20:14 hoelzro .tell donaldh I also got it to work by moving my %instances; into the block and changing my → state
20:14 yoleaux hoelzro: I'll pass your message to donaldh.
20:15 hoelzro .tell donaldh btw, how did you manage to figure out it was %instances that was causing reposessions, which triggered the bug? I only got as far as serialization, which always makes my head hurt =/
20:15 yoleaux hoelzro: I'll pass your message to donaldh.
20:15 timotimo ZoffixWin: i recently suggested to move the recent posts box to the left and the download button to the right
20:15 timotimo ZoffixWin: that way we could display *more* instead of *fewer* recent posts
20:16 [Coke] rindolf: no extract-perl5-ids.p6
20:16 rindolf [Coke]: ah.
20:16 rindolf [Coke]: it's here - https://bitbucket.org/shlomif/shlomif-computer-settings/src/b711d2ebf24bd8073ad98725d42e4b166d84fa34/shlomif-settings/home-bin-executables/shlomif-specific/extract-perl5-ids.p6?at=default&amp;fileviewer=file-view-default
20:17 gtodd1 joined #perl6
20:18 lucs m: my $s = 'ab42c66'; $s ~~ s:g/ (\d+) /{sub () { $0 * 2 }}/; say $s  # "ab84c132" How to fix this with anon sub?
20:18 camelia rakudo-moar 780192: OUTPUT«Sub object coerced to string (please use .gist or .perl to do that)  in code  at /tmp/RQz2DUrAAz line 1␤Sub object coerced to string (please use .gist or .perl to do that)  in code  at /tmp/RQz2DUrAAz line 1␤abc␤»
20:18 timotimo lucs: in that case, please use s[...] = ... synatx
20:18 timotimo syntax*
20:19 lucs Hmm... I don't know about syntax; back to reading... S05?
20:19 timotimo dunno
20:19 lucs *that syntax
20:21 ZoffixW joined #perl6
20:22 ZoffixW timotimo, other than switching left vs. right, I've implemented your plan. It's just my original expansion of the Recent Blogs post was too excessive, so shortened in the subsequent commit.
20:22 richi235 Good Evening
20:22 ZoffixW \o
20:22 richi235 I have a question about native call and Inline::Perl5
20:23 timotimo oh
20:23 timotimo okay
20:23 richi235 I figured out that Inline::Perl5 starts the perl5 vm/interpreter via native call
20:23 timotimo yeah
20:23 richi235 Does the perl5 vm run in an own process or "inside" the moarvm process?
20:24 timotimo inside it
20:24 richi235 And if it's a own process how is IPC handled? Via shared memory? or via sockets?
20:24 richi235 ahh kk thanks
20:24 moritz it just uses perl's XS "API" (or a slim C wrapper around it where that's easier)
20:24 richi235 that was what i wanted to know :)
20:25 moritz (note that XS is quite some macros, and you can't nativecall marcos, just functions; hence the C wrapper in some places)
20:26 sortiz m: my $s = 'ab42c66'; $s ~~ s:g/ (\d+) /{ $0 * 2 }/; say $s; # lucs, is this what you want?
20:26 camelia rakudo-moar 780192: OUTPUT«ab84c132␤»
20:26 richi235 moritz: ah, yes I saw the .c file in the repo
20:27 lucs sortiz: Sure looks like it :)
20:27 lucs Thanks!
20:27 moritz m: my $s = 'ab42c66'; given $s { s:g[\d+] = 2 * $/; .say }
20:27 camelia rakudo-moar 780192: OUTPUT«ab84c132␤»
20:28 lucs So much syntax in Perl 6...
20:28 lucs I love it!
20:28 ZoffixW :)
20:30 ZoffixW m: my $s = 'ab42c66'; $s.subst-mutate: /(\d+)/, "$0+2"; say $s
20:30 camelia rakudo-moar 780192: OUTPUT«Use of Nil in string context  in block <unit> at /tmp/9JawueUitZ line 1␤ab+2c66␤»
20:30 ZoffixW I guess this isn't like in JS where you can use backrefs?
20:30 ZoffixW or captures
20:31 bjz_ joined #perl6
20:31 moritz you can, if you pass a callable
20:32 moritz m: my $s = 'ab42c66'; $s.subst-mutate: /(\d+)/, -> $/ { "$0+2" }; say $s
20:32 camelia rakudo-moar 780192: OUTPUT«ab42+2c66␤»
20:32 [Coke] rindolf:             for $l.comb(/\w+/) -> $k is probably more idiomatic, but sadly is slightly slower atm.
20:32 moritz m: my $s = 'ab42c66'; $s.subst-mutate: /(\d+)/, -> $/ { $0+2 }; say $s
20:32 camelia rakudo-moar 780192: OUTPUT«ab44c66␤»
20:32 ZoffixW Ah, sweet
20:32 rindolf [Coke]: ah.
20:33 [Coke] rindolf: looks like more than 60% of the time is spent iterating to a word, not even doing anything with it.
20:33 rindolf [Coke]: ah.
20:33 ZoffixW m: my $s = 'ab42c66'; $s.subst-mutate: /(\d+)/, *+2, :g; say $s
20:33 camelia rakudo-moar 780192: OUTPUT«ab44c68␤»
20:33 * ZoffixW squeals
20:33 ZoffixW <3 WhateverCode
20:34 alpha123 that's actually so dope
20:34 moritz rindolf, [Coke]: I missed the context; just wanted to point out that .words exists too, and is probably optimized a bit
20:34 rindolf moritz: thanks.
20:35 alpha123 rakudo seems to be counting devanagari syllables incorrectly :/
20:36 ZoffixW m: say "देवनागरी".chars
20:36 camelia rakudo-moar 780192: OUTPUT«5␤»
20:36 [Coke] I don't think words == comb(/\w+/);
20:36 alpha123 m: "नि\r\n".chars
20:36 camelia rakudo-moar 780192: ( no output )
20:36 alpha123 m: say "नि\r\n".chars
20:36 camelia rakudo-moar 780192: OUTPUT«2␤»
20:36 alpha123 hm
20:36 alpha123 my rakudo is sort of old
20:36 [Coke] alpha123: are you on an old rakudo?
20:36 ZoffixW That's probably why.
20:36 [Coke] anything more than 2015.12 is ancient.
20:36 alpha123 [Coke]: compiling it on freebsd is a bitch
20:37 alpha123 D'oh I'm on 2015.09
20:37 alpha123 nevermind, nothing to see here
20:37 [Coke] SUPER ancient.
20:37 [Coke] :)
20:37 ZoffixW star: say "नि\r\n".chars
20:37 camelia star-m 2015.09: OUTPUT«4␤»
20:37 ZoffixW heh
20:37 alpha123 yep that's what I'm getting over here
20:38 alpha123 I was trying to use Rakudo to compare with my language's implementation of unicode strings
20:38 alpha123 I suppose I should upgrade
20:38 [Coke] m: my $a = 'exec(($use_prove ? @{_calc_prove()} : "runprove"), @$tests);' ; say $a.words; say $a.comb(/\w+/);
20:38 camelia rakudo-moar 780192: OUTPUT«(exec(($use_prove ? @{_calc_prove()} : "runprove"), @$tests);)␤(exec use_prove _calc_prove runprove tests)␤»
20:38 alpha123 oh, and as cool as the Korean language and alphabet is, SCREW KOREAN
20:39 alpha123 /rant
20:40 ZoffixW m: given 'print "foo"' { .words.say; .comb(/\w+/).say }
20:40 camelia rakudo-moar 780192: OUTPUT«(print "foo")␤(print foo)␤»
20:40 ZoffixW m: given 'print "foo"' { .words.say; .comb(/\S+/).say }
20:40 camelia rakudo-moar 780192: OUTPUT«(print "foo")␤(print "foo")␤»
20:45 tmtowtdi joined #perl6
20:49 alpha123 m: my %h = '한' =0; say %h['한글'];
20:49 camelia rakudo-moar 780192: OUTPUT«Cannot modify an immutable Str␤  in block <unit> at /tmp/0PZ_anAFek line 1␤␤»
20:50 geraud joined #perl6
20:50 alpha123 m: my %h = '한'>  =0; say %h['한글'];
20:50 camelia rakudo-moar 780192: OUTPUT«5===SORRY!5=== Error while compiling /tmp/IbPu_jFMFJ␤Preceding context expects a term, but found infix = instead␤at /tmp/IbPu_jFMFJ:1␤------> 3my %h = '한'>  =7⏏0; say %h['한글'];␤»
20:50 alpha123 dammit weechat
20:50 alpha123 m: my %h = '하 => 0; say %h['한글'];
20:50 camelia rakudo-moar 780192: OUTPUT«5===SORRY!5=== Error while compiling /tmp/PHwG5gBJs7␤Two terms in a row␤at /tmp/PHwG5gBJs7:1␤------> 3my %h = '하 => 0; say %h['7⏏5한글'];␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statem…»
20:50 alpha123 m: my %h = 'ᄒ'ᅡ => 0; say %h['한글'];
20:50 camelia rakudo-moar 780192: OUTPUT«5===SORRY!5=== Error while compiling /tmp/XkDdZHh1Ko␤Two terms in a row␤at /tmp/XkDdZHh1Ko:1␤------> 3my %h = 'ᄒ'7⏏5ᅡ => 0; say %h['한글'];␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        st…»
20:51 alpha123 m: my %h = '한글' => 'worked'; say %h['한글'];
20:52 camelia rakudo-moar 780192: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5한글' (indicated by ⏏)␤  in block <unit> at /tmp/CsXcWmzSMs line 1␤␤Actually thrown at:␤  in block <unit> at /tmp/CsXcWmzSMs line 1␤␤»
20:52 ely-se joined #perl6
20:52 alpha123 my %h = '한글' => 'worked'; say %h{'한글'};
20:52 alpha123 m: my %h = '한글' => 'worked'; say %h{'한글'};
20:52 camelia rakudo-moar 780192: OUTPUT«worked␤»
20:52 alpha123 yay
20:52 alpha123 finall
20:52 alpha123 y
20:53 alpha123 one of tmux, putty, and weechat was screwing up my input :(
20:53 alpha123 but at least it hashes composed and decomposed korean the same
20:54 RabidGravy i hate it when things fail on travis and not locally
20:55 hankache RabidGravy same here. I don't know why though
21:00 * skids just dealt with that.  turned out to be a really crusty version of GNU screen.
21:01 geekosaur try with -U
21:02 geekosaur (ifyour screendoesnt support -U, assume it will mangle anything outside of ISO8859-1)
21:02 RabidGravy yeah, exactly the same version of rakudo and moar here and it fails on travis and passes locally
21:03 RabidGravy with the tests failing that I actually fixed as part of the push
21:04 * skids wonders what the "koalatee" metrics are on modules.perl6.org
21:05 dalek ecosystem: bf6e22a | (David Warring)++ | META.list:
21:05 dalek ecosystem: META.info => META6.json in PDF projects
21:05 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/bf6e22aaa8
21:08 skids .oO(Searching for "perl6 ecosystem" or "perl6/ecosystem" on github gets you anything but perl6/ecosystem.  Add to pile of evidence that search engine tech deteriorates over time.)
21:08 timotimo haha
21:08 skids inverse Moore's Law: the quality of search engine results halves every ten years.
21:11 cdg joined #perl6
21:11 raiph joined #perl6
21:13 revhippie joined #perl6
21:15 hankache .tell gfldex check http://perl6intro.com/#_types and feel free to submit a PR if necessary
21:15 yoleaux hankache: I'll pass your message to gfldex.
21:17 stmuk joined #perl6
21:27 dolmen joined #perl6
21:31 RabidGravy speaking of search engines someone needs to make an Apache Lucy binding to Perl 6 (I looked, the CHarmoniser stuff did my head in)
21:32 moritz I'd apreciate that; the IRC logs use lucy as the search engine
21:32 lokien_ joined #perl6
21:33 SCHAAP137 joined #perl6
21:38 RabidGravy anyway I have conquered travis-ci by making a commit that had no effect whatsoever on the result of the tests locally
21:38 TEttinger joined #perl6
21:45 perlawhirl_osx joined #perl6
21:46 RabidGravy could someone with a really, really fast unloaded machine with lots of cores try to install Tinky at some point, I don't think there should be a race condition but that would point it up I guess
21:46 RabidGravy (lots of promise action going on)
21:47 Zero_Dogg joined #perl6
21:47 gfldex i can now answer my question from about 10h ago. Yes, by turning a .pod file into a module and thus using precomp, it gets quite a bit faster. About factor 20.
21:47 yoleaux 20:03Z <hankache> gfldex: sure can. I'll draft something and let you know.
21:47 yoleaux 21:15Z <hankache> gfldex: check http://perl6intro.com/#_types and feel free to submit a PR if necessary
21:50 Skarsnik lol
21:50 RabidGravy gfldex, with p6doc?
21:52 gfldex i can't use p6doc in my case. I simple use the module that got a sub EXPORT that hands out the $=pod. Not that much work given the benefit.
21:56 bjz joined #perl6
22:17 donaldh joined #perl6
22:18 donaldh .
22:18 yoleaux 20:14Z <hoelzro> donaldh: I also got it to work by moving my %instances; into the block and changing my → state
22:18 yoleaux 20:15Z <hoelzro> donaldh: btw, how did you manage to figure out it was %instances that was causing reposessions, which triggered the bug? I only got as far as serialization, which always makes my head hurt =/
22:20 ZoffixWin .tell skids koalatee is this: https://github.com/perl6/modules.perl6.org/blob/master/lib/ModulesPerl6/Metrics/Koalatee.pm#L21 it was never really finished, 'cause we decided to have MetaCPAN-like thing for modules instead of the current thing
22:20 yoleaux ZoffixWin: I'll pass your message to skids.
22:21 bpmedley joined #perl6
22:21 * ZoffixWin goes off the grid for a few days
22:21 ZoffixWin \o
22:22 addison_ joined #perl6
22:23 donaldh hoelzro: It's hard to find the owner of things getting serialized by the serializationLoop so I note their objectsListPos then set a conditional breakpoint in SerializationContext.addObject checking for newIndex == <position>
22:24 hoelzro ah, nice!
22:24 donaldh hoelzro: a few iterations later I found %instances in locally.
22:24 perlawhirl joined #perl6
22:26 donaldh hoelzro: do you have a diff?
22:26 hoelzro yeah, one second
22:27 hoelzro donaldh: https://gist.github.com/hoelzro/2f20982533014c1c9874
22:30 donaldh hoelzro: a more elegant solution, for sure.
22:33 hoelzro a bit hackier, maybe =P
22:33 donaldh hoelzro: oh, second part to debugging is I typically have a watch expression when I'm in a SerializationWriter stack frame: org.perl6.nqp.runtime.Ops.typeName(obj,tc)
22:35 hoelzro ah, that would help!
22:35 donaldh I have three watch expressions, one each for obj, ref and origObj. One of them usually works :-)
22:38 hoelzro I should probably learn how to debug on the JVM =P
22:39 cpage_ joined #perl6
22:40 donaldh Of course we could obfuscate the solution with an anonymous associative state variable http://doc.perl6.org/language/variables#The_%25_Variable
22:43 musiKk joined #perl6
22:43 kanishka joined #perl6
22:46 laz78 joined #perl6
22:46 bjz joined #perl6
22:49 sortiz m: sub I(int \a){a}; my uint8 $b = 0xFF; $b++; I($b); $b = 2; say $b; say I($b); # I'm astonished
22:49 camelia rakudo-moar 780192: OUTPUT«258␤2␤»
22:57 sufrostico joined #perl6
23:08 koo7 joined #perl6
23:26 hoelzro donaldh: with my → state patch, rakudo-j builds once more! \o/
23:26 donaldh Yes and Moar still passes all tests.
23:26 hoelzro ...but it fails every spectest =/
23:26 donaldh Hmmm. rakudo-j is passing a lot of spectests here.
23:27 hoelzro something must be off about my harness
23:27 hoelzro it's probably just local
23:28 wamba joined #perl6
23:29 skids joined #perl6
23:29 * donaldh rebuilds rakudo-j
23:32 hoelzro I wonder if it's the TEST_JOBS?
23:35 donaldh Hmm. Can't configure rakudo: "Unrecognized revision specifier '2016.01-RC1'"
23:35 labster joined #perl6
23:35 donaldh brain fade. time for sleep&
23:36 hoelzro night donaldh
23:39 bjz joined #perl6
23:41 dalek doc: 5b04e03 | RabidGravy++ | doc/Type/DateTime.pod:
23:41 dalek doc: Add fractional seconds to example
23:41 dalek doc: review: https://github.com/perl6/doc/commit/5b04e03649
23:45 bjz_ joined #perl6
23:50 addison joined #perl6
23:56 bjz joined #perl6

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

Perl 6 | Reference Documentation | Rakudo