»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
sortiz m: say .REPR for str, Str; 00:00
camelia rakudo-moar 780192: OUTPUT«P6str␤P6opaque␤»
ZoffixWin Yeah, I know that, but what's the difference?
lizmat m: my int $a = 42; say $a.WHAT
camelia rakudo-moar 780192: OUTPUT«(Int)␤»
ZoffixWin m: my int32 $a = 42; say $a.WHAT
camelia rakudo-moar 780192: OUTPUT«(Int)␤»
lizmat that's because the native gets upgraded before any method can be called on it
ZoffixWin hm 00:01
lizmat if you want to use nqp:: ops, you need natives 00:02
00:02 addison_ left
lizmat mostly they're unboxed / boxed automatically 00:02
but that takes extra cycles
00:03 abraxxa left
lizmat you can MMD on it 00:04
m: multi a(str $a) { "native" }; multi a(Str $a) { "HLL" }; say a("foo")
camelia rakudo-moar 780192: OUTPUT«native␤»
00:04 nbrown joined
ZoffixWin neat 00:05
lizmat m: multi a(str $a) { "native" }; multi a(Str $a) { "HLL" }; say a(my Str $ = "foo")
camelia rakudo-moar 780192: OUTPUT«HLL␤»
ZoffixWin :o "foo" is native str
lizmat seems like :-)
00:05 nbrown left
ZoffixWin m: multi a(Int $a) { "native" }; multi a(Str $a) { "HLL" }; say a("foo") 00:05
camelia rakudo-moar 780192: OUTPUT«HLL␤»
ZoffixWin cool
lizmat well, that's just general MMD :) 00:06
00:09 vendethiel left, firstdayonthejob left
lizmat good night, #perl6! 00:12
ZoffixWin night
sortiz night 00:13
00:14 addison_ joined 00:16 cpage_ joined 00:22 vendethiel joined 00:25 jevin left 00:26 jevin joined
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:28
00:30 CurtisOvidPoe left
dalek osystem: 308c126 | thundergnat++ | META.list:
Rename Acme::Vanish to Acme::Scrub
00:31
00:32 ajr_ left 00:40 labster left
flussence ZoffixWin: -2147483648␤-2147483648␤-2147483649␤0␤0␤-1␤ 00:40
ZoffixWin Thank you 00:41
00:44 vendethiel left 00:45 labster joined 00:46 vendethiel joined 00:49 lokien_ left 00:54 cdg left 00:57 yqt left
ZoffixWin native types are a total mess. I keep finding new bugs :S 01:02
ZoffixWin is still working on that promised ticket
Juerd ZoffixWin: One of the underlying issues might be that they're not implemented as the respective native types. 01:03
ZoffixWin There's a lot of inconsistency too: 01:04
m: my uint8 $x = 0; $x--; say $x
camelia rakudo-moar 780192: OUTPUT«-1␤»
ZoffixWin m: my uint8 $x = 0; $x-=1; say $x
camelia rakudo-moar 780192: OUTPUT«255␤»
Juerd m: my uint8 $x = 255; $x++; say $x
camelia rakudo-moar 780192: OUTPUT«256␤»
Juerd +=1 works fine
++ borks
ZoffixWin m: my uint8 $x = 256; $x++; say $x
camelia rakudo-moar 780192: OUTPUT«1␤»
ZoffixWin m: my uint8 $x = 256; $x+=1; say $x
camelia rakudo-moar 780192: OUTPUT«1␤»
Juerd But the way in which -- and ++ bork is interesting: they result in values that a native uint8 *cannot* hold.
ZoffixWin m: my uint8 $x = 255; $x+=1; say $x
camelia rakudo-moar 780192: OUTPUT«0␤»
ZoffixWin No, ++ works fine, +1 borks 01:05
It has an extra bit
Juerd This gives away that apparently it's not really a native, but instead something that's made to look like one
01:04 <+camelia> rakudo-moar 780192: OUTPUT«256␤»
ZoffixWin m: say 0xFF
camelia rakudo-moar 780192: OUTPUT«255␤»
ZoffixWin oh
never mind me 01:06
Juerd A maxint is always odd :)
ZoffixWin m: my uint8 $x = 255; $x++; $x++; say $x
camelia rakudo-moar 780192: OUTPUT«257␤»
ZoffixWin heh
01:07 vendethiel left
Juerd It looks like whatever wrapper's around assignment or +=, is missing in ++ 01:07
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
s/anarrray/an array/ 01:09
Juerd sena_kun: $pair.kv probably does what you want :)
ZoffixWin sena_kun, what's "an array of pairs"?
m: my @a = (foo => 'bar'),; my ( $key, $value ) = @a[0]; say $key, $value
camelia rakudo-moar 780192: OUTPUT«foo => bar(Any)␤»
sena_kun Juerd, thanks.
ZoffixWin That works
Oh no
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␤»
ZoffixWin aha
Well.... I'm bored with this. 01:11
I started writing this bug report, but it's taking forever. Here's how far I got: gist.github.com/zoffixznet/f789f720ba08383f034e
01:11 spider-mario left
Juerd See also rt.perl.org/Public/Bug/Display.html?id=127144 01:12
z & 01:15
ZoffixWin Created an RT: rt.perl.org/Ticket/Display.html?id=127409 if anyone wants to pick up the torch and finish off what I started
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␤»
skids sena_kun: ^^ if you have your heart set on destructuring 01:18
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:21
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 gtodd left
awwaiid m: <1 2 3 4 5>.map({ $_ + 1}).map: { $_ + 1 } 01:27
camelia ( no output )
awwaiid m: say <1 2 3 4 5>.map({ $_ + 1}).map: { $_ + 1 }
camelia rakudo-moar 780192: OUTPUT«(3 4 5 6 7)␤»
01:30 josgraha_ joined, josgraha left 01:31 gtodd joined
Juerd I like * 01:31
m: say <1 2 3 4 5>.map(* + 1).map: * + 1
camelia rakudo-moar 780192: OUTPUT«(3 4 5 6 7)␤»
01:32 laz78 left
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␤»
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.
Juerd m: say <1 2 3 4 5>.map: * + 1 . map: * + 1 01:34
camelia rakudo-moar 780192: OUTPUT«(2 3 4 5 6)␤»
Juerd m: say(<1 2 3 4 5>.map: * + 1 . map: * + 1)
camelia rakudo-moar 780192: OUTPUT«(2 3 4 5 6)␤»
Juerd Hmm
Precedence games are hard. Hurrah for simple expressions.
TimToady . is tighter than +
Juerd I'll stick to just using : only once per expression :) 01:35
Juerd really likes the : for method calls 01:36
That is, with .
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?
TimToady that depends on whether I use them :)
Juerd Fair enough :) 01:39
leont: I just don't like having lots of parens and brackets 01:40
: is a great way to remove one layer without sacrificing clarity 01:41
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:42
TimToady foo.bar is assumed to not take arguments because it's often just an attribute 01:43
Juerd Ah :)
01:47 gtodd1 joined
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:47 gtodd left
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.
awwaiid I asked before and I think it was "no", but thought I'd triple check :)
Juerd awwaiid: If you want that, don't you actually want an array instead of arguments? 01:49
01:49 sena_kun left, kaare_ joined
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:51
Juerd You'll need some kind of wrapping 01:53
An array, a capture (\:fish), your own pair-creating operator... 01:54
01:54 vendethiel joined
Juerd sub prefix:<:-> { $^key => True }; sub bar { dd @_ }; bar(:-"fish", 5, :-"food", 10) 01:56
m: sub prefix:<:-> { $^key => True }; sub bar { dd @_ }; bar(:-"fish", 5, :-"food", 10)
camelia rakudo-moar 780192: OUTPUT«[:fish, 5, :food, 10]␤»
Juerd m: sub bar { dd @_ }; bar($ = :fish, 5, $ = :food, 10) 01:57
camelia rakudo-moar 780192: OUTPUT«[:fish, 5, :food, 10]␤»
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]␤»
sortiz Close but not what you want. 02:02
Juerd m: sub bar { dd @_ }; bar: :fish, 5, :food, 10;
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 …»
Juerd Ah, that only "worked" in the repl because the repl gave the "sunk" (not really) output
I wonder what bar: actually is there. 02:03
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 leont left
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␤»
ZoffixWin shrugs
AlexDaniel ZoffixWin: what are you doing?? /o\ 02:05
:)
ZoffixWin How is this interpreted? say <1 2 3 4 5>.map:* + 1 . map: * + 1
AlexDaniel m: say <1 2 3 4 5>.map((* + 1). map: * + 1)
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␤␤»
Juerd ZoffixWin: It's a silly thing to even attempty. Utterly unreadable. I'm sorry for suggesting it.
s/attempty/attemp/
Argh. s/attemp/attempt/ 02:06
AlexDaniel :D
ZoffixWin I just wanna know what it's doing :P)
We really need the equvalent of perlbot's deparse :)
Juerd Build it :)
AlexDaniel ZoffixWin: (1 . map: * + 1) looks like the right one
ZoffixWin <ZoffixWin> perlbot, deparse: say 42 / 2 /3
<perlbot> ZoffixWin: no feature ':all'; use feature ':5.16'; say(7);
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?
Juerd Oh, the boilerplate!
camelia rakudo-moar 780192: OUTPUT«chunk: 1␤1␤Memory allocation failed; could not allocate 24 bytes␤»
ZoffixWin It would result in say <1 2 3 4 5>.map:* + 2
awwaiid hehe
AlexDaniel m: say <1 2 3 4 5>.map: * + 1 . map: * + 1
camelia rakudo-moar 780192: OUTPUT«(2 3 4 5 6)␤»
AlexDaniel oh well
I'm blind
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␤␤»
ZoffixWin m: say <1 2 3 4 5>.map: { $^a + 1 . map: * + 1 }
camelia rakudo-moar 780192: OUTPUT«(2 3 4 5 6)␤»
AlexDaniel wait, look
m: say <1 2 3 4 5>.map: * + 1 . map: * + 1
camelia rakudo-moar 780192: OUTPUT«(2 3 4 5 6)␤»
AlexDaniel m: say <1 2 3 4 5>.map: * + (1 . map: * + 1)
camelia rakudo-moar 780192: OUTPUT«(2 3 4 5 6)␤»
ZoffixWin but that result makes no sense 02:09
m: say <1 2 3 4 5>.map: * + (1 . map: * + 2)
camelia rakudo-moar 780192: OUTPUT«(2 3 4 5 6)␤»
ZoffixWin m: say <1 2 3 4 5>.map: * + (1 . map: * + 10)
camelia rakudo-moar 780192: OUTPUT«(2 3 4 5 6)␤»
ZoffixWin m: say <1 2 3 4 5>.map: * + (10 . map: * + 10)
camelia rakudo-moar 780192: OUTPUT«(2 3 4 5 6)␤»
ZoffixWin :S
Ah
tis a list of 1 -_-
AlexDaniel :)
ZoffixWin: yeah, my brain falls out when I see something like that
I just hope that I will never see something like that in a real code 02:10
I love : though
02:11 xpen joined
awwaiid for some reason I thought you could map: { ... }.map: { ... }, but I guess not 02:11
makes more sense that you can't
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 ()
like .map: {} :.map: {}
Juerd Ew 02:13
ZoffixWin :(
Juerd I use : for impure methods mostly
And I don't like chaining those (I'm against returning self for the sake of chaining)
AlexDaniel awwaiid: well you can use ==> if you don't want parens
Juerd Works out well that way.
AlexDaniel m: say (<1 2 3> ==> map * + 1 ==> map * × 2)
camelia rakudo-moar 780192: OUTPUT«(4 6 8)␤»
ZoffixWin :o
what sorcery is this 02:14
AlexDaniel feeds
Juerd If you want to do a bunch of methods on the same thing, instead of chaining, just use 'given'.
ZoffixWin m: say <a b c> ==> map *.succ ==> uc
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…»
ZoffixWin m: say (<a b c> ==> map *.succ ==> uc)
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…»
ZoffixWin m: say (<a b c> ==> map *.succ ==> .uc)
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)␤»
ZoffixWin :(
Juerd ZoffixWin: A little-known feature called 'feeds'. A long, long time ago, they were written as ~> and <~, but they lost that cuteness :)
AlexDaniel m: say (map * × 2 <== map * + 1 <== <1 2 3>) 02:15
camelia rakudo-moar 780192: OUTPUT«(4 6 8)␤»
AlexDaniel m: say (<a b c> ==> map *.succ » .uc)
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␤»
AlexDaniel m: say (<a b c> ==> map *.succ».uc)
camelia rakudo-moar 780192: OUTPUT«((B) (C) (D))␤»
Juerd map *.uc
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?
Here, have a map.
AlexDaniel m: say (<a b c> ==> map *.succ)».uc
camelia rakudo-moar 780192: OUTPUT«(B C D)␤»
AlexDaniel ZoffixWin: here's the right one 02:17
02:17 vendethiel left
AlexDaniel m: say ((map *.uc <== <a b c>) ==> map *.succ) # haha 02:19
camelia rakudo-moar 780192: OUTPUT«(B C D)␤»
02:23 addison_ left 02:26 webstrand joined, vendethiel joined 02:29 laz78 joined 02:32 kid51 joined 02:34 kaare_ left
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:37
sammers hello 02:43
Native call is having issues finding libgd
I am using 2015.12 02:44
02:44 molaf_ joined
sammers I have libgd2 / libgd3 installed 02:44
awwaiid greetings sammers
Hotkeys m: for 1/10.FatRat,2/10.FatRat ... 1.FatRat -> $n { $n.WHAT.say }
camelia rakudo-moar 780192: OUTPUT«(FatRat)␤(FatRat)␤(FatRat)␤(FatRat)␤(FatRat)␤(FatRat)␤(FatRat)␤(FatRat)␤(FatRat)␤(FatRat)␤»
sammers hi awwaiid 02:45
Hotkeys webstrand:
m: for (1/10,2/10 ... 1).map(*.FatRat) -> $n { $n.WHAT.say }
camelia rakudo-moar 780192: OUTPUT«(FatRat)␤(FatRat)␤(FatRat)␤(FatRat)␤(FatRat)␤(FatRat)␤(FatRat)␤(FatRat)␤(FatRat)␤(FatRat)␤»
awwaiid sammers: do you also have the -dev packages installed?
Hotkeys I don't know if there is a better way
but that's a way
sammers I do, but double checking... 02:46
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:47
02:47 molaf left
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
02:49 BenGoldberg joined 02:50 cognominal_ joined
sammers this is the code github.com/perl6-community-modules.../lib/GD.pm 02:50
webstrand Hotkeys: Thanks.
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)
sammers awwaiid: I have tried changing these `native('libgd')` to `native('libgd', $gd_version)` and testing different versions.
awwaiid: thanks
02:52 cognominal left
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
awwaiid sammers: yeah, I get something like that with the panda test, I'm git cloning now
sortiz sammers, try without 'lib': native('gd',...); 02:54
sammers awwaiid: thanks
awwaiid: ok, will do...
awwaiid sammers: indeed -- when I do what soritz suggests it seems to load 02:55
(though it does give me the version warning)
02:56 gtodd1 left
awwaiid sammers: looks like you might get to do a PR :) 02:56
sammers awwaiid: great, this is working here too.
awwaiid: ha, ok, I will put it together after I test this a little more.
sortiz sammers, I use native('gd',v3.0.0), no -dev needed. 02:57
sammers soritiz: ok, thanks. good to know. 02:58
03:00 gtodd joined
sammers soritiz, awwaiid: I will test this out on a couple other distros and submit a pr today 03:02
er sortiz
03:06 kid51 left 03:09 AlexDaniel left 03:10 vendethiel left
Juerd webstrand: If you want to check whether they're all fatrats: for @foo -> FatRat $x { ... } 03:14
webstrand: If you want coerce them all to fatrats: for @foo -> FatRat() $x { ... }
03:18 vendethiel joined
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)␤»
TimToady FatRat is sticky
so is Complex 03:20
03:22 Herby_ joined
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.
Herby_ o/ 03:23
03:26 webstrand left
skids o/ 03:26
TimToady ceiling by definition coerces to Integer; why would you expect it to stay FatRat? 03:27
Int I mean
Juerd TimToady: webstrand left
TimToady so he did...
Juerd Ask a question on irc, leave. That's a common pattern that I still don't understand. 03:28
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:30
Juerd I don't understand why the error message says $apiversion if you used $gd_version. 03:33
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.
Juerd Other than that, I'd expect 'my $the-variable = BEGIN v1' to fix it :)
grondilu m: say (3.FatRat / 3).WHAT
camelia rakudo-moar 780192: OUTPUT«(FatRat)␤»
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
sammers Juerd, $apiversion is from NativeCall guess_library_name 03:37
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
So not really worth much, imo :)
sammers Juerd, ok, I just tested `my $gd_version = BEGIN v3;`, but am seeing the same warning. 03:39
03:39 vendethiel left
Juerd sammers: I can't seem to reproduce it anyway... 03:39
sammers hmm
skids Juerd: True, just saying there's pecedent and people who may be conditioned to expect it.
Juerd skids: Quite likely
skids: And given the way C's types work, it's not even weird to do this in C 03:40
03:40 noganex_ left
Juerd Those types are all about in-memory encoding. 03:41
03:48 xinming_ joined 03:50 xinming left 03:52 Herby_ left 03:55 BenGoldberg left
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 04:07 cdg joined 04:18 Actualeyes joined 04:20 xinming joined 04:22 xinming_ left 04:25 vendethiel left
[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 04:31 vendethiel joined 04:32 psy left 04:46 cpage_ left
dalek p: bcd8b2c | coke++ | VERSION:
bump version
04:47
p: a28a304 | coke++ | tools/build/MOAR_REVISION:
bump MOAR version
04:48
[Coke] nqp test failing. 04:50
t/nqp/19-file-ops.t
not ok 85 - lstat_time doesn't follow symlink
these are new tests added by pmurius since Christmas. 04:51
*pmurias 04:52
04:52 laz78 left
[Coke] anyone see a problem with commenting out the new failing test for now? 04:53
[Coke] opens github.com/perl6/nqp/issues/274 for now. 04:56
dalek p: 89880e1 | coke++ | t/nqp/19-file-ops.t:
don't run new failing test - Issue #274
04:57
[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
or should we have a git submodules command as part of the nqp release?
05:00 labster left, lokien_ joined
[Coke] ... nevermind, forgot where the submodules were! 05:01
05:04 kanishka joined
[Coke] how can I see what commits are just on the prep branch? 05:09
05:16 vendethiel left
dalek kudo/2016.01-preparation: 0847886 | coke++ | README.md:
First release of 2016
05:17
kudo/2016.01-preparation: 0286472 | coke++ | docs/release_guide.pod:
We appear to not want release names anymore.
kudo/2016.01-preparation: c6dcd93 | coke++ | docs/release_guide.pod:
move release # down, expand warning on scheduling
kudo/2016.01-preparation: 5c09fe2 | coke++ | docs/announce/2016.01.md:
improve release announcement
05:18 cpage_ joined 05:23 raiph left, raiph joined 05:24 vendethiel joined
dalek kudo/2016.01-preparation: c6db1ea | coke++ | docs/announce/2016.01.md:
fix people, get rakudo commits also
05:27
kudo/2016.01-preparation: 785728d | coke++ | docs/release_guide.pod:
no longer named releases on the regular
05:28
kudo/2016.01-preparation: 2d9202c | coke++ | tools/build/NQP_REVISION:
[release] bump NQP revision (RC)
05:30
kudo/2016.01-preparation: a720624 | coke++ | VERSION:
[release] bump VERSION
05:31 laz78 joined
[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:33
llfourn_ [Coke]++ 05:39
05:44 molaf_ left, Cabanossi left 05:45 khw left, vendethiel left 05:46 Cabanossi joined 05:54 cdg left
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␤␤»
ugexe m: my $x = do while (1) { FIRST { say "xxx"; }; LAST { die; }; };
camelia rakudo-moar 780192: OUTPUT«===SORRY!===␤Cannot reference undeclared local 'LOOP_BLOCK_1'␤»
[Coke] ok, RC tarballs and release tags available for testing. 06:06
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:07
06:15 anthk_ left 06:24 vendethiel joined 06:37 azawawi joined
azawawi hi and good morning #perl6 06:37
github.com/azawawi/scripts/blob/ma...k-image.md # Initial perl6-magickwand documentation in markdown format :)
06:45 laz78 left 06:47 vendethiel left
azawawi what's Perl 6's counterpart to preshing.com/20110920/the-python-wi...y-example/ ? 06:49
s/counterpart/similar solution/
06:50 Actualeyes left 06:55 cdg joined 07:03 cdg left, domidumont joined 07:04 vendethiel joined 07:08 azawawi left, domidumont left, perlawhirl left, domidumont joined 07:09 lokien_ left
[Coke] m: my Int $a = 123; given $a { .flip.say } 07:11
camelia rakudo-moar 780192: OUTPUT«321␤»
[Coke] m: my Int $a = 123; given $a -> $b { $b.flip.say }
camelia rakudo-moar 780192: OUTPUT«321␤»
07:13 _Gustaf_ joined
[Coke] gnite, folks. 07:13
07:13 Actualeyes joined 07:14 sjoshi joined, CIAvash joined 07:17 labster joined
_Gustaf_ Morning all. 07:24
07:26 vendethiel left 07:28 vendethiel joined 07:30 vendethiel left 07:33 laz78 joined
[Tux] New failure (worked yesterday) 07:37
ok 271 - new for Channel
Internal error: zeroed target thread ID in work pass
07:41 nakiro joined
[Tux] gist.github.com/Tux/fb1b744f31d3ae317b16 07:41
07:42 firstdayonthejob joined, laz78 left
stmuk I saw that error on os x a week or two back but couldn't reproduce 07:43
07:47 laz78 joined
[Tux] print ""; seems to be enough 'delay' to make the test pass 07:49
nine .tell azawawi I'd say LEAVE phasers 07:51
yoleaux nine: I'll pass your message to azawawi.
07:55 abraxxa joined
[Tux] with that print temporarily added, here are today's timings … 07:57
csv-ip5xs 18.047
test 22.694
test-t 12.645
csv-parser 51.546
07:59 FROGGS joined, kanishka left 08:00 cdg joined 08:01 abraxxa left 08:02 nwc10 joined
nwc10 good *, #perl6 08:03
not sure if this is still the right channel...
Unrecognized revision specifier '2016.01-RC1'
and you now can't build rakudo.
this is a bit LTA
nine Good morning! What actions gives you this message? 08:04
nwc10 perl Configure.pl --backends=moar --prefix=/home/nicholas/Sandpit/moar-san 08:05
where that path has NQP built from HEAD
08:05 maxbracht joined
nwc10 $ /home/nicholas/Sandpit/moar-san/bin/nqp-m --version 08:06
This is nqp version 2016.01-RC1 built on MoarVM version 2016.01
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:07
but I have a suspicion that it's something to do with github.com/rakudo/rakudo/commit/2d9202cdd3 08:08
08:08 cdg left
nine Are you building that branch? 08:09
nwc10 I'm on nqp master and rakudo nom
so, arguably, no branches
nine Oh, I can reproduce here
That rakudo commit is in the 2016.01-preparation branch 08:10
08:10 maxbracht left
nwc10 OK. Anyway, I do have a lack of coffee, so I'm AFK to fix this 08:10
nine Sounds like a pleasent idea :) 08:11
Oh...maybe I should do the same to fix my spelling... 08:12
08:12 labster left, laz78 left 08:13 darutoko joined 08:14 abraxxa joined 08:19 perlawhirl joined, bjz joined, abraxxa left, abraxxa joined 08:23 labster joined
perlawhirl \quit 08:24
08:24 perlawhirl left, bjz left 08:26 bjz joined, RabidGravy joined 08:39 firstdayonthejob left 08:41 zakharyas joined, ely-se joined 08:48 jeek left 08:50 labster left 08:51 TEttinger left 08:54 labster joined 08:55 Kogurr left 08:57 abraxxa left 08:58 CIAvash left 08:59 nakiro left 09:02 nakiro joined 09:04 labster left 09:06 rindolf joined 09:08 domidumont left 09:13 abraxxa joined 09:14 Actualeyes left 09:19 sortiz left 09:20 pi4 left 09:22 pi4 joined
funrep is there a module for SSL sockets in perl6? 09:25
moritz yes 09:30
funrep: pro typ: modules.perl6.org/ has a search function
*tip
nine FOSDEM here we come :)
eiro \o/ 09:31
h-2 for us
09:31 brachtmax joined 09:34 ref left
funrep moritz: yeah saw that but the one listed there doesnt build unfourtunally 09:34
moritz funrep: maybe the correct question is "how do I get it to build?" instead of "is there one?" 09:35
09:35 lnrdo joined
moritz funrep: because you know there is one. 09:35
09:38 ref joined
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:39
moritz well, did you read the README regarding what you need to build the module? 09:40
09:40 wamba joined
moritz if yes, and all the requirements are installed, please submit a bug report 09:40
'cause we can only fix the bugs that are reported to us 09:41
(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)
geekosaur haskell, with a more mature ecosystem, still has problems with SSL 09:42
basically bootstrapping https support is insanely painful 09:43
and becoming more so, because you generally have to download extra stuff to do it... over SSL 09:44
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? travis-ci.org/sergot/openssl/build...8323#L1007
yoleaux 27 Jan 2016 21:49Z <gfldex_win> FROGGS: please check gist.github.com/anonymous/edae0ee546d071491a73
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. :/
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
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. gist.github.com/zoffixznet/b104d0f9a9f965c92dd3
09:46 labster joined
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)
yoleaux FROGGS: I'll pass your message to ZoffixWin.
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:47
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.
FROGGS funrep: please no-paste your build output in case you are uncertain and get stuck 09:49
RabidGravy is de-bitrotting 41 release or "in-progress" modules 09:51
09:51 nwc10 left 09:52 kanishka joined
RabidGravy funrep, IO::Socket::SSL works for me (I have modules that depend on it,) what platform are you on? 09:52
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
funrep im on ubuntu
15.10 09:55
09:55 pecastro joined
FROGGS gfldex: yes, we depended on strawberry shipping it 09:56
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 FROGGS left
RabidGravy that is the github for IO::Socket::SSL 09:57
geekosaur unless they;re just missing a -dev package or something
brachtmax can somebody help me with the syntax of defining an Array of Integers...I tried
RabidGravy or OpenSSL (depending on where the issue is)
brachtmax my Array[Int] $var 09:58
but doing a
$var[0] = 8
I get my fingers slapped:
RabidGravy m: my Int @a = 1,2,3,4; say @a;
camelia rakudo-moar 780192: OUTPUT«[1 2 3 4]␤»
moritz m: my Int @array
camelia ( no output )
brachtmax Type check failed in assignment to $var; expected Array[Int] but got Array
moritz but IMHO typed arrays are usually more trouble than they are worth 09:59
09:59 raiph left
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
funrep RabidGravy* sorry
abraxxa funrep: hm?
brachtmax saying a few words about perl6 and I got asked this question
geekosaur brachtmax, there's a few things going on there, some surprising until you understand why 10:01
first off: `my Array[Int] $x` means that $x is a single item to which you can assign an array of Int
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
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
gfldex .tell hankache could you add (basic) typed arrays to the intro please?
yoleaux gfldex: I'll pass your message to hankache.
geekosaur (basically, if you use an array operation on a scalar, it pretends the scalar is a 1-element array)
Juerd geekosaur: s/array/list/? 10:04
geekosaur yeh
Juerd Or rather, a positional operation ... 1-element list?
geekosaur should not be awake rigt now, brain is about half asleep and half bundle of anxiety :/
yeh, I'm also trying to not be too pedantic 10:05
Juerd You can have the functional halve of my brain
I'm sick so I should be sleeping anyway
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)
Juerd I'm not trying to be pedantic, I'm trying to get more details from you to understand the issue better myself 10:06
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:10
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
geekosaur ^
10:11 domidumont joined
RabidGravy I think this in relation to the failing example shows it 10:12
m: my Array[Int] $a = Array[Int].new; $a[0] = 1; $a[1] = 2; say $a
camelia rakudo-moar 780192: OUTPUT«[1 2]␤»
geekosaur right, that's the first part of my explanation
moritz why do folks use $ for array variables?
RabidGravy dunno
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 %.
RabidGravy I think it's because of the P5 ArrayRef thing
geekosaur m: my $a = 1, 2, 3; say $a[1]
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␤…»
geekosaur m: my $a = (1, 2, 3); say $a[1]
camelia rakudo-moar 780192: OUTPUT«2␤»
Juerd Non-perl languages apparentlydon't have separate sigils for arrays and hashes.
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
putting a list container into the scalar, that is
list-y, I should say, since I don't recall what actually goes in there 10:15
m: my $x = (1, 2, 3). say $x.WHAT
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…»
geekosaur derp
m: my $x = (1, 2, 3); say $x.WHAT
camelia rakudo-moar 780192: OUTPUT«(List)␤»
geekosaur which is really just anoter example of every DWIM coming with a WAT 10:16
RabidGravy there, all de-bitrotted 10:20
10:20 ely-se left 10:22 apathor left, apathor joined
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:23
geekosaur heh. wonder if they forgot to push the commit with the tag 10:24
(git is surprising that way if you're used to other VCSes)
flussence and it only happens on one machine. maybe github has some screwed up mirrors... 10:25
RabidGravy I'm always forgetting the --follow-tags 10:29
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:30
10:31 lnrdo left 10:34 perlawhirl joined 10:35 cognominal_ left 10:36 domidumont left, lnrdo joined 10:37 cognominal joined 10:42 jeek joined, domidumont joined
flussence nope, it's still confused. seems like 2016.01 really doesn't want to build unless I'm using --gen-moar 10:42
10:43 espadrine joined 10:46 ely-se joined 10:47 espadrine_ joined 10:48 lnrdo left, espadrine left
flussence wait, it's NOT my fault at all! it's dying in tools/lib/NQP/Configure.pm line 52 10:48
10:49 wamba left 10:50 fireartist joined
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:50
nine flussence: [Coke] reported something like that in #perl6-release 10:51
10:51 cognominal left
perlawhirl RabidGravy: hi 10:52
RabidGravy erp 10:53
perlawhirl I never thanked you for IO::Path::Mode
so err, thanks!
10:53 wamba joined
RabidGravy :) Glad it works for you 10:53
perlawhirl I was playing with it today and made a sort-of 'ls' using it: hastebin.com/isinubehin.pl' 10:54
RabidGravy I'd been meaning to make it for ages but never had sufficient impetus which you provided
perlawhirl glad i could help 10:56
RabidGravy I thought I had made a Str method 10:57
perlawhirl for the perms? 10:58
RabidGravy yeas but no I didn't - false memory
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
10:59 lnrdo joined
RabidGravy well, there's definitely a more generic way as all the bit shifting and masking is done 11:00
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
but it was slower than the bit-shifting
RabidGravy the .user .group and .other methods return an Int with the Permissions role
which gives it the .execute, .read and .write attributes 11:03
perlawhirl ah
11:03 lnrdo left
perlawhirl i might play around with it some more. not that this ls script serves any purpose :D 11:03
11:06 cognominal joined
RabidGravy similarly file type and setuid, setuid, sticky and so forth all have accessors 11:07
on the main mode object
perlawhirl yes i did see those
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:08
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:10
perlawhirl all good. i don't have a need for it outside of re-implementing ls, but feel free to add it 11:11
11:12 brachtmax left
perlawhirl come to think of it, fairly certain golang file mode has it, so you may as well 11:12
... can't have that gopher one-upping us :D
11:12 ab6tract joined, laz78 joined
ab6tract o/ #perl6 11:12
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␤␤»
fireartist is feeling very dim right now
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
camelia rakudo-moar 780192: OUTPUT«A.new(x => "bar")␤»
fireartist oh! 11:15
RabidGravy the accessor is a rw method with no arguments
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
react { whenever "/tmp".IO.watch -> $c { my $cmd = Proc::Async.new('echo','foobles'); await $cmd.start } }
RabidGravy almost literally "method x() is rw ( $!x }"
11:16 travis-ci joined
travis-ci Doc build passed. sylvarant 'Merge pull request #9 from perl6/master 11:16
travis-ci.org/sylvarant/doc/builds/105645504 github.com/sylvarant/doc/compare/0...1f97610785
11:16 travis-ci left
ab6tract the await on a Proc::Async will break out of the react loop 11:17
*most* of the time
RabidGravy you want it do that? 11:18
11:18 kaare_ joined, espadrine_ is now known as espadrine
RabidGravy react { whenever "/tmp".IO.watch -> $c { my $cmd = Proc::Async.new('echo','foobles'); whenever $cmd.start { done } } } ; # or something 11:18
ab6tract RabidGravy: nope, i want it to keep reacting until i call done 11:19
RabidGravy then omit the done there
ab6tract i don't have a done in my example, but the react block still finishes
if you touch multiple files, you will only get one 'foobles; 11:20
*'foobles'
or two if you are really lucky 11:21
RabidGravy react { whenever "/tmp".IO.watch -> $c { my $cmd = Proc::Async.new("echo","foobles"); whenever $cmd.start { say $c } } } 11:23
appears to work *forever* for me
ab6tract so the answer is: don't use await inside of react blocks? 11:24
but the problem is that then you cannot call a subroutine which does normal await-y things
could also be an
OS X issues :/
RabidGravy well the inner whenever is the same as the await
ab6tract except that one works, and the other doesn't 11:25
for me
RabidGravy it is the await that is problem
ab6tract do you see the same eternal behavior my initial example, RabidGravy ? 11:26
ah, good to know...
11:27 laz78 left
ab6tract well, it's still broken for me :S 11:29
RabidGravy now I'm curious as to why the promise returned by start isn't working for the await 11:30
ab6tract RabidGravy: gist.github.com/ab5tract/d730a845a3915f7abdcf 11:31
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)'
so far my experiment into proving how simply perl 6 is for this kind of async script is not going so well :S 11:32
perlawhirl ab6tract: i get one fooble and nothing more 11:33
however...
11:33 blobo joined
perlawhirl if i do .IO.watch.stable(0.1) { 11:33
it seems to be find
s/find/fine/
don'e ask me why
hmm, don't ask me to type coherant sentences either
11:34 cdg joined
perlawhirl if you've ever watched a 'watch' file changes actually trigger something like 3 events really quickly 11:34
ab6tract perlawhirl: ... stable? :S
perlawhirl dunno, maybe that is causing some issue
stable waits until watch has been stable for n seconds 11:35
moritz the file events are *very* OS-specific :/
ab6tract could be. in my script i added a %seen lookup and use that in my whenever
perlawhirl so when you get that sudden rapid triger of 'watch' events, it waits until they are stable for a while
11:35 xpen left
ab6tract perlawhirl: unfortunately that doesn't help my script's behavior :( 11:36
perlawhirl *shrug* 11:37
do you only get one fooble most of the time?
ab6tract perlawhirl: yes. but for the actual use case in gist.github.com/ab5tract/d730a845a3915f7abdcf, it bails immediately after i copy a .wav file to /tmp 11:38
11:38 cdg left
gfldex if .pod files would be modules, would they be precompiled and the =pod stuff parsed faster? 11:40
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:45
11:47 azawawi joined
azawawi hi 11:48
yoleaux 07:51Z <nine> azawawi: I'd say LEAVE phasers
azawawi nine: thx
11:53 labster left
lizmat commute to Brussels & 11:54
11:54 lizmat left
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
i only changed the input path, everything else unchanged and it works fine
i'm sorry
ab6tract perlawhirl: don't be!
perlawhirl did you solve it?
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
it did them all
ab6tract :( :(
perlawhirl: are you on Linux?
might be an OS X heisenbug 11:57
perlawhirl $*DISTRO == ubuntu (15.10.Wily.Werewolf)
i could fire up the wifes macbook and build rakudo on it to test if you'd like 11:58
11:58 rindolf left
ab6tract perlawhirl: only at your own pleasure 11:58
perlawhirl will give it a shot... tho if it works, it'll only baffle you more :D 12:00
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
perlawhirl Zoffix: i believe it was this you were trying to do earlier 12:06
m: <a b c> ==> map *.succ ==> map *.uc
camelia ( no output )
perlawhirl m: say <a b c> ==> map *.succ ==> map *.uc
camelia rakudo-moar 780192: OUTPUT«(a b c)␤»
perlawhirl hrm 12:07
that woks for me here
i get (B C D) in the repl
12:07 lnrdo joined
ZoffixWin m: say (<a b c> ==> map *.succ ==> map *.uc) 12:08
camelia rakudo-moar 780192: OUTPUT«(B C D)␤»
perlawhirl sure, there you go
12:08 ely-se left
perlawhirl you were feeding directly to .uc before, rather than feeding to map *.uc 12:09
12:09 lnrdo left, blobo left
ZoffixWin I see 12:09
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: hastebin.com/ahalutewiz.pl 12:13
ZoffixWin still doesn't get the point of feeds 12:14
m: say <a b c>».succ».uc
camelia rakudo-moar 780192: OUTPUT«(B C D)␤»
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
camelia rakudo-moar 780192: OUTPUT«(B C D)␤»
ZoffixWin m: say <a b c>».&({;.succ; .succ; .succ})».uc
camelia rakudo-moar 780192: OUTPUT«(B C D)␤»
ZoffixWin why is .succ called just once? :s
Ah 12:17
m: say <a b c>».&({.succ.succ.succ})».uc
camelia rakudo-moar 780192: OUTPUT«(D E F)␤»
12:20 Skarsnik joined
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:20
Skarsnik Hello 12:21
ZoffixWin heh
hai
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
perlawhirl: more like UNIX pipes, but with objects in the pipes
perlawhirl: it's just that nobody has gotten around yet to implement them properly 12:24
perlawhirl thanks moritz
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:26
ZoffixWin What about self."$name"('a') 12:27
moritz fireartist: an attribute access with . is just a method call
fireartist: so self."$name"() = 'a'
12:31 perlawhirl_osx joined
perlawhirl_osx ab6tract: i’m up and running, rakudo built, about to test 12:32
fireartist I'm missing something, still can't get it to work 12:34
m: class A {has $.foo is rw; method bar($attr) { self."$attr"() = "ok" }}; my $a=A.new; $a.bar('foo'); $a.foo.say;
camelia rakudo-moar 780192: OUTPUT«ok␤»
fireartist hmm, on my command line, I'm getting "Undeclared routine: foo used at line 1" 12:35
12:35 perlawhirl_osx left
perlawhirl ab6tract: Survey says: X 12:36
it bails after the first copy on OSX
so it seems you've got yourself a bug
no prob seen on linux
fyi: $*DISTRO == macosx (10.10) 12:37
12:37 kid51 joined
Skarsnik oups, can someone remove github.com/sergot/http-useragent/b...es.pm6#L39 ? 12:37
12:41 AlexDaniel joined 12:45 perlawhirl_osx joined 12:47 mohae left
JimmyZ shadowpaste: you could send a PR or submit a issue there 12:48
Skarsnik: ^^
ab6tract perlawhirl: thank you! 12:49
good to know i ain't crazy
sad to know that it's out of my hands :(
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
12:50 ely-se joined
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
YES! that was exaclty my thought
the 'exit' from your proc is somehow propagating to rakudo... somehow... maybe
rindolf So I wrote this script in Perl 6 and it seems incredibly slow - bitbucket.org/shlomif/shlomif-comp...ew-default - is there anything I can do about it aside from reimplementing it in a faster language? 12:52
12:52 skids left
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 :)
ab6tract perlawhirl: i also tried wrapping in try/CATCH, but it never produces an exception
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␤␤»
ab6tract naturally
perlawhirl hmm, yeah. seems to support that it's exiting gracefully.
12:55 kid51 left
perlawhirl i have an idea to test... one sec 12:56
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
ie... i put a 'say "DONE";
at the end of the foobles scripts
it always says 'foobles' then done
12:59 ajr_ joined
perlawhirl when the Proc i ran was a p5 script that just did 'exit(123)' i never saw DONE 13:00
so yes, i would say the exit signal is bubbling up
in some manner
ab6tract to quote Bobby Singer: "balls"
13:01 FROGGS joined
timotimo blogs.perl.org/users/yary/2016/01/u...oh-my.html - do we have a problem with this on windows? 13:03
Skarsnik do you think it's a nice formating for the generated nc code for function in gptrixie? gist.github.com/Skarsnik/3f3bd0d14b7fd2c1f9ff 13:08
13:14 perlawhirl_osx left
AlexDaniel I know that this is perhaps too late, but 13:18
m: gist.github.com/AlexDaniel/8671421996b2053d05cb
camelia rakudo-moar 780192: OUTPUT«False Christmas Tree␤»
13:18 perlawhirl_osx joined
AlexDaniel it should be rendered like this: files.progarm.org/2016-01-29-15182..._scrot.png 13:18
ilmari can't find a package in debian for U+109C1 MEROITIC CURSIVE NUMBER TWO 13:25
timotimo also can't see that character in his browser 13:26
.u 𐅵
yoleaux U+10175 GREEK ONE HALF SIGN [No] (𐅵)
ilmari .u U+11063 13:27
yoleaux U+11063 BRAHMI NUMBER NINETY [No] (𑁣)
13:28 perlawhirl_osx left 13:35 domidumont left, domidumont joined
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␤␤»
gfldex m: my $a is default(Failure.new); say $a;
camelia rakudo-moar 780192: OUTPUT«===SORRY!===␤Failed␤»
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 } } }
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
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 } } }
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…»
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:39
iH2O so...laziness is sometimes a bad thing?
AlexDaniel especially given that it's something people actually want to do
gfldex i'm rakudobugging right now
AlexDaniel gfldex: great!
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:40
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?
does camelia has a file? x) 13:44
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␤␤»
perlawhirl Skarsnik: it works fine for me.
13:45 iH2O left
perlawhirl oh 13:45
Skarsnik perl6 -e 'my $fh = open "examples/test.h"; say $fh.lines.elems; say $fh.lines[0];' 13:46
31
Nil
perlpilot Skarsnik: you've read all of the lines already, why shouldn't you get Nil?
Skarsnik the first line is an #include
AlexDaniel m: say lines.elems; say lines[0]
camelia rakudo-moar 780192: OUTPUT«20␤Nil␤»
AlexDaniel Skarsnik: ↑ here
Skarsnik: camelia has some stdin
lucs m: my $s = "abcdef"; $s ~~ s:g/$_// for <a e>; say $s # How do I fix this topicalization?
camelia rakudo-moar 780192: OUTPUT«abcdef␤»
azawawi github.com/azawawi/perl6-magickwan.../Image.pm6 # Generated ImageMagick documentation in POD format :)
Skarsnik so is that a bug?
I know line is a lazy list 13:47
AlexDaniel m: my @l = lines; say @l.elems; say @l[0]
camelia rakudo-moar 780192: OUTPUT«20␤Céad slán ag sléibhte maorga Chontae Dhún na nGall␤»
Skarsnik Yes if you do that it work
AlexDaniel m: say lines.WHAT
camelia rakudo-moar 780192: OUTPUT«(Seq)␤»
perlawhirl Skarsnik: instead of open, try my $fh = 'filename'.IO
perlpilot Skarsnik: When you say $fh.lines.elems, you've read to EOF to get the number of elems.
perlawhirl then $fh.lines[$index] should work
azawawi ~300 nativecall subs implemented so far :)
AlexDaniel Skarsnik: it's a Seq, so it does not keep them
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 \, $ /␤»
Skarsnik I think the cool thing with lazy list is to be populated on read access
but it should work here
Perleone m: say so "a,a" ~~ / ^ a+ % \, $ / 13:49
camelia rakudo-moar 780192: OUTPUT«True␤»
AlexDaniel Skarsnik: it's a seq, not a lazy list
Perleone m: say so "a, a,a,a" ~~ / ^ a+ % \,\s? $ /
camelia rakudo-moar 780192: OUTPUT«False␤»
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
from the doc on lines method on IO::Handle
13:50 abaugher_ left
Perleone m: my regex quan { \,\s? }; say so "a, a,a,a" ~~ / ^ a+ % <quan> $ /; 13:50
camelia rakudo-moar 780192: OUTPUT«True␤»
AlexDaniel My guess is that the doc is wrong then
geekosaur m: say *IN.lines.WHAT
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␤ …»
geekosaur wgiios
...
whoops
m: say $*IN.lines.WHAT
camelia rakudo-moar 780192: OUTPUT«(Seq)␤»
Perleone m: my regex quan { \h* "," \h* }; say so "a, a, a,a" ~~ / ^ a+ % <quan> $ /;
camelia rakudo-moar 780192: OUTPUT«True␤»
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, ZoffixW joined
AlexDaniel m: say lines.cache.elems; say lines.cache[0] 13:51
camelia rakudo-moar 780192: OUTPUT«20␤Nil␤»
AlexDaniel heh
ZoffixW Is there a way to make .rotor skip the first x elements?
m: say join " ", <Good Bon Buenos morning matin días>.rotor: 1 => 2;
camelia rakudo-moar 780192: OUTPUT«Good morning␤»
ZoffixW m: say join " ", <Good Bon Buenos morning matin días>.rotor: 2 => 2;
camelia rakudo-moar 780192: OUTPUT«Good Bon matin días␤»
AlexDaniel m: say join " ", <Good Bon Buenos morning matin días>[3..*].rotor: 1 => 2; 13:52
camelia rakudo-moar 780192: OUTPUT«morning␤»
Skarsnik m: for lines -> $f {say $f};
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⏏…»
AlexDaniel ZoffixW: why not use [3..*] ?
Skarsnik m: for $*IN.lines -> $f {say $f};
ZoffixW m: say join " ", <Good Bon Buenos morning matin días>[1..*].rotor: 1 => 2;
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…»
rakudo-moar 780192: OUTPUT«Bon matin␤»
ZoffixW AlexDaniel++ thanks :)
lucs m: my $s = "abcdef"; $s ~~ s:g/$_// for <a e>; say $s # How to obtain "bcdf"?
camelia rakudo-moar 780192: OUTPUT«abcdef␤»
Skarsnik duh why it work for stdin 13:53
jnthn From backlog: lines returns a Seq, which is one-shot.
(like all Seqs)
geekosaur read further
jnthn Not sure why it ends up then giving Nil instead of dieing over an already consumed Seq
geekosaur spec says it's a lazy list
ZoffixW m: enum Languages <English French Spanish>; say join " ", <Good Bon Buenos morning matin días>[French..*].rotor: 1 => 2;
camelia rakudo-moar 780192: OUTPUT«Bon matin␤»
ZoffixW This is neat :D
Skarsnik doc say lazy list 13:54
not sure for the spec
jnthn Then it should probably be corrected to say Seq
lucs Meh, I hate "Bon matin". "Bonjour" ftw
jnthn s/probably//
ZoffixW lucs, Bonjour, sava!
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!
geekosaur 's brain hurts at that rendition (in some sense) of ça va
Skarsnik jnthn, why? if it was a lazy list if will just read what is needed?
jnthn Skarsnik: Because a lazy list remembers things
lucs geekosaur: I'm lenient for the non-native speaker :) 13:56
ZoffixW :D
llfourn_ NaNquiete pas!
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 :)
llfourn_ I think I was trying to say inquiete pas :P (I did french in school)
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
geekosaur was trying to figure out if that was a NaNcy-typing joke
Skarsnik hm, not sure if I want to add the original C code in my generated code for functions
llfourn_ if only my jokes were that good :\
13:59 llfourn_ is now known as llfourn
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 13:59
i wonder if you could test on windows and see if it works correctly for you? 14:00
14:00 Actualeyes joined
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␤»
lucs (the :g is useless here, I didn't golf it down quite enough) 14:01
perlpilot lucs: ~~ topicalizes, so you'll have to use a regular for loop instead of the postfix form 14:02
(and name your var something other than $_)
lucs Ah, too bad, but there it is.
THanks
jnthn ab6tract: Not now, sorry, too much else to do here...please RT it if you didn't already
ab6tract: It wouldn't be the first thing where we ran into oddness on OSX, though... 14:03
14:06 abraxxa left
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␤»
Skarsnik is that too verbose? gist.github.com/Skarsnik/3f3bd0d14b7fd2c1f9ff x)
ab6tract jnthn: True. it's often the odd duck. that's supposed to be Windows' job! :)
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 ><
El_Che I hope you people are all packing for fosdem :) 14:08
ZoffixW I wish :(
perlpilot I'm on the wrong continent right now, so .... no. 14:09
Skarsnik Not so much money sadly :(
El_Che all pretty good reason, but still :)
14:09 lichtkind joined
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.
El_Che ZoffixW: thiw weekend
ZoffixW would be much happier if we have R* fully released before that 14:10
Unless that already happened last night...
El_Che ZoffixW: that would may us job as the perl booth easier, yes
but the debian approach also works: it's ready when it's ready :)
BooK jnthn: you live in Prague nowadays, right? 14:13
jnthn BooK: Yes 14:14
BooK ok, email incoming :-)
gfldex lolibloggedalittle! gfldex.wordpress.com/2016/01/29/no...container/ 14:16
Perleone lucs: It seems that $_ does not quite do what you expect it to in that context.
m: my $s = "AbcdEf"; { my $x=$_; $s ~~ s:g/$x// } for <A E>; say $s;
camelia rakudo-moar 780192: OUTPUT«bcdf␤»
BooK jnthn: your website still claims you live in Sweden, I was confused 14:17
perlawhirl m: my $s = "AbcdEf"; map { $s.=subst(/$_/, '') }, <A E>; say $s; 14:18
camelia rakudo-moar 780192: OUTPUT«bcdf␤»
perlawhirl lucs: how about that?
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
perlawhirl m: my $s = "AbcdEf"; map { $s.=subst("$_", '') }, <A E>; say $s; 14:18
camelia rakudo-moar 780192: OUTPUT«bcdf␤»
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...
ok]
so with & runs the function inside the caller? like a callback? 14:20
gfldex sammers: no, it returns a reference to the function/code object 14:21
m: sub f(){}; &f.^name;
camelia ( no output )
gfldex m: sub f(){}; say &f.^name;
camelia rakudo-moar 780192: OUTPUT«Sub␤»
gfldex m: sub f(){}; say &f.WHAT;
camelia rakudo-moar 780192: OUTPUT«(Sub)␤»
sammers ah
ok
14:22 skids joined
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␤»
ZoffixW sammers, ^ you can call it, inside, yes
perlawhirl lucs: this is closer to what you wanted
m: my $s = "AbcdEf"; $s.=subst("$_", '') for <A E>; say $s;
camelia rakudo-moar 780192: OUTPUT«bcdf␤»
jnthn BooK: Yeah, I should find time to update that :) 14:23
14:23 sena_kun joined
lucs perlawhirl: Nice ideas, thanks. 14:23
14:24 sjoshi left
ZoffixW m: my $s = "AbcdEf"; $s.subst-mutate: $_, '', :g for <A E>; say $s; 14:24
camelia rakudo-moar 780192: OUTPUT«bcdf␤»
perlawhirl if you subbing literal strings, the subst is better. subst('.', '') will strip literal dots, not any char
14:24 cdg joined
[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.
[Coke] and why this would impact people on nom, I have no odea.
*idea
ZoffixW lucs, same as .subst except it mutates the invocant 14:26
lucs Yep, nice.
lucs needs to read more docs, all the time...
[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
ZoffixW Well, almost same-as... the return value is different: docs.perl6.org/routine/subst-mutate
14:26 sammers left
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.
ZoffixW Can anyone think of a good real-world example for when you'd use .rotor with different values for sublists, like 14:27
m: say ^10 .rotor(2 => -2, 3, 4)
camelia rakudo-moar 780192: OUTPUT«((0 1) (0 1 2) (3 4 5 6) (7 8) (7 8 9))␤»
perlpilot ZoffixW: not quite sure what you're asking. 14:29
perlawhirl 01:30 here in australia, way past my bedtime
'night perlers
[Coke] g'nite
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
s/positions/positionals/;
perlawhirl Zoffix: wasn't directly in relation to your question.. i am literally going to bed :D
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
ETOOMANYPERLPEOPLE
perlawhirl yeah i should change my name or something
i'll sleep on it
zZz
14:31 perlawhirl left 14:32 bbkr joined, raiph joined
[Coke] if you are having trouble with something relating to the temporary RC-1 items, please join us in #perl6-release; thanks. 14:32
bbkr r: multi sub infix:<==> (Int $a, Str $b) { $a == $b } # hangs with severe memory leak 14:33
bbkr reports
camelia rakudo-moar 780192: OUTPUT«(timeout)»
( no output )
jnthn bbkr: That's an infinite recursion, it's just creating stack frames forever, no? 14:35
Oh, *compiling* it fails o.O
bbkr jnthn: yes, operator is not invoked 14:36
moritz fun :-)
bbkr r: multi sub infix:<==> (Int $a, Int $b) { $a == $b }
camelia ( no output )
jnthn m: multi sub infix:<==> (Int $a, Str $b) { say 'called'; $a == $b }
camelia ( no output )
jnthn m: multi sub infix:<==> (Int $a, Str $b) { $a == $b }
camelia rakudo-moar 780192: OUTPUT«(timeout)» 14:37
jnthn --stagestats is revealing
14:38 sammers joined
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
14:39 lokien_ joined
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:39
sena_kun m: say Buf.new(256); say Buf.new(512); 14:40
camelia rakudo-moar 780192: OUTPUT«Buf:0x<00>␤Buf:0x<00>␤»
sena_kun Is it 'by design'? Just interested.
FROGGS sena_kun: it should should throw instead IMO 14:41
jnthn bbkr: Certainly a bug 14:42
bbkr reports
jnthn FROGGS, sena_kun: For natives we've so far given them "native"-ish overflow semantics
ZoffixW perlpilot, well, I came up with this example. Seems at least plausible as a real-world thing: gist.github.com/zoffixznet/47164b976de32a0b6a05
sena_kun jnthn, okay then. 14:43
FROGGS jnthn: ahh, I forgot that a Buf boils down to that
[Coke] flussence: weird that I was able to build it locally using that tag as a ref. 14:44
obv. I wouldn't have pushed an RC tarball if it had exploded spectacularly.
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!
ZoffixW perlpilot, :o
flussence [Coke]: I'm building moar/nqp/rakudo all from git HEAD, if that makes any difference
ZoffixW perlpilot, that might be too... out there... for a blog post :D
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
[Coke] flussence: on nom?
or on the prep branch?
(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
[Coke] so it's happening on nom? that's double-plus weird.
one sec.
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 :)
[Coke] would also explain why I didn't see anything.
hoelzro ab6tract: what kind of weirdness? 14:49
[Coke] flussence: what's your Configure.pl line?
or are you using something other than straight rakudo to build?
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:50
14:52 sammers left
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?
my config step just completed fine on nom.
hoelzro ab6tract: do you have some example code?
[Coke] I think there's some other thing going on with the gentoo stuff. 14:54
ab6tract yup: gist.github.com/ab5tract/d730a845a3915f7abdcf
flussence pretty much straight away, first thing it prints is the die from line ~52
ab6tract perlawhirl was helping me a lot this morning
[Coke] (I did not use sysroot or prefex... wait, you don't --gen-moar ?)
so are you installing moar and nqp separately and then doing rakudo?
ab6tract he was able to make a smaller case reproduce by Proc::Async'ing a perl script that just did 'exit(123)' 14:55
but the behavior on linux seems to be sane
flussence [Coke]: yes; moar --version prints "This is MoarVM version 2016.01 built with JIT support"
nqp is "This is nqp version 2016.01-RC1 built on MoarVM version 2016.01"
BooK hey ab6tract 14:56
ab6tract hey BooK :)
[Coke] flussence: why are you installing 2016.01-RC1 ?
oh, right, you have no choice there. 14:57
so, the answer is: there is no guarantee that HEAD/HEAD/HEAD always works.
BooK I'll be in A'dam next week!
[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 =)
[Coke] but you might have similar problems if someone pushes a change to NQP that rakudo isn't ready for.
Skarsnik gah libminixml is annoying to use ><
[Coke] ... that said, let me try something. 14:59
... nope, nqp's VERSION is 2016.01, not 2016.01-RC1 15:00
ab6tract hoelzro: cheers! thank you :D
[Coke] why is it reporting the -tag- and not the actual declared VERSION, I wonder.
flussence it's probably relying too much on git-describe
15:06 sammers joined 15:11 xpen joined
ZoffixW Hah! This is cool: perl6 -e 'say ^2000 .rotor( (0.2, 0.4 ... 3).map: (10 * *.sin).Int ).join: "\n"' 15:12
Gives a sinusoidal pattern of digits :D
BooK cute 15:13
15:13 lizmat joined
FROGGS lol 15:14
15:17 lnrdo joined 15:28 boegel left 15:29 _Gustaf_ left
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␤…»
ugexe m: do while ( 1 ) { state $a++; say $a; }; 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…»
ab6tract ugexe: maybe you want to put a last in there so it actually stops sometime?
ugexe it doesnt help demonstrate anything about the bug
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
camelia rakudo-moar 780192: OUTPUT«(timeout)» 15:32
ab6tract ummmm... :S
m: my $x = do while ( 1 ) { state $a; last if $a == 20; $a++; }; say $x
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 FROGGS left
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 ...)␤»
ugexe it is strange that without assignment that it works ok 15:34
15:34 salv0 joined
azawawi 616 nativecall subs are finally wrapped in magickwand. Now the OO sugar :) 15:37
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
camelia rakudo-moar 780192: OUTPUT«20␤»
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
do while ... works. my $x = do while ... does not
15:42 xpen_ joined
ZoffixW Right. rakudobug it :) 15:42
15:42 ab6tract left
ugexe im still investigating it so i can give a give report, but yes 15:43
give a good^
15:43 xpen left 15:44 yurivish_ joined
flussence it's sinking the loop result that causes it 15:44
--target=ast might be useful to look at
ugexe m: my $x = do { while ( 1 ) { state $a++; say $a; }; };
adding blocks to `do` makes it act as expected
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
15:45 Perleone left 15:46 raiph left 15:47 ely-se left
ZoffixW New post "Perl 6 .rotor: The King of List Manipulation": blogs.perl.org/users/zoffix_znet/20...ation.html 15:48
azawawi reads it 15:49
ugexe wishes rotor had control options like supply for changing the parameters 15:50
15:51 ZoffixW left
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
what's the magic syntax for calling a private method on an object I'm storing in an attribute?
Skarsnik azawawi, you should try to make gptrixie generate fake oo stuff 15:52
15:52 khw joined
azawawi Skarsnik: now i have pod :) github.com/azawawi/perl6-magickwan.../Image.pm6 15:52
Skarsnik azawawi, should not be that hard. like identify function that start with a object* argment and regroup them
azawawi Skarsnik: im focusing on more documentation and tests first 15:53
Skarsnik: also user guide
Skarsnik: something like docs.wand-py.org/en/0.4.2/index.html
Skarsnik Not sure if it that usefull to copy the doc for a stray binding x) 15:54
azawawi Skarsnik: nope i took it from the original :) 15:56
perlpilot Zoffix++
15:58 boegel joined, sjn_phone joined 16:00 yurivish_ left
fireartist aha - found `trusts` in the docs - that's what I want! 16:00
azawawi ZoffixWin++ 16:03
at least i learned about .indent :)
16:04 sjn_phone left, sjn_phone joined, bbkr left
flussence wasn't someone complaining about that being slow a few days ago? might be some LHF... 16:05
16:05 sjn_phone left, sjn_phone joined
azawawi do we have something like Devel::Cover in Perl 6? 16:06
flussence timotimo had something like that working for CORE.setting... 16:07
skids has a bitrotted indent PR he should really get back to. 16:08
16:10 fireartist left 16:12 sjn_phone left 16:13 donaldh joined
donaldh . 16:13
yoleaux 28 Jan 2016 17:50Z <hoelzro> donaldh: godspeed, sir
donaldh okay, so root cause of "Missing serialize function for REPR ContextRef" is github.com/rakudo/rakudo/blob/nom/...lly.pm#L12 16:16
azawawi ci.appveyor.com/project/azawawi/pe...nd/history # AppVeyor (windows 7 x64): 41 minute record build time :)
donaldh Assigning to %instances causes a reposession into the compiling SC 16:17
16:17 rindolf left
hoelzro donaldh++ 16:17
Skarsnik 41 min rofl
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 :)
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?
azawawi so we do not have any destructors just LEAVE phasers, right? and DESTROY submethod is pretty much useless to native code handle cleanup
donaldh hoelzro: but the whole CompUnit::* subtree should never be serialized into a CompUnit AFAIK.
Skarsnik azawawi, you can still have destroy, it will maybe called at some point 16:22
hoelzro ahhh
Skarsnik just not when going out of scope like in c++
hoelzro so that %instances assign somehow makes nqp-j think that they should?
azawawi at least java has finalize 16:23
16:23 mohae joined
hoelzro azawawi: how is finalize different from DESTROY? 16:23
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
azawawi well DESTROY seems never to be called
Skarsnik never sucks x)
it should still be called x)
hoelzro azawawi: it does, but it *may* not be called if the program exits and you don't use --full-cleanup
donaldh wonders if nqp::neverrepossess is useful here...
RabidGravy ab5tract, github.com/jonathanstowe/Tinky/blo...code-files - works fabulously 16:25
:)
also found a rather amusing bug that I had to fix first
16:25 rindolf joined
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: gist.github.com/Skarsnik/3f3bd0d14b7fd2c1f9ff
I think we still need control over stuff like when something is deleted, like to close a connection, free NC memory...
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
azawawi Skarsnik: thanks, i will use it in upcoming projects :) 16:28
Skarsnik++
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
Skarsnik Someone should write something to extract the diowygen stuff, it could be fun xD
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
donaldh: *nod*
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
Skarsnik hoelzro, cute if have a single thread/process
16:29 rarara joined
TimToady that assumes only one interpreter; one would like to support multiple interpreters inside something like apache 16:29
more generally, any embedded interpreter should run all DESTROYs 16:30
hoelzro agreed
I think that's up to the embedder, then
it's kind of why we have --full-cleanup in Moar, right?
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
donaldh Is it possible to initialize "my %instances" in a role?
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
donaldh: I wonder if the fact that it's a role has something to do with it; role bodies are kinda funky
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
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? )
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)
s/GORDON_dataset__HNS_binding_motifAbv2_Zscore.txt/\/etc\/hosts/ 16:33
hoelzro rarara: what's the failure?
rarara Failed to seek in filehandle: 29
hoelzro btw, you probably want @*ARGS[0].IO.lines 16:34
or maybe just lines()
rarara same
lines() would not work
hoelzro so process substitution gets screwy, it seems
rarara it's a totally different thing
yep 16:35
but why seek ?
16:35 lnrdo left
donaldh jnthn: re: 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
azawawi jnthn: yup like python's with. This is an ugly example of what we will have github.com/azawawi/perl6-magickwan...lo.pl6#L31
arnsholt You can implement a pretty good with construct as a sub taking a block, actually 16:39
flussence
.oO( loop(my $x = Foo.new; False; $x.cleanup) { * } )
16:41
.oO( or should that be spelled $x.old? )
16:42
hoelzro rarara: this is the line that the seek is happening on: github.com/rakudo/rakudo/blob/nom/...le.pm#L134 16:44
rarara probably /home/romain/.rakudobrew/moar-nom/nqp/MoarVM/src/io/syncfile.c line 222
hoelzro I would guess it's nqp::eoffh, which Moar implements here: github.com/MoarVM/MoarVM/blob/mast.../io.c#L340 16:45
it could be that libuv implements eof via seek()...for some reason
skids azawawi: fwiw that code cleans up original twice and does not clean up filtered.
rarara nono is moar
mvm_eof function 16:46
hoelzro yeah, that's it
rarara: feel free to rakudo bug it
rarara ok 16:47
jnthn donaldh: Not easily...not without resorting to the nqp ops to disable/reanable the SC write barriers
nqp::scwbdisable and nqp::scwbenable respectively, iirc 16:48
hoelzro I'm wondering if that's a bug with role bodies in general
jnthn, donaldh: ↑
azawawi skids: thanks. i thought i fixed it earlier. skids++
[Coke] ZoffixWin: That is, were we to print just the first elements of our sublists, we'd receive our original list back. 16:49
.. except for the last element of the list. 16:50
donaldh jnthn: I'm guessing nqp::neverrepossess won't help here 16:51
'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
camelia rakudo-moar 780192: OUTPUT«Cannot coerce Inf or NaN to an Int␤ in block <unit> at /tmp/680o7HQYx3 line 1␤␤Actually thrown at:␤␤»
AlexDaniel Actually thrown at: ??
where?
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 leont left
AlexDaniel ZoffixWin: ↑ bug or feature? 16:54
m: say (^100).rotor: 1 => 0.5
camelia rakudo-moar 780192: OUTPUT«===SORRY!===␤This type cannot unbox to a native integer␤»
AlexDaniel bug!
16:55 nakiro left
AlexDaniel m: say (^100).rotor: 1 => Inf 16:55
camelia rakudo-moar 780192: OUTPUT«===SORRY!===␤This type cannot unbox to a native integer␤»
perlpilot definitely a bug IMHO
well ... maybe 2 bugs :)
AlexDaniel so it works differently on lists and on ranges 16:56
m: say (^5).rotor: 1 => Nil
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 …»
AlexDaniel m: say (^3).rotor: 1 => Any
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 …»
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
AlexDaniel did I mean a Pair with => -Inf? Hmmmm… I didn't, but 16:58
m: say <a b c>.rotor: 1 => -Inf
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:␤␤»
AlexDaniel blergh!
16:58 psy_ left
[Coke] AlexDaniel: what are you doing? 16:59
16:59 psy_ joined
AlexDaniel [Coke]: just poking some random stuff into rotor 17:00
RabidGravy "manual fuzzing" 17:01
AlexDaniel RabidGravy: “exploratory testing” :)
azawawi gist.github.com/azawawi/c92897284d5283361233 # Possible Perl 6 implementation of Python's with sugar. Feedback is more than welcome
[Coke] gentle reminder that camelia is available via privmsg. 17:02
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:05 xpen_ left
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
AlexDaniel ZoffixWin: ↑ how about that? :D 17:06
17:09 ZoffixW joined
ZoffixW [Coke]++ thanks fixed 17:09
[Coke] ZoffixW: whee 17:10
ZoffixW What's "is nodal"? 17:13
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.
AlexDaniel perlpilot: but it's an interesting feature
ZoffixW perlpilot, why error and not just .Int? 17:15
m: say <a b c d e f g h i j k>[1..1.5], (^10)[1..1.5]
camelia rakudo-moar 780192: OUTPUT«(b)(1)␤»
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
camelia rakudo-moar 780192: OUTPUT«((a b) (b c) (d e) (e f) (g h) (h i) (j k))␤»
17:16 ajr_ left
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.
ZoffixW: i.e. if the user really wanted .Int, they should have said so 17:17
ZoffixW perlpilot, but that introduces an inconsistency
perlpilot hwo so? 17:18
er, how so?
ZoffixW perlpilot, see my example above. I've used a Rat for an endpoint index and Rakudo DWIMMED
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 :)
ZoffixW I view .rotor withing the entire Perl 6.
*within
17:19 espadrine left
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:20
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
ZoffixW There's no guess, since 1.5 is meaningless.
AlexDaniel which should probably error out?
ZoffixW --- 17:22
perlpilot ZoffixW: clearly it's not meaningless since the current implementation handles it just fine ;)
AlexDaniel “You are doing meaningless stuff in block <unit> at -e line 1”
ZoffixW perlpilot, it doesn't. It's a bug
AlexDaniel, see my original argument about inconsistency.
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:23 zakharyas left
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:24
perlpilot lunch & 17:25
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:26 ZoffixW left
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.
donaldh hoelzro: this is a candidate fix: gist.github.com/donaldh/4de32ce051b18491242e 17:29
hoelzro: need to check for fallout on Moar 17:30
hoelzro nods
I kind of want to see if I can reproduce that failure with class bodies
I dunno; lately, everything looks like a role body problem to me =P
17:30 domidumont left
geekosaur and soon, role body won't look like words >.> 17:31
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
(provided it's untar'ed to the same path)
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
s/H\./H,/
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
moritz libc?
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
17:35 lnrdo_ joined
geekosaur "backward compatibility" is almost swear words these days 17:36
17:36 somerandomguy joined
dalek osystem: 3d8e2c7 | (James ( Jeremy ) Carman)++ | META.list:
Added LendingClub module.
17:37
osystem: 2d379e6 | (Zoffix Znet)++ | META.list:
Merge pull request #140 from peelle/patch-1

Added LendingClub module: github.com/peelle/LendingClub/
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:37 Zero_Dogg left
geekosaur if you really want it to be as portable as possible, link everything but libc static 17:38
17:38 Zero_Dogg joined
geekosaur and sometimes libc will still screw you (but the way libc works, linking it static is even worse) 17:38
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:39
17:39 wamba left 17:40 molaf joined
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 osystem: 6133533 | (Zoffix Znet)++ | META.list:
Fix 404 META files

CSV::Parser: META.info -> META6.info Data::Dump: META.info -> META6.info
sena_kun *only /opt/bin from /opt directory 17:41
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
ugexe is there a way yet to tell if a role was punned or composed from within the role itself?
17:42 wamba joined
ugexe i imagine thats what COMPOSE { } is for, but i'm interested in any workarounds 17:43
RabidGravy something involving $?CLASS maybe? 17:44
sena_kun moritz, why not advice to use rakudobrew? Every alive distro has a *sh and git.
Oh, stop. 17:45
17:45 donaldh left
ugexe i couldnt find a solution with $?CLASS and $?ROLE 17:45
17:46 ely-se_ joined
sena_kun Yeah, it seems rakudobrew doesn't ship R*. 17:46
mst it doesn't. 17:50
17:51 lnrdo_ left 17:52 psy_ left, azawawi left
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:57
17:59 ambs left, hoelzro|phone joined 18:00 firstdayonthejob joined
hoelzro|phone donaldh: have you tried lifting the variable out of the role body? I wonder if that would also work 18:00
Just not as a permanent solution =)
18:03 dakkar_ joined 18:04 ajr_ joined 18:06 ambs joined 18:08 laz78 joined
RabidGravy there's something funny about "done" in a react 18:09
m: react { whenever Supply.interval(1) { if $_ == 1 { say "done"; done;} }; } ; # perfectly fine
camelia rakudo-moar 780192: OUTPUT«done␤»
18:09 lnrdo_ joined, lnrdo_ left
Hotkeys You done done it RabidGravy 18:10
18:12 laz78 left
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:12
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
which is rather incomvenient
18:13 addison_ joined 18:14 laz78 joined
RabidGravy it does however stop processing the whenever blocks 18:14
I won't demonstrate for fear of screwing up camelia 18:16
18:20 laz78 left, hoelzro|phone left, hoelzro|phone joined 18:21 Guest11695 left, Actualeyes left, dakkar_ left 18:23 bowtie joined, wamba left 18:24 bowtie is now known as Guest95622, laz78 joined
[Tux] ZoffixWin, is META6.info to be preferred over META.info? (/me is willing to change) 18:27
FROGGS [Tux]: yes
[Tux]: META6.json though 18:28
[Tux] on it
RabidGravy I keep forgetting to do it
18:28 cdg left
[Tux] done 18:30
rindolf So what can I do about the speed of my script?
[Tux] buy a faster machine 18:31
rindolf [Tux]: for reference - bitbucket.org/shlomif/shlomif-comp...ew-default
[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 :)
RabidGravy yeah do more at once
rindolf [Tux]: and I'll bet that converting it to a faster language will make it much faster.
[Tux] shhh
you can do all IO in parallel. That might help 18:33
and I see no need to use P% regexes for something so simple 18:34
P5
that might help too
18:35 fireartist joined
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:35
fireartist b2gills: no, I'm not doing a straight conversion, but how did you guess that from a vague reference to RPC? ;-) 18:36
18:37 ZoffixW joined
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
rindolf [Tux]: are Perl 5 regexes not performant?
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.
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, lnrdo_ left
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?
ZoffixW geekosaur, the other way around
geekosaur, in Russian, every rule you learn is followed by "and these are a bunch of exceptions to the rule"
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?
ZoffixW rindolf, I think I can make your script at least a 1000 times faster
huf or is it still okay to talk out of your ass about these things?
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?
geekosaur English is also infamous for that, though
huf every language is...
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
rindolf ZoffixW: I can pass it more than one file.
ZoffixW: wait a sec.
sena_kun ZoffixW, of course. ;3
huf and here we go, even more butt speak
18:42 Kogurr joined
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 left, hoelzro|phone joined
huf AlexDaniel: well, your brain does language, so there's got to be *some* kind of rules 18:47
they're not the ones you read in books, most likely
AlexDaniel huf: what if it is just a big look up table?
huf also i think by inconsistency people mean arbitrary data you have to just remember
AlexDaniel: it cant be *just* a big lookup table, it's got potentially infinite recursion shit in it, right? 18:48
fireartist b2gills: if we did speak back then, sorry for forgetting! :-(
AlexDaniel well, some languages are harder to learn than the others, that's true
huf AlexDaniel: for adults, yeah
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)
AlexDaniel huf: right. Your “for adults” remark is also very true
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!
rindolf ZoffixW: www.shlomifish.org/Files/files/arcs...-v1.tar.xz - see this - run TEST.bash and see t.txt.
18:50 ely-se_ left
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
fireartist b2gills: interesting!
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
AlexDaniel huf: foots!!
huf: :)
mouses!
huf yes but why isnt "mouse" and "foot" counted as an inconsistency?
there's no rule you can use to discover that it's a valid word 18:53
nor any rule that helps you discover its meaning
b2gills deer
huf b2gills: "trousers" is *much* worse imho
perlpilot b2gills: did you rakudobug your parsing problem discovery? (or check if there's already a ticket for it?) 18:54
b2gills No, I have several bugs that I should report in a mental list that is slowly deteriorating. 18:55
perlpilot b2gills: shuffle the list to external storage in RT :) 18:56
18:57 labster joined
rindolf ZoffixW: any news? 18:59
b2gills perlpilot At least a few of them I meant to just get a PR that would just fix them. 19:00
timotimo yo ZoffixW; did you know comb also takes an integer argument to do the same as .comb.rotor:partial.join? 19:03
19:04 ajr_ left
[Coke] rindolf: how slow, btw. "slower than p5" or something more apocolyptic? we just released a stable spec, moar speed is next. 19:04
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.
[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
timotimo, example?
rindolf ZoffixW: ah.
[Coke] rindolf: if speed is your thing, 2015.12 is still "early adopter".
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.
timotimo m: say "hello how are you today".comb(5)
camelia rakudo-moar 780192: OUTPUT«(hello how are y ou to day)␤»
timotimo m: say "hello how are you today".comb(10)
camelia rakudo-moar 780192: OUTPUT«(hello how are you to day)␤»
[Coke] I'm about to commute, will take a look tonight. 19:08
rindolf ZoffixW: ok.
[Coke]: ok.
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␤»
ZoffixW m: say "hello how are you today".comb.rotor(5, :partial)».join
camelia rakudo-moar 780192: OUTPUT«(hello how are y ou to day)␤»
timotimo no, you want >>.join
yeah
that version of comb is also super performant
19:09 lokien_ left, labster left
ZoffixW Cool, I'll keep that in mind. 19:10
timotimo and in your blog post, too? :)
maybe as a footnote or something
rindolf [Coke]: I'm just trying to learn a few new languages - including perl 6. 19:11
ZoffixW timotimo, I've added an "Update" section at the bottom. 19:12
19:13 sena_kun left
timotimo OK :) 19:13
i'm in awe at the pace at which you churn out high-quality blog posts, btw
ZoffixW Why do all my articles show up on perl6.org/ ? 19:14
The 100+ Modules for adoption is not even about Perl 6 :P
timotimo clearly your whole blog rss rather than just the perl6 tag filtered portion of it is in the pl6anet
ZoffixW hm 19:15
Juerd Yes, planet-like sites often work by including entire blogs 19:22
19:22 FROGGS left
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.
timotimo as many blog platforms also offer an rss feed for each tag that comes up
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
Juerd One person's bad mood or suboptimal phrasing can ruin someone's else's chance to take Perl 6 seriously.
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.
ZoffixW or "someone's" not "everyone's", never mind.
timotimo i hope potentially interested people won't take a single blog post as "what the whole community must be like"
ZoffixW s/or/oh/;
19:25 yurivish_ joined, FROGGS joined 19:31 yqt joined
dalek href="https://perl6.org:">perl6.org: ee4c741 | (Zoffix Znet)++ | / (3 files):
Remove Advent Box
19:31
19:31 hoelzro|phone left 19:32 FROGGS left 19:34 khw left 19:37 FROGGS joined 19:39 BrassLantern joined 19:43 labster joined 19:44 FROGGS left
RabidGravy .tell jnthn next time you're looking at asynchronous stuff you may want to cast an eye over rt.perl.org/Ticket/Display.html?id=127428 almost certainly unintended 19:45
yoleaux RabidGravy: I'll pass your message to jnthn.
RabidGravy had me tearing my metaphorical hair out for ages now 19:47
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 19:51 bpmedley left
RabidGravy timotimo, nope the optimiser is the off the hook :) 19:51
timotimo that's only the dynamic optimizer; what happens if you use --optimize=off, too? ;) 19:52
BBIAB
RabidGravy Nah, it's fine 19:53
ugexe does p6doc still need a 'p6doc.bat'? CU::R::I should handle that now 19:54
19:55 hankache joined
dalek href="https://perl6.org:">perl6.org: 5cea97b | (Zoffix Znet)++ | fetch-recent-blog-posts.pl:
Show fewer recent posts to keep panels aligned
19:58
19:58 gtodd left, FROGGS joined
hankache hello #perl6 19:59
yoleaux 10:03Z <gfldex> hankache: could you add (basic) typed arrays to the intro please?
20:00 gtodd joined
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
my best workaround is e.g
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␤»
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 20:05 sortiz joined 20:06 ZoffixW left 20:10 FROGGS left
sortiz \o #perl6 20:10
20:10 hankache left
rindolf [Coke]: then you can change it. 20:10
20:11 hankache joined
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.
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.
timotimo ZoffixWin: i recently suggested to move the recent posts box to the left and the download button to the right
ZoffixWin: that way we could display *more* instead of *fewer* recent posts
[Coke] rindolf: no extract-perl5-ids.p6 20:16
rindolf [Coke]: ah.
[Coke]: it's here - bitbucket.org/shlomif/shlomif-comp...ew-default 20:17
20:17 gtodd1 joined
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␤»
timotimo lucs: in that case, please use s[...] = ... synatx
syntax*
lucs Hmm... I don't know about syntax; back to reading... S05? 20:19
timotimo dunno
lucs *that syntax
20:20 gtodd left 20:21 ZoffixW joined
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
ZoffixW \o
richi235 I have a question about native call and Inline::Perl5
timotimo oh 20:23
okay
richi235 I figured out that Inline::Perl5 starts the perl5 vm/interpreter via native call
timotimo yeah
richi235 Does the perl5 vm run in an own process or "inside" the moarvm process?
timotimo inside it 20:24
richi235 And if it's a own process how is IPC handled? Via shared memory? or via sockets?
ahh kk thanks
moritz it just uses perl's XS "API" (or a slim C wrapper around it where that's easier)
richi235 that was what i wanted to know :)
moritz (note that XS is quite some macros, and you can't nativecall marcos, just functions; hence the C wrapper in some places) 20:25
20:26 darutoko left
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␤»
richi235 moritz: ah, yes I saw the .c file in the repo
lucs sortiz: Sure looks like it :) 20:27
Thanks!
20:27 yurivish_ left
moritz m: my $s = 'ab42c66'; given $s { s:g[\d+] = 2 * $/; .say } 20:27
camelia rakudo-moar 780192: OUTPUT«ab84c132␤»
20:28 kaare_ left, fireartist left
lucs So much syntax in Perl 6... 20:28
I love it!
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␤»
ZoffixW I guess this isn't like in JS where you can use backrefs?
or captures
20:31 bjz_ joined, bjz left
moritz you can, if you pass a callable 20:31
m: my $s = 'ab42c66'; $s.subst-mutate: /(\d+)/, -> $/ { "$0+2" }; say $s 20:32
camelia rakudo-moar 780192: OUTPUT«ab42+2c66␤»
[Coke] rindolf: for $l.comb(/\w+/) -> $k is probably more idiomatic, but sadly is slightly slower atm.
moritz m: my $s = 'ab42c66'; $s.subst-mutate: /(\d+)/, -> $/ { $0+2 }; say $s
camelia rakudo-moar 780192: OUTPUT«ab44c66␤»
ZoffixW Ah, sweet
rindolf [Coke]: ah.
[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.
ZoffixW m: my $s = 'ab42c66'; $s.subst-mutate: /(\d+)/, *+2, :g; say $s
camelia rakudo-moar 780192: OUTPUT«ab44c68␤»
ZoffixW squeals
<3 WhateverCode 20:34
alpha123 that's actually so dope
moritz rindolf, [Coke]: I missed the context; just wanted to point out that .words exists too, and is probably optimized a bit
rindolf moritz: thanks.
20:34 labster left
alpha123 rakudo seems to be counting devanagari syllables incorrectly :/ 20:35
ZoffixW m: say "देवनागरी".chars 20:36
camelia rakudo-moar 780192: OUTPUT«5␤»
[Coke] I don't think words == comb(/\w+/);
alpha123 m: "नि\r\n".chars
camelia ( no output )
alpha123 m: say "नि\r\n".chars
camelia rakudo-moar 780192: OUTPUT«2␤»
alpha123 hm
my rakudo is sort of old
[Coke] alpha123: are you on an old rakudo?
ZoffixW That's probably why.
[Coke] anything more than 2015.12 is ancient.
alpha123 [Coke]: compiling it on freebsd is a bitch
D'oh I'm on 2015.09 20:37
nevermind, nothing to see here
[Coke] SUPER ancient.
:)
ZoffixW star: say "नि\r\n".chars
camelia star-m 2015.09: OUTPUT«4␤»
ZoffixW heh
alpha123 yep that's what I'm getting over here
I was trying to use Rakudo to compare with my language's implementation of unicode strings 20:38
I suppose I should upgrade
[Coke] m: my $a = 'exec(($use_prove ? @{_calc_prove()} : "runprove"), @$tests);' ; say $a.words; say $a.comb(/\w+/);
camelia rakudo-moar 780192: OUTPUT«(exec(($use_prove ? @{_calc_prove()} : "runprove"), @$tests);)␤(exec use_prove _calc_prove runprove tests)␤»
alpha123 oh, and as cool as the Korean language and alphabet is, SCREW KOREAN
/rant 20:39
ZoffixW m: given 'print "foo"' { .words.say; .comb(/\w+/).say } 20:40
camelia rakudo-moar 780192: OUTPUT«(print "foo")␤(print foo)␤»
ZoffixW m: given 'print "foo"' { .words.say; .comb(/\S+/).say }
camelia rakudo-moar 780192: OUTPUT«(print "foo")␤(print "foo")␤»
20:45 ZoffixW left, tmtowtdi joined
alpha123 m: my %h = '􏿽xE1􏿽x84􏿽x92􏿽xE1􏿽x85􏿽xA1􏿽xE1􏿽x86􏿽xAB' =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
alpha123 m: my %h = '􏿽xE1􏿽x84􏿽x92􏿽xE1􏿽x85􏿽xA1􏿽xE1􏿽x86􏿽xAB'> =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⏏050; say %h['한글'];␤»
alpha123 dammit weechat
m: my %h = '􏿽xE1􏿽x84􏿽x92􏿽xE1􏿽x85􏿽xA1 => 0; say %h['한글'];
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…»
alpha123 m: my %h = 'ᄒ'ᅡ => 0; say %h['한글'];
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 lostinfog left
alpha123 m: my %h = '􏿽xE1􏿽x84􏿽x92􏿽xE1􏿽x85􏿽xA1􏿽xE1􏿽x86􏿽xAB􏿽xE1􏿽x84􏿽x80􏿽xE1􏿽x85􏿽xB3􏿽xE1􏿽x86􏿽xAF' => '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
alpha123 my %h = '􏿽xE1􏿽x84􏿽x92􏿽xE1􏿽x85􏿽xA1􏿽xE1􏿽x86􏿽xAB􏿽xE1􏿽x84􏿽x80􏿽xE1􏿽x85􏿽xB3􏿽xE1􏿽x86􏿽xAF' => 'worked'; say %h{'한글'}; 20:52
m: my %h = '􏿽xE1􏿽x84􏿽x92􏿽xE1􏿽x85􏿽xA1􏿽xE1􏿽x86􏿽xAB􏿽xE1􏿽x84􏿽x80􏿽xE1􏿽x85􏿽xB3􏿽xE1􏿽x86􏿽xAF' => 'worked'; say %h{'한글'};
camelia rakudo-moar 780192: OUTPUT«worked␤»
alpha123 yay
finall
y
one of tmux, putty, and weechat was screwing up my input :( 20:53
but at least it hashes composed and decomposed korean the same
RabidGravy i hate it when things fail on travis and not locally 20:54
hankache RabidGravy same here. I don't know why though 20:55
skids just dealt with that. turned out to be a really crusty version of GNU screen. 21:00
geekosaur try with -U 21:01
(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
with the tests failing that I actually fixed as part of the push 21:03
skids wonders what the "koalatee" metrics are on modules.perl6.org 21:04
dalek osystem: bf6e22a | (David Warring)++ | META.list:
META.info => META6.json in PDF projects
21:05
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
skids inverse Moore's Law: the quality of search engine results halves every ten years.
21:11 cdg joined, raiph joined 21:13 revhippie joined
hankache .tell gfldex check perl6intro.com/#_types and feel free to submit a PR if necessary 21:15
yoleaux hankache: I'll pass your message to gfldex.
21:16 stmuk left 21:17 stmuk joined 21:27 dolmen joined
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:31
moritz I'd apreciate that; the IRC logs use lucy as the search engine 21:32
21:32 lokien_ joined 21:33 SCHAAP137 joined, hankache left
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
21:39 TEttinger joined 21:40 musiKk left 21:45 perlawhirl_osx joined
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
(lots of promise action going on)
21:46 Zero_Dogg left 21:47 Zero_Dogg joined
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:15Z <hankache> gfldex: check perl6intro.com/#_types and feel free to submit a PR if necessary 21:48
Skarsnik lol 21:50
RabidGravy gfldex, with p6doc?
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:52
21:56 bjz joined, bjz_ left 21:57 raiph left 21:58 bjz left 22:04 skids left 22:08 addison_ left 22:10 cpage_ left 22:17 donaldh joined
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
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 =/
ZoffixWin .tell skids koalatee is this: github.com/perl6/modules.perl6.org...tee.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
ZoffixWin goes off the grid for a few days 22:21
\o
22:21 ZoffixWin left 22:22 addison_ joined
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:23
hoelzro ah, nice! 22:24
donaldh hoelzro: a few iterations later I found %instances in locally.
22:24 perlawhirl joined, jeek left
donaldh hoelzro: do you have a diff? 22:26
hoelzro yeah, one second
donaldh: gist.github.com/hoelzro/2f20982533014c1c9874 22:27
22:29 kanishka left
donaldh hoelzro: a more elegant solution, for sure. 22:30
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)
hoelzro ah, that would help! 22:35
22:35 perlpilot left
donaldh I have three watch expressions, one each for obj, ref and origObj. One of them usually works :-) 22:35
hoelzro I should probably learn how to debug on the JVM =P 22:38
22:39 cpage_ joined, laz78 left
donaldh Of course we could obfuscate the solution with an anonymous associative state variable doc.perl6.org/language/variables#Th...5_Variable 22:40
22:40 perlawhirl_osx left 22:43 musiKk joined, kanishka joined 22:46 laz78 joined, bjz joined
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:50 perlawhirl left 22:57 sufrostico joined 23:01 bjz left 23:08 koo7 joined 23:14 cdg left
hoelzro donaldh: with my → state patch, rakudo-j builds once more! \o/ 23:26
donaldh Yes and Moar still passes all tests.
hoelzro ...but it fails every spectest =/
donaldh Hmmm. rakudo-j is passing a lot of spectests here.
hoelzro something must be off about my harness 23:27
it's probably just local
23:28 wamba joined 23:29 skids joined
donaldh rebuilds rakudo-j 23:29
23:30 rindolf left
hoelzro I wonder if it's the TEST_JOBS? 23:32
23:33 ref left 23:35 BrassLantern left
donaldh Hmm. Can't configure rakudo: "Unrecognized revision specifier '2016.01-RC1'" 23:35
23:35 labster joined
donaldh brain fade. time for sleep& 23:36
hoelzro night donaldh
23:37 donaldh left, dolmen left 23:38 ely-se left 23:39 bjz joined
dalek c: 5b04e03 | RabidGravy++ | doc/Type/DateTime.pod:
Add fractional seconds to example
23:41
23:45 bjz_ joined, bjz left 23:47 addison_ left 23:50 addison joined 23:54 bjz_ left 23:56 bjz joined 23:59 eyck left