»ö« 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«P6strP6opaque» | ||
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-214748364900-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«aTrue» | ||
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: █; :$label, :$item, *%_) (HyperIterable:D $: █; :$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_VazCConfusedat /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/HSTcpQTVCEConfusedat /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/Ldh0Ya1pVuConfusedat /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: █; :$label, :$item, *%_) (HyperIterable:D $: █; :$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: 11Memory 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: █; :$label, :$item, *%_) (HyperIterable:D $: █; :$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 malformedat /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/BINVO1zrbYUnsupported 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 nounat /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/I6DgUGeGSCSorry, 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/wQtHkvS1teMissing infix inside hyperat /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/cSwoq4grD9Two terms in a rowat /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«FailedActually 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«20Nil» | ||
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«20Cé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/cREBCWyf9CMissing 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/eruIL8f7AxTwo terms in a rowat /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«20Nil» | ||
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 blockat /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 nGallAgus 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 stringNot a stringFOO» | ||
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«1111111111111111111111111111111111111111111111111111111111111111…» | ||
ugexe | m: do while ( 1 ) { state $a++; say $a; }; | 15:30 | |
camelia | rakudo-moar 780192: OUTPUT«(timeout)1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515…» | ||
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 1Use of uninitialized value of type Any in numeric context in block at /tmp/0NmCvjIMxO line 1Use 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)1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515…» | 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 1Actually 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 1Use of Nil in numeric context in block <unit> at /tmp/fzhWrVzkVP line 1Use of Nil in numeric context in block <unit> at /tmp/fzhWrVzkVP line 1Use 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 1Use of uninitialized value of type Any in numeric context in block <unit> at /tmp/SZmXzMiqfC line 1Use 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 1Actually 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« doneKept» | ||
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 1Sub object coerced to string (please use .gist or .perl to do that) in code at /tmp/RQz2DUrAAz line 1abc» | ||
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 1ab+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 = 'xE1x84x92xE1x85xA1xE1x86xAB' =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 = 'xE1x84x92xE1x85xA1xE1x86xAB'> =0; say %h['한글']; | 20:50 | |
camelia | rakudo-moar 780192: OUTPUT«5===SORRY!5=== Error while compiling /tmp/IbPu_jFMFJPreceding context expects a term, but found infix = insteadat /tmp/IbPu_jFMFJ:1------> 3my %h = '한'> =7⏏050; say %h['한글'];» | ||
alpha123 | dammit weechat | ||
m: my %h = 'xE1x84x92xE1x85xA1 => 0; say %h['한글']; | |||
camelia | rakudo-moar 780192: OUTPUT«5===SORRY!5=== Error while compiling /tmp/PHwG5gBJs7Two terms in a rowat /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/XkDdZHh1KoTwo terms in a rowat /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 = 'xE1x84x92xE1x85xA1xE1x86xABxE1x84x80xE1x85xB3xE1x86xAF' => '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 1Actually thrown at: in block <unit> at /tmp/CsXcWmzSMs line 1» | ||
20:52
ely-se joined
|
|||
alpha123 | my %h = 'xE1x84x92xE1x85xA1xE1x86xABxE1x84x80xE1x85xB3xE1x86xAF' => 'worked'; say %h{'한글'}; | 20:52 | |
m: my %h = 'xE1x84x92xE1x85xA1xE1x86xABxE1x84x80xE1x85xB3xE1x86xAF' => '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«2582» | ||
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
|