Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-12-04

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 skids joined #perl6
00:04 peteretep joined #perl6
00:05 peteretep I am vaguely interested in covering travel expenses for someone to do guest appearances at community hackathons and run a guided Perl 6 hackathon
00:05 peteretep Do we know anyone suitable
00:05 peteretep ?
00:08 tony-o_ ===SORRY!=== Error while compiling /Users/tonyo/projects/perl6-chaos/test/lib/A.pm6
00:08 tony-o_ 'use lib' may not be pre-compiled
00:11 MadcapJake m: my @a[1;1] = 1; say @a;
00:11 camelia rakudo-moar 446ea7: OUTPUT«Assignment to array with shape 1 1 must provide structured data␤  in block <unit> at /tmp/PXWkWc88Oo:1␤␤»
00:11 MadcapJake what am I doing wrong? ^^^
00:12 geekosaur what did you want that to do?
00:12 MadcapJake create a shaped array with size 1x1 :P
00:13 * flussence just wrote ebuilds for moar/nqp.git, and successfully built rakudo by hand using them instead of --gen-*. And then nothing works because of precomp...
00:13 tony-o_ m: my @a[1;1] = $(1,1); @a.say;
00:13 camelia rakudo-moar 446ea7: OUTPUT«[[(1 1)]]␤»
00:13 geekosaur I meant more the assignment, since that looks like a scalar initializer
00:13 MadcapJake m: my @a[1;] = 1..1; say @a # there it is
00:13 camelia rakudo-moar 446ea7: OUTPUT«[1]␤»
00:13 MadcapJake m: my @a[1;1] = 1..1; say @a # there it is
00:13 camelia rakudo-moar 446ea7: OUTPUT«Assignment to array with shape 1 1 must provide structured data␤  in block <unit> at /tmp/gAQpi4VxDE:1␤␤»
00:13 MadcapJake I guess you have to leave the second part off if you want 1x1
00:14 geekosaur m: my @a[1;1] = (1,); say @a
00:14 camelia rakudo-moar 446ea7: OUTPUT«Assignment to array with shape 1 1 must provide structured data␤  in block <unit> at /tmp/KFCcSVww72:1␤␤»
00:14 tony-o_ the second one gives you a 1x^Inf
00:14 tony-o_ m: my @a[1;] = 1..5; @a.say;
00:14 camelia rakudo-moar 446ea7: OUTPUT«Index 1 for dimension 1 out of range (must be 0..0)␤  in block <unit> at /tmp/NW_5Ixv8dB:1␤␤»
00:14 tony-o_ oh maybe not
00:14 tony-o_ m: my @a[1;] = $(1..5); @a.say;
00:14 camelia rakudo-moar 446ea7: OUTPUT«[1..5]␤»
00:15 MadcapJake huh that seems wrong
00:15 MadcapJake m: my @a[1;5] = $(1..5); @a.say;
00:15 camelia rakudo-moar 446ea7: OUTPUT«[[1..5 (Any) (Any) (Any) (Any)]]␤»
00:15 MadcapJake m: my @a[5;1] = $(1..5); @a.say;
00:15 camelia rakudo-moar 446ea7: OUTPUT«[[1..5] [(Any)] [(Any)] [(Any)] [(Any)]]␤»
00:15 MadcapJake oh the problem is the range operator I think
00:16 MadcapJake m: my @a[5;1] = |(1..5); @a.say;
00:16 camelia rakudo-moar 446ea7: OUTPUT«Assignment to array with shape 5 1 must provide structured data␤  in block <unit> at /tmp/zwNIiKWhNA:1␤␤»
00:16 ShimmerFairy m: my @a[1;1] = $[1];
00:16 camelia rakudo-moar 446ea7: ( no output )
00:16 MadcapJake m: my @a[1;5] = |(1..5); @a.say;
00:16 camelia rakudo-moar 446ea7: OUTPUT«Assignment to array with shape 1 5 must provide structured data␤  in block <unit> at /tmp/jXzh7ovcah:1␤␤»
00:16 ShimmerFairy that works :)
00:17 MadcapJake m: my @a[1;5] = @(1..5); @a.say;
00:17 camelia rakudo-moar 446ea7: OUTPUT«Assignment to array with shape 1 5 must provide structured data␤  in block <unit> at /tmp/4neFhiybf4:1␤␤»
00:17 MadcapJake m: my @a[1;1] = @(1); @a.say;
00:17 camelia rakudo-moar 446ea7: OUTPUT«Assignment to array with shape 1 1 must provide structured data␤  in block <unit> at /tmp/T73k91OUAB:1␤␤»
00:17 MadcapJake Why is it the item container? o_O
00:18 MadcapJake m: my @a[1;1] = [1]; @a.say;
00:18 camelia rakudo-moar 446ea7: OUTPUT«Assignment to array with shape 1 1 must provide structured data␤  in block <unit> at /tmp/LjzA0GmFsa:1␤␤»
00:18 MadcapJake m: my @a[1;1] = |@(1); @a.say;
00:18 camelia rakudo-moar 446ea7: OUTPUT«Assignment to array with shape 1 1 must provide structured data␤  in block <unit> at /tmp/Or3enoS1P2:1␤␤»
00:19 geekosaur m: my @a[1;1] = [1;]; say @a
00:19 camelia rakudo-moar 446ea7: OUTPUT«Assignment to array with shape 1 1 must provide structured data␤  in block <unit> at /tmp/qwdrcdY7Nd:1␤␤»
00:19 geekosaur m: my @a[1;1] = (1;); say @a
00:19 camelia rakudo-moar 446ea7: OUTPUT«Assignment to array with shape 1 1 must provide structured data␤  in block <unit> at /tmp/vyad1uMkFc:1␤␤»
00:19 geekosaur annoying
00:20 MadcapJake m: my @a[1;1]; @a[0;0] = 1; say @a # this works :P
00:20 camelia rakudo-moar 446ea7: OUTPUT«[[1]]␤»
00:30 tony-o_ m: my Promise $peter-pie .=new; start { qqx<echo "hi">; }; await $peter-pie;
00:30 Psyche^_ joined #perl6
00:30 camelia rakudo-moar 446ea7: OUTPUT«(timeout)»
00:31 tony-o_ really love not getting the same results as cam
00:34 nadim jnthn: do object get moved in memory? EG: is .WHERE not guarantied to be the same from call to call?
00:35 liztormato joined #perl6
00:36 csd_ joined #perl6
00:38 diakopter nadim: objects do get moved
00:40 telex joined #perl6
00:42 atta joined #perl6
00:43 dalek ecosystem: 6fef077 | cbk++ | META.list:
00:43 dalek ecosystem: Update META.list
00:43 dalek ecosystem:
00:43 dalek ecosystem: Added WebService::GoogleDyDNS module to the ecosystem.
00:43 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/6fef077292
00:44 MadcapJake language/grammars says that if you want to keep state in an Actions class you need to pass an instance to parse, how? the parse docs don't show any special named argument for passing an instance.
00:44 nadim diakopter: this has has my brains boiling for a few hours
00:44 hudo joined #perl6
00:45 lustlife` joined #perl6
00:46 leont MadcapJake: I use dynamic variables for that (e.g. $*foo)
00:46 leont If there's another way I'd be most interested, but I haven't seen anything else I tried work
00:47 MadcapJake ok cool, thanks leont!
00:51 diakopter nadim: why :)
00:51 diakopter (what do you want to use the WHERE for)
00:52 Actualeyes joined #perl6
00:52 diakopter m: say 1.WHERE; $++ for ^100000; say 1.WHERE; $++ for ^100000; say 1.WHERE; $++ for ^100000; say 1.WHERE
00:52 camelia rakudo-moar 446ea7: OUTPUT«140456942620344␤544​18368␤54418368␤54418368␤»
00:53 tony-o_ m: .say for ^Inf;
00:53 diakopter nadim: note that the location of an object generally stabilizes after it's been moved twice
00:53 tony-o_ m: .say for ^Inf;
00:53 diakopter (in that example I'm relying on an optimization that makes constant integers the same object)
00:53 tony-o m: .say for ^Inf;
00:53 tony-o it's broken
00:54 diakopter tony-o: no, it's just taking a while to time out
00:54 diakopter (and gather your infinite output)
00:54 camelia rakudo-moar 446ea7: OUTPUT«(timeout)0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11​␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤2​5␤26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤​39␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50␤51…»
00:54 camelia rakudo-moar 446ea7: OUTPUT«(timeout)0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11​␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤2​5␤26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤​39␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50␤51…»
00:54 camelia rakudo-moar 446ea7: OUTPUT«(timeout)0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11​␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤2​5␤26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤​39␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50␤51…»
00:54 tony-o i think it's just borked
00:54 cygx joined #perl6
00:54 tony-o m: .say for ^Inf;
00:54 tony-o oh there it goes
00:54 cygx m: class Actions { has $.i = 0; method foo($) { $!i++ } }; grammar G { token TOP { <foo>+ }; token foo { foo } }; my $actions = Actions.new; G.parse("foofoofoo", :$actions); say $actions.i
00:54 diakopter hehe
00:54 camelia rakudo-moar 446ea7: OUTPUT«(timeout)0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11​␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤2​5␤26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤​39␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50␤51…»
00:54 camelia rakudo-moar 446ea7: OUTPUT«3␤»
00:55 cygx MadcapJake: see above
01:01 AlexDaniel m: my @a[-1]
01:01 camelia rakudo-moar 446ea7: OUTPUT«Memory allocation failed; could not allocate 18446744073709551608 bytes␤»
01:01 AlexDaniel whoops…
01:01 diakopter hehe
01:01 * AlexDaniel submits rakudobug…
01:01 diakopter I'm not sure it's a bug there
01:01 AlexDaniel diakopter: it should not attempt to allocate 18446744073709551608 bytes…
01:02 TimToady the only bug is taking -1 as unsigned
01:02 TimToady you *ought* to be able to ask for 18446744073709551608 bytes
01:02 TimToady though it's unlikely to work till we get 128-bit computers...
01:03 diakopter m: my @a[9**99**99]
01:03 camelia rakudo-moar 446ea7: ( no output )
01:03 diakopter m: my @a[9**99**99]; say @a
01:03 camelia rakudo-moar 446ea7: OUTPUT«[]␤»
01:03 AlexDaniel and if you get the number right
01:03 AlexDaniel You'll get “Index 3 for dimension 1 out of range (must be 0..-1000000001)”
01:04 TimToady m: say 9**99**99; # should arguably return Inf if it's gonna overflow
01:04 camelia rakudo-moar 446ea7: OUTPUT«0␤»
01:04 AlexDaniel TimToady: old bug
01:04 TimToady I suspected as much
01:05 TimToady m: say 9e0**99**99
01:05 camelia rakudo-moar 446ea7: OUTPUT«Inf␤»
01:05 TimToady m: say 99**99
01:05 camelia rakudo-moar 446ea7: OUTPUT«36972963764972677265718790562880544​059566876428174110243025997242355257045527​752342141065001012823272794097888954832654​011942999676949435945162157019364401441807​1060667659301384999779999159200499899␤»
01:06 AlexDaniel https://rt.perl.org/Public/​Bug/Display.html?id=125811
01:06 Hotkeys m: say 9i**99**99
01:06 camelia rakudo-moar 446ea7: OUTPUT«Inf-Inf\i␤»
01:07 Hotkeys say 9**99**99 + 9*99*99i
01:07 Hotkeys oops
01:07 Hotkeys say 9**99**99 + (9**99**99)i
01:07 Hotkeys oops
01:07 Hotkeys m: say 9**99**99 + (9**99**99)i
01:07 camelia rakudo-moar 446ea7: OUTPUT«0+0i␤»
01:08 * Hotkeys spams
01:08 diakopter heh
01:08 Hotkeys m: say 9**99**99i
01:08 camelia rakudo-moar 446ea7: OUTPUT«0.0498082432721018+0.158343329285042i␤»
01:08 sufrostico joined #perl6
01:08 diakopter o_O
01:09 cpage_ joined #perl6
01:09 AlexDaniel m: say 42**i
01:09 camelia rakudo-moar 446ea7: OUTPUT«-0.827544370552052-0.561400315966787i␤»
01:09 TimToady you're stuck on the Mandelbrot
01:11 cygx o/
01:12 yeahnoob joined #perl6
01:13 ShimmerFairy TimToady: While I agree that the spillover for Int calculation should be Inf, I wonder if there's the counterargument that since Inf is currently just a floating-point, an Int operation shouldn't return it :P
01:15 TimToady well, then arguably it should return Nil, which is allowed to violate the contract
01:15 TimToady or a failure
01:15 ShimmerFairy .oO(an Inf that works with all numeric types? That'd be a Christmas miracle!)
01:15 TimToady returning 0 is just gonna blow up a rocket someday
01:15 ShimmerFairy yeah, a fail-y value would be better
01:16 pierre-vigier joined #perl6
01:16 ShimmerFairy It'd let you use 'with' to see if the operation succeeded too :)
01:16 AlexDaniel … or it should just get stuck trying to calculate it. Why did you ask it to do this anyway?
01:17 TimToady that can also blow up the rocket, unless the pilot takes over :)
01:18 Hotkeys re: today's advent - does one really need to packet capture when you have RFC 1459? :P
01:18 ShimmerFairy TimToady: at least 'Nil' or such is value you can test for explicitly for failure, whereas 0 might be a valid result. Any rockets failing to anticipate failure are bound to fail, anyway :)
01:18 ShimmerFairy *is a vlue
01:19 ShimmerFairy AlexDaniel: two reasons I can come up with are 1) What if it's $a ** $b ?, and 2) "I thought these were supposed to be bigints. Y'know, like, (practically) unlimited?"  :)
01:20 AlexDaniel ShimmerFairy: hm, are you sure that 0 is technically a valid result?
01:21 ShimmerFairy AlexDaniel: it isn't, it should return a fail-y value at least until we have a more general Inf.
01:21 TimToady it is on a Celsius thermometer
01:21 TimToady but probably not on a Kelvin thermometer :)
01:22 AlexDaniel ShimmerFairy: “whereas 0 might be a valid result” sounds like you might get it normally, but as far as I can see you can't
01:22 Hotkeys But perhaps on a K+1 thermometer
01:22 ShimmerFairy m: say 0 ** 2; # AlexDaniel: this is what I meant; since 0 is a valid numerical result, I'd prefer not overloading it
01:22 camelia rakudo-moar 446ea7: OUTPUT«0␤»
01:22 AlexDaniel ah right
01:22 AlexDaniel damn it
01:22 AlexDaniel m: say 0 ** 0 # was thinking about stuff like that…
01:22 camelia rakudo-moar 446ea7: OUTPUT«1␤»
01:23 ShimmerFairy m: say 0e0 ** 0e0
01:23 camelia rakudo-moar 446ea7: OUTPUT«1␤»
01:23 AlexDaniel m: say i ** 0
01:23 camelia rakudo-moar 446ea7: OUTPUT«1+0i␤»
01:23 Hotkeys What's wrong with that?
01:23 AlexDaniel Hotkeys: who said that there is something wrong? :)
01:24 Hotkeys idk
01:24 Hotkeys nobody
01:24 Hotkeys don't tell me how to live my life
01:24 * Hotkeys scampers off
01:24 AlexDaniel m: say 2 ** 99999999999999999999999999999999999 # though this is definitely less than awesome
01:24 camelia rakudo-moar 446ea7: OUTPUT«0␤»
01:24 diakopter lol
01:24 dj_goku .tell Zoffix great advent post! I didn't know it was that simple to connect to IRC!
01:24 yoleaux dj_goku: I'll pass your message to Zoffix.
01:25 ShimmerFairy Hotkeys: generally, it's a good idea to keep "special" results separate from normal ones. It's easier to handle a failed ** when it returns something that isn't a number :)
01:26 TimToady if we've already eliminated 0 in the LHS, the return of ** could just do $result || fail
01:26 Hotkeys but 0**0 isn't special
01:26 llfourn joined #perl6
01:26 Hotkeys I guess the overflows are though
01:27 ShimmerFairy Hotkeys: the overflows are special, 0**0 == 1 is just a math thing :)
01:27 Hotkeys woo math
01:28 ShimmerFairy TimToady: that's true, in fact I don't think abs($lhs) < 2 would ever fail [proof needed]
01:33 AlexDaniel m: my @a[-9223372036854775808,-2]; say +@a
01:33 camelia rakudo-moar 446ea7: OUTPUT«-9223372036854775808␤»
01:34 AlexDaniel that's fun!
01:34 AlexDaniel turns out that on 64-bit you have to create 2-dimensional array to get that
01:35 pierre-vigier joined #perl6
01:35 AlexDaniel array with negative size! I wonder how many wonderful things you can do with that
01:38 AlexDaniel “Index -10 for dimension 1 out of range (must be 0..-10000000000000001)” – awww, too bad!
01:39 Hotkeys m: my @a[-3]; @a[-1] = 42;
01:39 camelia rakudo-moar 446ea7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/p3STxOeh78␤Unsupported use of a negative -1 subscript to index from the end; in Perl 6 please use a function such as *-1␤at /tmp/p3STxOeh78:1␤------> 3my @a[-3]; @a[-1]7⏏5 = 42;␤»
01:39 Hotkeys boo
01:39 Hotkeys why are negative sizes okay but not negative indexes
01:39 Hotkeys m: my @a[-3];
01:39 camelia rakudo-moar 446ea7: OUTPUT«Memory allocation failed; could not allocate 18446744073709551592 bytes␤»
01:39 Hotkeys I lied
01:40 AlexDaniel Hotkeys: it is only OK if you get it to overflow correctly :X
01:40 mspo is  IO::Socket built in?
01:40 Hotkeys I believe so
01:41 AlexDaniel m: my @a[0]; say +@a # I wonder what can you do with this
01:41 camelia rakudo-moar 446ea7: OUTPUT«0␤»
01:41 AlexDaniel m: my @a[0]; say @a.pick
01:41 camelia rakudo-moar 446ea7: OUTPUT«Nil␤»
01:41 AlexDaniel m: my @a[0]; say @a.pick(3)
01:41 camelia rakudo-moar 446ea7: OUTPUT«()␤»
01:41 Hotkeys just an empty array always
01:41 mspo how do I view its docs?
01:42 Hotkeys http://docs.perl6.org/type/IO::Socket
01:42 Hotkeys http://docs.perl6.org/type/IO::Socket::Async
01:42 mspo p6doc?
01:43 Hotkeys I assume Type::IO::Socket(::Async)
01:44 AlexDaniel m: my @a[3]; say @a.reverse
01:44 camelia rakudo-moar 446ea7: OUTPUT«Cannot reverse a fixed-dimension array␤  in block <unit> at /tmp/isfeYqbq0a:1␤␤»
01:44 mspo does that work for you?
01:45 * AlexDaniel wonders why it is not possible to reverse a fixed-dimension array
01:45 Hotkeys I don't think I have p6doc on this computer
01:45 Hotkeys but that's where it's located according to the source
01:46 pierre-vigier is there a way to apply a map on multi-dimensional array?
01:46 pierre-vigier m: sub fct($x) { $x*2 }; my @a = [ 1,2,3 ]; say @a.map( &fct );
01:46 camelia rakudo-moar 446ea7: OUTPUT«(2 4 6)␤»
01:46 pierre-vigier m: sub fct($x) { $x*2 }; my @a = [ [1],[2],[3] ]; say @a.map( &fct );
01:46 camelia rakudo-moar 446ea7: OUTPUT«(2 2 2)␤»
01:46 ShimmerFairy AlexDaniel: there are several things shaped arrays can't do, but I don't know if those things intended or a "don't have time to work it out" deal.
01:46 Hotkeys pierre-vigier: map a map?
01:47 AlexDaniel ShimmerFairy: well, it's ok if it said NYI
01:47 pierre-vigier that would be one solution :)
01:47 cpage_ joined #perl6
01:47 pierre-vigier the idea is in a neural network to apply a sigmoid function
01:48 AlexDaniel ShimmerFairy: but it feels like 1-dimensional array should be reversible, why not
01:48 mspo m: my @a[3] = <1 2 3>; say reverse(@a);
01:48 camelia rakudo-moar 446ea7: OUTPUT«[3 2 1]␤»
01:48 AlexDaniel hmm
01:48 ShimmerFairy AlexDaniel: beats me, jnthn would probably be the one to ask.
01:49 AlexDaniel m: my @a[3] = <1 2 3>; say @a.reverse;
01:49 camelia rakudo-moar 446ea7: OUTPUT«Cannot reverse a fixed-dimension array␤  in block <unit> at /tmp/yUhFkEMzOl:1␤␤»
01:49 Hotkeys m: sub fct($x) { $x*2 }; my @a = [ [1],[2],[3] ]; say @a.flatmap( &fct );
01:49 camelia rakudo-moar 446ea7: OUTPUT«(2 2 2)␤»
01:49 Hotkeys hm
01:50 AlexDaniel wait… What's the difference between reverse(@a) and @a.reverse?
01:50 Hotkeys I don't think there is a difference
01:50 Hotkeys just different syntax
01:50 mspo I think because the method signature is List:D: and the sub signature is *@list
01:50 mspo http://docs.perl6.org/routine/reverse#class_List
01:50 AlexDaniel uhhh
01:51 Hotkeys or that
01:51 pierre-vigier sub fct($x) { $x*2 }; my @a = [ 1,2,3 ]; say @a.map( { .map( &fct ) } );
01:51 pierre-vigier m: sub fct($x) { $x*2 }; my @a = [ 1,2,3 ]; say @a.map( { .map( &fct ) } );
01:51 camelia rakudo-moar 446ea7: OUTPUT«((2) (4) (6))␤»
01:51 AlexDaniel m: my @a[3;2]; say reverse(@a)
01:51 camelia rakudo-moar 446ea7: OUTPUT«Cannot access 2 dimension array with 1 indices␤  in block <unit> at /tmp/8ZACnJsBqM:1␤␤»
01:52 TimToady sub signature is +list
01:52 Hotkeys you could implement a magical recursive mapper function
01:52 Hotkeys and my magical i mean not very magical
01:52 Hotkeys s/my/by/
01:53 TimToady well, it's actually: sub reverse(+@a)
01:53 mspo I think you need to confinve @a.reverse to make the @a look like a closure or something?
01:53 mspo although I can't figure out how
01:54 AlexDaniel m: my @a[2;3] = (15,16,17), (4,5,6); say @a.sort
01:54 camelia rakudo-moar 446ea7: OUTPUT«(4 5 6 15 16 17)␤»
01:55 mspo oh a shaped array is different from an array
01:56 Hotkeys m: my @a[3] = 0..2; say @a.reverse;
01:56 camelia rakudo-moar 446ea7: OUTPUT«Cannot reverse a fixed-dimension array␤  in block <unit> at /tmp/n9eSA3wG5B:1␤␤»
01:56 Hotkeys m: my @a[3] = 0..2; say |@a.reverse;
01:56 camelia rakudo-moar 446ea7: OUTPUT«Cannot reverse a fixed-dimension array␤  in block <unit> at /tmp/busEzhNcw0:1␤␤»
01:56 Hotkeys m: my @a[3] = 0..2; say @a.values.reverse;
01:56 camelia rakudo-moar 446ea7: OUTPUT«(2 1 0)␤»
01:56 pierre-vigier m: multi fct(@m){ @m.map( { fct( $_ ); }); };multi fct($x) { $x*2 }; my @a = [ [1],[2],[3] ]; say @a.map( &fct );
01:56 camelia rakudo-moar 446ea7: OUTPUT«((2) (4) (6))␤»
01:56 Hotkeys ayy
01:57 Hotkeys close enough
01:57 empT joined #perl6
01:57 mspo Hotkeys: thanks
01:57 Hotkeys not sure if that's as useful for multi dimensions
01:57 mspo basically- don't use @a[3] normally :)
01:57 Hotkeys :p
01:58 Hotkeys Not sure why you can't reverse a fixed array
01:58 Hotkeys but I'm no expert
01:58 mspo m: my @a[3]; say @a.WHAT;
01:58 camelia rakudo-moar 446ea7: OUTPUT«(Array)␤»
01:58 diakopter vm: my @a[3]; say @a.^methods
01:59 mspo huh
01:59 diakopter m: my @a[3]; say @a.^methods
01:59 camelia rakudo-moar 446ea7: OUTPUT«(pick iterator STORE BIND-POS AT-POS unshift EXISTS-POS of join permutations is-lazy eager combinations reverse DELETE-POS rotor roll push rotate prepend append ASSIGN-POS Method+{<anon|83295296>}.new pop shift splice plan Method+{<anon|83295296>}.new Meth…»
01:59 mspo mine says (ShapedArray[Mu]})
02:00 diakopter I guess you can't reverse it because it could have more than one dimension, and might not be square
02:00 mspo reverse is in the ^methods list
02:00 mspo smells like a bug :)
02:01 diakopter seems like too specialized an error message for that
02:01 diakopter it doesn't say "NYI"
02:02 ShimmerFairy diakopter: IIRC there's at least a "template" error message for shaped-can't-do-that
02:02 diakopter oh
02:03 dalek rakudo-star-daily: ab514cb | coke++ | log/ (2 files):
02:03 dalek rakudo-star-daily: today (automated commit)
02:03 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/ab514cba2c
02:11 uruwi joined #perl6
02:14 dalek rakudo/nom: 6779524 | TimToady++ | src/core/ (5 files):
02:14 dalek rakudo/nom: add overflow/underflow failures to **
02:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/67795245fd
02:15 pierre-vigier joined #perl6
02:15 AlexDaniel Maybe somebody wants to add something: https://rt.perl.org/Public/​Bug/Display.html?id=126799
02:17 AlexDaniel TimToady++
02:18 AlexDaniel I don't think that there are many overflow issues now
02:22 yeahnoob joined #perl6
02:25 b2gills m: my @a[1;1] = [[1],]; @a.perl.say; # MadcapJake
02:25 camelia rakudo-moar 446ea7: OUTPUT«Array.new(:shape(1, 1), [[1],],)␤»
02:25 dayangkun joined #perl6
02:29 lucs Where can I read about "assoc<chain>" (the Z operator returns "List:D is assoc<chain>")
02:31 b2gills TimToady: 0 is valid on a Fahrenheit thermometer as well, I know from experience ( Iowa has had temperatures below -40° )
02:34 elliot_ joined #perl6
02:35 elliot_ join
02:35 elliot_ help
02:35 AlexDaniel elliot_: :)
02:35 elliot_ left #perl6
02:36 yeahnoob joined #perl6
02:37 b2gills m: say 1,2,3 Z~ <a b c> Z~ 3,2,1; # lucs: this is what that means if you don't know
02:37 camelia rakudo-moar 677952: OUTPUT«(1a3 2b2 3c1)␤»
02:38 dalek roast: d8db71f | lizmat++ | S02-names/strict.t:
02:38 dalek roast: Fix test broken by levenshtein changes
02:38 dalek roast: review: https://github.com/perl6/roast/commit/d8db71f73a
02:38 lucs b2gills: I kind of understand that, but I'm curious about how an assoc<chain> is defined exactly.
02:39 lizmat good night, #perl6!
02:39 lucs Good night lizmat
02:40 AlexDaniel m: my @a[0]; say @a.perl
02:40 camelia rakudo-moar 677952: OUTPUT«Array.new(:shape(0,), [])␤»
02:40 AlexDaniel m: my @a[1]; say @a.perl
02:40 camelia rakudo-moar 677952: OUTPUT«Array.new(:shape(1,), [Any])␤»
02:40 AlexDaniel m: my @a[0.5]; say @a.perl
02:40 camelia rakudo-moar 677952: OUTPUT«Index 0 for dimension 1 out of range (must be 0..-1)␤  in block <unit> at /tmp/4I4ueXgWUC:1␤␤»
02:40 AlexDaniel I wonder what's the logic behind it…
02:41 herby_ joined #perl6
02:42 herby_ Good evening, everyone!
02:45 pierre-vigier joined #perl6
02:45 herby_ Any idea on when the there will be an MSI for rakudo 2015.11?
02:45 Zoffix joined #perl6
02:45 lucs b2gills: Oh, just found it in S06 -- My mind saw it as "associative array" or something, instead of describing the associativity of the operation.
02:45 diakopter Zoffix++ # nice blagging
02:45 dalek perl6-most-wanted: 4345f7c | bluebear94++ | most-wanted/modules.md:
02:45 dalek perl6-most-wanted: Add link to Math::Random
02:45 dalek perl6-most-wanted: review: https://github.com/perl6/perl6​-most-wanted/commit/4345f7c9bf
02:45 dalek perl6-most-wanted: 9f9d03c | (Zoffix Znet)++ | most-wanted/modules.md:
02:45 dalek perl6-most-wanted: Merge pull request #9 from bluebear94/master
02:45 dalek perl6-most-wanted:
02:45 dalek perl6-most-wanted: Add link to Math::Random
02:45 dalek perl6-most-wanted: review: https://github.com/perl6/perl6​-most-wanted/commit/9f9d03c080
02:45 b2gills AlexDaniel:  I think the reason that error is wrong is that uints are treated as ints currently
02:45 Zoffix .botsnack
02:45 yoleaux 01:24Z <dj_goku> Zoffix: great advent post! I didn't know it was that simple to connect to IRC!
02:45 yoleaux :D
02:45 Zoffix dj_goku, thanks :)
02:45 Zoffix diakopter, thanks
02:45 AlexDaniel b2gills: which issue exactly are you talking about? :)
02:45 herby_ yeah, that was a great advent post
02:46 diakopter seems to me react { whenever $sock.supply {   # could be shortened to  react $sock.supply { # when there's only one whenever
02:46 diakopter er, .Supply
02:46 b2gills That it reports the range as "0..-1" instead of "0..uint.Range.max"
02:48 csd_ joined #perl6
02:48 AlexDaniel b2gills: why does it accept “0.5” in the first place? :)
02:48 AlexDaniel b2gills: maybe it should, I'm not sure
02:49 AlexDaniel m: my @a[Inf]
02:49 camelia rakudo-moar 677952: OUTPUT«This type cannot unbox to a native integer␤  in block <unit> at /tmp/VAzSvbZaU9:1␤␤»
02:49 b2gills Ahh.    didn't realize that wasn't what the error was about
02:50 herby_ Skarsnik, you around?
02:50 AlexDaniel b2gills: I've submitted a bug report about overflowing stuff, so I guess the issue with int/uints will be solved in one way or another
02:51 AlexDaniel now I'm wondering if fractional sizes are a separate issue…
02:56 MadcapJake I ended up using a hash instead of a shaped array because I needed to grow the size organically. I made the keys by `@pos.gist`
02:57 TimToady m: say 99**99**99
02:57 camelia rakudo-moar 677952: OUTPUT«Numeric overflow␤  in block <unit> at /tmp/n9or32Hpx1:1␤␤Actually thrown at:␤  in block <unit> at /tmp/n9or32Hpx1:1␤␤»
02:57 MadcapJake I would've needed to rebuild the shaped array anytime an out-of-bounds error occurred.
02:57 TimToady m: say .9e0**99**99
02:57 camelia rakudo-moar 677952: OUTPUT«Numeric underflow␤  in block <unit> at /tmp/JG7kUd9XLU:1␤␤Actually thrown at:␤  in block <unit> at /tmp/JG7kUd9XLU:1␤␤»
02:58 AlexDaniel TimToady: this is awesome!
02:58 TimToady m: say .9e0**Inf
02:58 camelia rakudo-moar 677952: OUTPUT«0␤»
02:58 AlexDaniel hm…
02:58 TimToady oops
02:58 TimToady oh, wait, that's right
02:58 AlexDaniel ok I take it back! :)
02:58 TimToady m: say .99**99**99
02:58 camelia rakudo-moar 677952: OUTPUT«Earlier failure:␤ Numeric overflow␤  in block <unit> at /tmp/jTA5fuZOOn:1␤␤Final error:␤ Type check failed in binding nu; expected Int but got Failure␤  in block <unit> at /tmp/jTA5fuZOOn:1␤␤»
02:58 AlexDaniel ooooh
02:58 TimToady that's the one that's a bit suspect
02:58 BenGoldberg joined #perl6
02:59 AlexDaniel m: say 9e0**Inf
02:59 camelia rakudo-moar 677952: OUTPUT«Inf␤»
02:59 AlexDaniel right
02:59 AlexDaniel .oO( perl6 is smarter than me… )
02:59 TimToady the Rat one could be made a bit smarter on under vs over
03:01 AlexDaniel TimToady: “my @a[5.5]” – what should it mean? [5], [6] or error?
03:02 MadcapJake .tell cygx thanks for the example of an instanced actions object! I ended up using that pattern. Actually my error was because I was missing the comma after my parse string (the error given confused me)
03:02 yoleaux MadcapJake: I'll pass your message to cygx.
03:02 MadcapJake m: class Actions { has $.i = 0; method foo($) { $!i++ } }; grammar G { token TOP { <foo>+ }; token foo { foo } }; my $actions = Actions.new; G.parse("foofoofoo" :$actions); say $actions.i
03:02 camelia rakudo-moar 677952: OUTPUT«5===SORRY!5=== Error while compiling /tmp/r8QDQ45Jvi␤You can't adverb that␤at /tmp/r8QDQ45Jvi:1␤------> 3tions.new; G.parse("foofoofoo" :$actions7⏏5); say $actions.i␤»
03:02 MadcapJake isn't that a weird error for missing a comma?
03:02 herby_ for the advent, have all the topics been decided on?
03:03 AlexDaniel MadcapJake: I don't think so. You can't adverb a string
03:03 MadcapJake but i
03:03 MadcapJake 'm not :P
03:03 TimToady AlexDaniel: I think an error would be appropriate if .narrow doesn't get an Int
03:04 MadcapJake an adverb starts with a colon
03:04 TimToady since a dynamic 5.5 might well indicate that you need 6, but maybe not
03:04 AlexDaniel MadcapJake: well, if I'm not blatantly wrong, then it reads it as "foofoofoo":something
03:04 TimToady and we should force them to put ceiling if they mean that
03:04 AlexDaniel MadcapJake: at least that's how I read it! :)
03:05 MadcapJake AlexDaniel: yeah I agree that's how I see it too but don't adverbs always start with a colon? so why would Perl 6 think the adverb starts at the beginning of the string?
03:05 diakopter herby_: would you like to suggest a topic?
03:05 dalek doc: 0109b5e | (Brock Wilcox)++ | doc/ (2 files):
03:05 dalek doc: Clarify use of | in proto, per #218
03:05 dalek doc: review: https://github.com/perl6/doc/commit/0109b5e37e
03:07 herby_ diakopter, as a all around beginner, I'd like to see something involving retrieving and scraping a web page?
03:07 herby_ or maybe something related
03:07 herby_ I can't really find that much out there for Perl 6 involving that type stuff
03:07 noganex joined #perl6
03:08 dalek doc: 7909607 | (Brock Wilcox)++ | doc/Type/Str.pod:
03:08 dalek doc: Remove mentions of Niecza and incorrect Rakudo reference per #220
03:08 dalek doc: review: https://github.com/perl6/doc/commit/7909607586
03:08 AlexDaniel m: sub a {}; a("test":test)
03:08 camelia rakudo-moar 677952: OUTPUT«5===SORRY!5=== Error while compiling /tmp/BZPQv9bmrh␤You can't adverb that␤at /tmp/BZPQv9bmrh:1␤------> 3sub a {}; a("test":test7⏏5)␤    expecting any of:␤        pair value␤»
03:08 diakopter such a thing takes a bunch of infrastructure, such as WWW::Mechanized on CPAN (which is at least what I used 12 years ago for that).. needing vey very tolerant HTML parsing, very very tolerant HTTP client, etc
03:09 MadcapJake awwaiid++ # thanks for the proto | explanation!
03:09 herby_ hmm
03:09 herby_ Ok. Just a thought.  I'll be reading it regardless : )
03:09 diakopter it could be a nice demo of Inline::Perl5
03:10 diakopter maybe there's something the Perl 6 language could contribute to a typical usage of such a P5 library to make it simpler to use
03:10 MadcapJake there's https://github.com/tony-o/perl6-web-scraper but it hasn't been updated in a year
03:11 AlexDaniel m: 1 / 3 :round
03:11 camelia rakudo-moar 677952: OUTPUT«Unexpected named parameter 'round' passed␤  in block <unit> at /tmp/e7YhRaQuud:1␤␤»
03:11 AlexDaniel hm
03:11 awwaiid You're welcome MadcapJake :)
03:12 herby_ maybe a simple example of concurrency ?
03:12 herby_ that would have practical use
03:13 MadcapJake check out the latest article by Zoffix
03:13 diakopter what kind of concurrency? data parallelism? Zoffix' story (today) uses async io and reactivity
03:14 MadcapJake Also check out http://jnthn.net/papers/201​5-yapcasia-concurrency.pdf
03:15 * awwaiid learns that proto not only sets up a signature prototype but also is effectively an 'around' wrapper
03:15 BenGoldberg joined #perl6
03:15 herby_ diakopter, I don't have much of a grasp on the variants
03:16 herby_ MadcapJake, I'll take a look. Thanks.
03:16 b2gills I have a program which has `proto sub MAIN (|) { try { say +{*} } or say $!.message }`
03:16 colomon Inline is failing with latest Rakudo?
03:16 geraud m: use nqp; sub hi($foo, :$bar, :$baz) { say $bar.perl; say $bar.WHAT.perl; say nqp::sha1($bar); }; hi("world");
03:16 camelia rakudo-moar 677952: OUTPUT«Any␤Any␤Cannot unbox a type object␤  in sub hi at /tmp/FwUocIFL7r:1␤  in block <unit> at /tmp/FwUocIFL7r:1␤␤»
03:17 AlexDaniel m: my @x; sub a($foo) { say $foo }; a(@x[0] :exists) # MadcapJake
03:17 camelia rakudo-moar 677952: OUTPUT«False␤»
03:17 AlexDaniel MadcapJake: see, it is perfectly valid
03:17 AlexDaniel MadcapJake: for things that you can adverb :)
03:18 MadcapJake so why doesn't it work for strings?
03:18 MadcapJake ohhh
03:18 MadcapJake it's because it thinks that the *string* is being adverbed
03:18 AlexDaniel yes, hence the error
03:18 * MadcapJake sees the light!
03:19 MadcapJake AlexDaniel++ thanks for helping me grok that xD
03:19 xpen joined #perl6
03:20 TimToady would be nice if we could s/that/something more specific/
03:20 AlexDaniel yes, that's what I thought as well
03:21 MadcapJake maybe just changing `that` to the thing or type because when I read "can't adverb that" I thought it was saying that my adverb was wrong but really it meant that my adverb was applying to the wrong thing
03:22 AlexDaniel .oO( Notes for Perl 6 obfuscation contest: both foo(@x[0]  :exists) and foo(@x[0],:exists) everywhere )
03:23 mst joined #perl6
03:23 herby_ Madcap, that's an interesting article
03:23 BinGOs joined #perl6
03:23 herby_ any articles out there that show rough benchmarks of using concurrency/parallelism?
03:23 AlexDaniel MadcapJake: I'll submit it as LTA then. Maybe some day someone will get his hands on it :)
03:24 garu joined #perl6
03:24 kaare_ joined #perl6
03:25 MadcapJake here's the message for X::Syntax::Adverb: method message() { "You can't adverb " ~ ($.what // "that")  }
03:25 MadcapJake so I think it's supposed to provide a that but apparently strings aren't providing a type?
03:25 pierre-vigier joined #perl6
03:26 mst joined #perl6
03:26 MadcapJake How do errors pass data into these an exception class's attributes?
03:26 AlexDaniel shouldn't it be .WHAT ?
03:27 MadcapJake hey that could be it!
03:27 raiph joined #perl6
03:27 AlexDaniel MadcapJake: wanna try that yourself?
03:27 AlexDaniel I mean fix, recompile, test, send pull request… :)
03:27 MadcapJake there's a lot of lower-case `what`s though, so maybe that's just how it's called inside rakudo core
03:27 AlexDaniel ahh
03:28 AlexDaniel dunno then!
03:28 MadcapJake I think the error is actually happening where the string throws the error
03:30 yeahnoob joined #perl6
03:35 MadcapJake Here it is: https://github.com/rakudo/rakudo/bl​ob/nom/src/Perl6/Actions.nqp#L5823
03:36 MadcapJake $target (in our case a string) apparently doesn't have a `name` attribute.
03:37 AlexDaniel MadcapJake: oh look
03:37 AlexDaniel m: my Str $z = "hello"; my @x; sub a($foo) { say $foo }; a($z :exists)
03:37 camelia rakudo-moar 677952: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ySVLNZQa1F␤You can't adverb $z␤at /tmp/ySVLNZQa1F:1␤------> 3; sub a($foo) { say $foo }; a($z :exists7⏏5)␤    expecting any of:␤        pair value␤»
03:38 AlexDaniel so what happens when you pass something like 「"str"」 or 「42」?
03:39 TimToady maybe it just just use ~$target
03:39 AlexDaniel 「what => $target.name // $target」 ?
03:39 AlexDaniel 「what => $target.name // ~$target」 ?
03:39 geraud m: say $*REPO;
03:39 camelia rakudo-moar 677952: OUTPUT«inst#/home/camelia/.p​erl6/2015.11-339-g6779524␤»
03:40 geraud m: say $*REPO.repo-chain;
03:40 camelia rakudo-moar 677952: OUTPUT«(inst#/home/camelia/​.perl6/2015.11-339-g6779524 inst#/home/camelia/rakudo-​m-inst-2/share/perl6/site inst#/home/camelia/rakudo-m​-inst-2/share/perl6/vendor inst#/home/camelia/rakudo-m-inst-2/share/perl6)␤»
03:41 geraud hum...
03:41 MadcapJake yeah that's a good idea
03:42 TimToady AlexDaniel: I think // is too late for a missing method in nqp
03:42 TimToady hence the nqp::can
03:42 AlexDaniel right
03:43 MadcapJake ok here goes, i'll try that, how do I do this? I have a forked rakudo, now I'm making the change, then what? :)
03:43 leedo i get an interesting error trying to install IO::Socket::SSL: "Attempt to return outside of any Routine"
03:43 leedo https://github.com/sergot/io-socke​t-ssl/blob/master/t/01-basic.t#L21
03:44 AlexDaniel MadcapJake: compile it and see if it helped
03:44 awwaiid b2gills: that is amazing
03:44 leedo if i make that "subtest sub {" instead of "subtest {" it passes
03:45 MadcapJake AlexDaniel: with this: 'perl Configure.pl --gen-moar --gen-nqp --backends=moar'
03:45 AlexDaniel MadcapJake: well, basically just 「make」, but you have to configure it before, yes
03:45 MadcapJake should I be using a separate branch or can I just commit to nom and PR (if this works :P )
03:46 AlexDaniel MadcapJake: I don't think that it matters for such a small changes.
03:46 AlexDaniel s/s.*$//
03:47 MadcapJake ok cool
03:47 * AlexDaniel says someone who has never contributed a thing…
03:47 MadcapJake lol, well all I'm adding is one character xD
03:48 MadcapJake *if* it works :P
03:48 MadcapJake I wonder if it is going to print too much though, like what if you have a really long string, will it print all of it?
03:49 MadcapJake I know that $target is an AST node, but I don't know what it looks like
03:49 * MadcapJake just learned that Linenoise gives you history and tab completion! Awesome!
03:50 AlexDaniel MadcapJake: IMO long string is better than “that”
03:50 MadcapJake Yeah I agree
03:52 TimToady you probably want to stringify $/[0] instead of $target
03:53 dalek rakudo/nom: 5b8c080 | TimToady++ | src/core/Rat.pm:
03:53 dalek rakudo/nom: better undef/overflow on Rat ** Int
03:53 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5b8c080eae
03:53 MadcapJake well make just finished so let me just see what happens first before I change to that
03:53 leedo m: sub cont(&sub) { say &sub.() }; cont { return "hello" };
03:53 camelia rakudo-moar 677952: OUTPUT«Attempt to return outside of any Routine␤  in block <unit> at /tmp/RyObZDqNU8:1␤␤»
03:54 leedo should that work? seems to be what is preventing IO::Socket::SSL from passing tests
03:54 TimToady no, return is lexotic, so should attach to its lexically surrounding sub, which there isn't one
03:55 TimToady otherwise we'd have return exceptions returning from the wrong routine all over the place
03:55 leedo https://github.com/sergot/io-socke​t-ssl/blob/master/t/01-basic.t#L21 so i guess this is not a good way to bail on a subtest
03:55 MadcapJake TimToady: yeah I'm getting "can't stringify this, so that must be an nqp error.  Will I get the same error stringifying $/[0] though?
03:55 TimToady no
03:55 TimToady that's a Match object
03:55 TimToady that we pull $target from
03:56 MadcapJake do I need to configure again or can I just run make this time?
03:56 TimToady just make
03:58 BenGoldberg joined #perl6
04:00 BenGoldberg joined #perl6
04:02 MadcapJake Here's the new error:
04:02 MadcapJake ===SORRY!=== Error while compiling -e
04:02 MadcapJake You can't adverb "foofoofoo"
04:02 MadcapJake at -e:1
04:02 MadcapJake ------> tions.new; G.parse("foofoofoo" :$actions⏏); say $actions.i
04:03 BenGoldberg joined #perl6
04:04 AlexDaniel MadcapJake: cool, try something more complex
04:04 AlexDaniel 9 ** 9 :$actions
04:04 BenGoldberg joined #perl6
04:04 b2gills awwaiid: the program has 3 MAIN subs which all reads bytes, one from $*IN, one from a file argument, one from `run(«xclip -o»,:bin,:out)`
04:04 MadcapJake m: 9 ** 9 :$actions
04:04 camelia rakudo-moar 677952: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ED8wo3F3XO␤Variable '$actions' is not declared␤at /tmp/ED8wo3F3XO:1␤------> 9 ** 9 :7⏏5$actions␤»
04:04 MadcapJake m: 9 ** 9 :actions
04:04 camelia rakudo-moar 677952: OUTPUT«WARNINGS:␤Useless use of "**" in expression "9 ** 9" in sink context (line 1)␤Unexpected named parameter 'actions' passed␤  in block <unit> at /tmp/UX8ql0Xcpc:1␤␤»
04:05 AlexDaniel m: sub foo {}; foo(9 ** 9 :$actions);
04:05 camelia rakudo-moar 677952: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4xy2oGX8qR␤Variable '$actions' is not declared␤at /tmp/4xy2oGX8qR:1␤------> 3sub foo {}; foo(9 ** 9 :7⏏5$actions);␤»
04:05 AlexDaniel m: sub foo {}; foo(9 ** 9 :bar);
04:05 camelia rakudo-moar 677952: OUTPUT«Unexpected named parameter 'bar' passed␤  in block <unit> at /tmp/vAd3wWZWcO:1␤␤»
04:05 MadcapJake we need to find something that prints the "can't adverb that" error
04:05 AlexDaniel m: sub foo {}; foo((9**9) :bar);
04:05 camelia rakudo-moar 677952: OUTPUT«5===SORRY!5=== Error while compiling /tmp/QtKxwQj5pl␤You can't adverb that␤at /tmp/QtKxwQj5pl:1␤------> 3sub foo {}; foo((9**9) :bar7⏏5);␤    expecting any of:␤        pair value␤»
04:05 MadcapJake boom!
04:06 skids The syntax support for adverb lists is still very limited.  That exaple may never work, in order to preserve adverbs on operators on epressions inside the list.
04:06 MadcapJake It prints "You can't adverb (9**9)"
04:06 AlexDaniel cool
04:06 skids m: (1, :a :b).say # this syntax could probably be made to work better.
04:06 camelia rakudo-moar 677952: OUTPUT«(1 a => True)␤»
04:06 MadcapJake skids: we're trying to improve the error message
04:07 AlexDaniel MadcapJake: well… there is one thing that usually bothers me
04:07 AlexDaniel m: sub foo {}; foo((9**9)␤ :bar);
04:07 camelia rakudo-moar 677952: OUTPUT«5===SORRY!5=== Error while compiling /tmp/hmdVsw4txL␤You can't adverb that␤at /tmp/hmdVsw4txL:2␤------> 3 :bar7⏏5);␤    expecting any of:␤        pair value␤»
04:07 AlexDaniel MadcapJake: try this with a newline
04:08 AlexDaniel the thing is that sometimes whitespace is included in the error message
04:08 MadcapJake weird, I get this "Unable to parse expression in argument list; couldn't find final ')' "
04:09 AlexDaniel which might be very annoying sometimes. And I think that it is pretty common to have arguments on separate lines
04:09 MadcapJake why would it give that to me and "can't adverb that" to the current rakudo?
04:09 AlexDaniel MadcapJake: I mean use real newline instead of ␤
04:09 MadcapJake oh lol
04:11 AlexDaniel MadcapJake++ # for improving error messages
04:11 MadcapJake AlexDaniel: It seems to trim off the newlines because I tried adding a few and the error message remains a oneliner
04:12 MadcapJake it might include them if I place a newline inside the parens
04:12 AlexDaniel MadcapJake: okay that's probably good enough
04:12 AlexDaniel MadcapJake: yes, in which case it is probably ok, I'm not quite sure
04:12 MadcapJake yeah it does keep them
04:13 AlexDaniel MadcapJake: I haven't seen any error message where this thing is handled somehow
04:13 MadcapJake i'm gonna run make test and then submit a PR
04:14 MadcapJake should I be running the roast thing too?
04:14 dalek Heuristic branch merge: pushed 119 commits to nqp/backlog by zhuomingliang
04:17 MadcapJake oops I shouldn't have `git add -A` a bunch of precomp stuff got added to the staging area :S
04:18 diakopter hm, needs to be ignored
04:18 MadcapJake yeah
04:19 AlexDaniel MadcapJake: 「make spectest」 should do the roast thing, as far as I know
04:20 MadcapJake ok thanks!
04:25 hankache joined #perl6
04:25 dalek nqp: 261e50c | (Jimmy Zhuo)++ | src/vm/jvm/ (6 files):
04:25 dalek nqp: expose the backlog arg for listen
04:25 dalek nqp: review: https://github.com/perl6/nqp/commit/261e50c8bb
04:25 dalek nqp: f86f15c | (Jimmy Zhuo)++ | tools/build/MOAR_REVISION:
04:25 dalek nqp: bump moar version
04:25 dalek nqp: review: https://github.com/perl6/nqp/commit/f86f15c8a8
04:25 dalek nqp: 3e65897 | (Jimmy Zhuo)++ | src/vm/jvm/ (6 files):
04:25 dalek nqp: Merge branch 'backlog'
04:25 dalek nqp: review: https://github.com/perl6/nqp/commit/3e65897216
04:25 dalek nqp: 8b2f005 | (Jimmy Zhuo)++ | / (7 files):
04:25 dalek nqp: Merge pull request #261 from perl6/backlog
04:25 dalek nqp:
04:25 dalek nqp: Backlog
04:25 dalek nqp: review: https://github.com/perl6/nqp/commit/8b2f005502
04:26 hankache morning #perl6
04:30 dalek nqp: 52ded1d | (Jimmy Zhuo)++ | tools/build/MOAR_REVISION:
04:30 dalek nqp: bump moar version again
04:30 dalek nqp: review: https://github.com/perl6/nqp/commit/52ded1d755
04:32 mohij joined #perl6
04:37 diakopter free certificates for everyone: https://letsencrypt.readthedocs.org/en/latest/
04:39 vendethiel joined #perl6
04:40 rigsby joined #perl6
04:44 empT joined #perl6
04:46 MadcapJake just passed the exception spec test! this takes quite a long time
04:48 JimmyZ could anyone help to merge https://github.com/rakudo/rakudo/pull/569 ? Thanks
04:48 diakopter MadcapJake: did you do TEST_JOBS=9
04:49 diakopter JimmyZ: does it break anything :)
04:49 JimmyZ diakopter: it doesn't yet
04:50 adhoc joined #perl6
04:50 MadcapJake diakopter: no, does that run tests in parallel
04:51 ab5tract joined #perl6
04:51 diakopter yes
04:54 MadcapJake how do you figure out which test failed (it only gives the file and a number)
04:55 diakopter hafta run them individually
04:56 MadcapJake how do you do that?
04:57 AlexDaniel MadcapJake: something like 「perl6 SomeFolder/sometest.t」 I guess
04:59 MadcapJake I have to install Test?
04:59 diakopter it is already installed with rakudo
04:59 MadcapJake wait, do I need to pass a -I for Test?
04:59 diakopter no
04:59 MadcapJake not according to this build
04:59 diakopter the perl6-m shortcut does it for you
04:59 MadcapJake oh
05:00 MadcapJake nope same error
05:00 MadcapJake "Could not find Test"
05:00 diakopter what is your current directory and what command are you running
05:01 MadcapJake PWD=~/github/rakudo; CMD=./perl6-m t/spec/S32-array/abverbs.t
05:01 diakopter did you do `make install`
05:01 MadcapJake no
05:02 MadcapJake i want to leave my stable rakudo install alone
05:02 diakopter ah
05:02 diakopter well look in the Makefile for how it invokes the spectest
05:03 dalek rakudo/nom: 9f5b94e | (Jimmy Zhuo)++ | src/core/IO/Socket/ (2 files):
05:03 dalek rakudo/nom: expose the backlog arg for listen
05:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9f5b94e338
05:03 dalek rakudo/nom: 8415dfa | (Jimmy Zhuo)++ | / (160 files):
05:03 dalek rakudo/nom: Merge branch 'nom' into backlog
05:03 dalek rakudo/nom:
05:03 dalek rakudo/nom: Conflicts:
05:03 dalek rakudo/nom: src/core/IO/Socket/INET.pm
05:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8415dfaeda
05:03 dalek rakudo/nom: c981d28 | (Jimmy Zhuo)++ | tools/build/NQP_REVISION:
05:03 dalek rakudo/nom: bump nqp version
05:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c981d28a58
05:03 dalek rakudo/nom: 8d6ac86 | (Matthew Wilson)++ | / (3 files):
05:03 dalek rakudo/nom: Merge pull request #569 from zhuomingliang/backlog
05:03 dalek rakudo/nom:
05:03 dalek rakudo/nom: Expose the backlog arg for listen
05:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8d6ac864d7
05:03 MadcapJake adding `-Ilib` worked
05:03 Ben_Goldberg joined #perl6
05:06 MadcapJake this test failed: https://github.com/perl6/roast/bl​ob/master/S32-array/adverbs.t#L56
05:09 Ben_Goldberg joined #perl6
05:10 AlexDaniel MadcapJake: that's interesting :)
05:10 MadcapJake yeah I don't follow because it throws an exception so I don't see why it would fail that
05:11 Ben_Goldberg joined #perl6
05:12 AlexDaniel MadcapJake: was it failing before your change? :)
05:12 MadcapJake m: my @a = 'a'..'d'; @a[1]:zorp;
05:12 camelia rakudo-moar 8d6ac8: OUTPUT«Unexpected named parameter 'zorp' passed␤  in block <unit> at /tmp/8ijBqpN8Bj:1␤␤»
05:12 MadcapJake no idea, lets see
05:13 pierre-vigier joined #perl6
05:14 AlexDaniel MadcapJake: no need to run the full suite, just this test :)
05:15 MadcapJake yeah for sure :D
05:16 peteretep left #perl6
05:17 Ben_Goldberg joined #perl6
05:17 km3 joined #perl6
05:18 Ben_Goldberg joined #perl6
05:18 MadcapJake haha those failing tests were already failing :P
05:22 Ben_Goldberg joined #perl6
05:24 Ben_Goldberg joined #perl6
05:24 AlexDaniel MadcapJake: well, if you are sure then it's ok :)
05:29 Ben_Goldberg joined #perl6
05:29 MadcapJake https://github.com/rakudo/rakudo/pull/617
05:29 MadcapJake AlexDaniel: ^^
05:29 AlexDaniel MadcapJake: next time you can just check this: https://github.com/coke/perl6-roast-data​/blob/920e967f37d19627f4af9ed767be80fc60​23554b/log/rakudo.moar_summary.out#L2425
05:30 MadcapJake oh cool, good to know!
05:35 AlexDaniel MadcapJake: personally I'd just leave 「// 'that'」 there, because why not
05:37 MadcapJake yeah but if the code I changed was the only thing depending on it, might make sense to purge it
05:38 MadcapJake save someone down-the-road trying to figure out what its purpose is
05:38 AlexDaniel MadcapJake: it seems like it is the only thing depending on it, yes
05:39 MadcapJake ok well i'll make and run tests and make sure it's all good
05:40 MadcapJake this will double my lines modified in rakudo :D
05:41 MadcapJake tomorrow, I need to take some time to work on that linter, keeps crashing while I edit rakudo xD
05:44 MadcapJake I wish I had a server to spare, I want to have the linter send me error data that wasn't captured so that I can just crowdsource what errors aren't working :D
05:47 BenGoldberg joined #perl6
05:47 nige1 joined #perl6
05:53 stmuk joined #perl6
05:55 BenGoldberg joined #perl6
05:57 BenGoldberg joined #perl6
05:59 BenGoldberg joined #perl6
06:07 moritz MadcapJake: there's a Perl 6 community server tha you could use for that purpose
06:07 moritz MadcapJake: http://hack.p6c.org/
06:08 MadcapJake oooo!
06:08 moritz MadcapJake: in essence, /msg me your desired username
06:10 BenGoldberg joined #perl6
06:10 dalek perl6.org: 54887e7 | moritz++ | / (3 files):
06:10 dalek perl6.org: use HTTPS for doc.perl6.org and design.perl6.org
06:10 dalek perl6.org: review: https://github.com/perl6/p​erl6.org/commit/54887e7333
06:11 BenGoldberg joined #perl6
06:15 xpen joined #perl6
06:15 pierre-vigier joined #perl6
06:17 dalek rakudo/nom: bb93bd7 | (Jake Russo)++ | src/Perl6/Actions.nqp:
06:17 dalek rakudo/nom: Improve X::Syntax::Adverb error message
06:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bb93bd768d
06:17 dalek rakudo/nom: c079f89 | (Jake Russo)++ | src/core/Exception.pm:
06:17 dalek rakudo/nom: Remove unnecessary "that" string
06:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c079f899fa
06:17 dalek rakudo/nom: 47d2daf | moritz++ | src/ (2 files):
06:17 dalek rakudo/nom: Merge pull request #617 from MadcapJake/nom
06:17 dalek rakudo/nom:
06:17 dalek rakudo/nom: Improve X::Syntax::Adverb error message
06:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/47d2dafa84
06:20 lustlife` joined #perl6
06:20 MadcapJake AlexDaniel: ^^^
06:20 Ben_Goldberg joined #perl6
06:21 bbarker`` joined #perl6
06:21 AlexDaniel m: sub a { }; a("test" :hello)
06:21 camelia rakudo-moar 8d6ac8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/UZZFGPuPKd␤You can't adverb that␤at /tmp/UZZFGPuPKd:1␤------> 3sub a { }; a("test" :hello7⏏5)␤    expecting any of:␤        pair value␤»
06:21 AlexDaniel not yet :)
06:22 MadcapJake hehe, how does the perl6 irc bot get updated?
06:22 TimToady m: say .99**99**99
06:22 camelia rakudo-moar 8d6ac8: OUTPUT«Numeric underflow␤  in block <unit> at /tmp/HQXYrk8Lsy:1␤␤Actually thrown at:␤  in block <unit> at /tmp/HQXYrk8Lsy:1␤␤»
06:23 TimToady m: say .99**-999999999999
06:23 camelia rakudo-moar 8d6ac8: OUTPUT«Numeric overflow␤  in block <unit> at /tmp/iVYxussw4n:1␤␤Actually thrown at:␤  in block <unit> at /tmp/iVYxussw4n:1␤␤»
06:23 TimToady m: say 1.01**-999999999999
06:23 camelia rakudo-moar 8d6ac8: OUTPUT«Numeric underflow␤  in block <unit> at /tmp/g930nGD36c:1␤␤Actually thrown at:␤  in block <unit> at /tmp/g930nGD36c:1␤␤»
06:23 AlexDaniel MadcapJake: pretty often
06:23 TimToady m: say 1.01**999999999999
06:23 camelia rakudo-moar 8d6ac8: OUTPUT«Numeric overflow␤  in block <unit> at /tmp/sjzv5EnxJ9:1␤␤Actually thrown at:␤  in block <unit> at /tmp/sjzv5EnxJ9:1␤␤»
06:23 AlexDaniel MadcapJake: every hour for sure
06:24 empT joined #perl6
06:24 TimToady MadcapJake: it updates automatically every 20 minutes
06:24 MadcapJake haha that's awesome
06:24 TimToady currently starting at 08, 28, and 48
06:24 diakopter moritz: did you use letsencrypt certs?
06:24 TimToady so done about 3 minutes later
06:25 diakopter moritz: yes! good job
06:25 TimToady so your fix will be there at about :31 or so
06:25 pierre-vigier joined #perl6
06:25 MadcapJake TimToady: I'm stoked! B)
06:26 AlexDaniel m: say i**99999999999999999
06:26 camelia rakudo-moar 8d6ac8: OUTPUT«-0.484744915395865+0.874655570494955i␤»
06:26 AlexDaniel m: say i**99**99**99
06:26 camelia rakudo-moar 8d6ac8: OUTPUT«Numeric overflow␤  in block <unit> at /tmp/NHFwDWUdv1:1␤␤Actually thrown at:␤  in block <unit> at /tmp/NHFwDWUdv1:1␤␤»
06:29 TimToady I didn't try to do anything with Complex
06:29 TimToady and there's no Complex ** Int candidate anyway, so you're getting overflow before it ever gets into Complex there
06:30 AlexDaniel heh
06:30 TimToady whether there *should* be an Int candidate, I dunno
06:32 AlexDaniel m: sub a { }; a("test" :hello)
06:32 camelia rakudo-moar 47d2da: OUTPUT«5===SORRY!5=== Error while compiling /tmp/pcA8m8hwCc␤You can't adverb "test"␤at /tmp/pcA8m8hwCc:1␤------> 3sub a { }; a("test" :hello7⏏5)␤    expecting any of:␤        pair value␤»
06:33 AlexDaniel m: sub a { }; a({} :hello)
06:33 camelia rakudo-moar 47d2da: OUTPUT«Unexpected named parameter 'hello' passed␤  in block <unit> at /tmp/XtrgXWVx4N:1␤␤»
06:34 MadcapJake m: sub a { }; a((9 ** 9) :hello)
06:34 camelia rakudo-moar 47d2da: OUTPUT«5===SORRY!5=== Error while compiling /tmp/PcMKNCq1Zw␤You can't adverb (9 ** 9)␤at /tmp/PcMKNCq1Zw:1␤------> 3sub a { }; a((9 ** 9) :hello7⏏5)␤    expecting any of:␤        pair value␤»
06:35 AlexDaniel m: my \nuts = 42; sub a { }; a(nuts :hello)
06:35 camelia rakudo-moar 47d2da: OUTPUT«5===SORRY!5=== Error while compiling /tmp/AH0E3BqqDk␤You can't adverb nuts␤at /tmp/AH0E3BqqDk:1␤------> 3my \nuts = 42; sub a { }; a(nuts :hello7⏏5)␤    expecting any of:␤        pair value␤»
06:36 AlexDaniel actually, that's the old behavior
06:36 AlexDaniel MadcapJake: I wonder if it should use quotes…
06:36 MadcapJake nuts is the name
06:36 TimToady I wouldn't worry about it
06:37 AlexDaniel TimToady: yeah, though I don't really like the inconsistency that we have now
06:37 AlexDaniel sometimes the quotes are there, sometimes not
06:37 TimToady it doesn't matter
06:37 TimToady trying to make that consistent will merely make some things less readable
06:37 MadcapJake i would say that would be confusing as the quotes for the string are from the string
06:38 TimToady all it is really indicating is the scope of what it was trying to adverb
06:38 MadcapJake leaving it as is, it will be easier for my linter to hook in and highlight the exact value that can't be adverbed too
06:38 TimToady and it's a rare enough error that we won't have people comparing error messages to see if they're consistent
06:39 AlexDaniel TimToady: actually, I meant all errors in general
06:39 TimToady we play it by ear, depending on whether the thing is likely to stand out on its own
06:39 TimToady a type is capitalized, so I often remove the quotes on those in error message
06:40 MadcapJake i do wish that there was a more regular printed format (simpler to parse for my linter)
06:40 TimToady an syntactic noun phrase it likely to look good standalone
06:40 cgfbee joined #perl6
06:40 TimToady if something could be a null string, then you start to think about quotes
06:40 TimToady we're mostly trying to make things easy for humans here
06:41 empT joined #perl6
06:41 MadcapJake some errors have a ------> form, some errors have a `used $foo at` form, some errors have `at filepath:line` form, some just have a message and a list of things (sometimes suggestions, sometimes a list of missing things)
06:42 TimToady sure, making all those the same would actively interfere with communication
06:42 ShimmerFairy MadcapJake: it's worth pointing out that the exception classes came about when we were displeased with having to test errors against naturally variable string output :)
06:42 TimToady different things should look different
06:42 MadcapJake yeah I definitely like the error messages, I just wish that there could be an agreed-upon layout that every exception followed in printing that information out
06:43 ShimmerFairy MadcapJake: future linters would ~somehow~ be working with the actual X::* objects, I'd hope, if it's much of an issue to parse the textual output.
06:43 TimToady sorry, this is one spot where we prefer to torment the implementor on behalf of the user
06:43 AlexDaniel or perhaps a set of helper functions to deal with that stuff
06:43 MadcapJake Yeah I understand where you're coming from
06:43 MadcapJake TimToady: definitely, I think that is the right way to do it
06:44 TimToady one thing I really miss is backtraces that print the arguments to each function or method
06:44 MadcapJake ShimmerFairy: that'd be really great, I'd have to have some interface to javascript for atom to utilize it though
06:45 diakopter TimToady: would it simply show the expressions to the args or the values if they are primitives, or something about the type
06:45 diakopter TimToady: I mean, obviously you don't want a 1 MB string interpolated into the expression
06:46 TimToady we'd want something gist-like, of course
06:46 TimToady though gist itself doesn't trim 1-meg strings
06:46 ShimmerFairy It'd involve fiddling at the MOP-ish levels of Perl 6, I'd imagine, but it still would be preferable (after all, we use classes for the same "identify this error" reasons :P)
06:47 ShimmerFairy diakopter: as long as we avoid C++'s templates, I don't think we have very verbose types/values to worry about :P
06:47 AlexDaniel wow, that'd be a killer
06:47 diakopter m: say 1.WHICH
06:47 camelia rakudo-moar 47d2da: OUTPUT«Int|1␤»
06:47 diakopter m: say pi.WHICH
06:47 camelia rakudo-moar 47d2da: OUTPUT«Num|3.14159265358979␤»
06:48 diakopter for values with nice WHICHes, I think it should use those
06:48 TimToady and just ... anything longer than some # of chars
06:49 TimToady m: say (1,2,3).WHICH
06:49 camelia rakudo-moar 47d2da: OUTPUT«List|62994616␤»
06:49 TimToady that's not so nice
06:49 TimToady so I think .gist based is probably preferable
06:50 diakopter m: say pi.gist
06:50 camelia rakudo-moar 47d2da: OUTPUT«3.14159265358979␤»
06:50 TimToady that's obviously a number already :)
06:50 diakopter well in that case, surely it should say the constant name
06:50 AlexDaniel m: "foo\b\b\b\b\b\b\b\b\b\b\b\bbar".gist.say
06:50 camelia rakudo-moar 47d2da: OUTPUT«foobar␤»
06:51 diakopter DING DING DING DING DING
06:51 TimToady m: say "\a".ord
06:51 camelia rakudo-moar 47d2da: OUTPUT«7␤»
06:51 AlexDaniel m: "\a\a\a".gist.say # I thought that this should be DING?
06:51 camelia rakudo-moar 47d2da: OUTPUT«␤»
06:53 AlexDaniel “Returns a string representation of the invocant, optimized for fast recognition by humans.” – gist
06:54 AlexDaniel I am not sure if printing \b is optimized for fast recognition by humans…
06:54 TimToady we mostly assume that strings are human readable already
06:55 ShimmerFairy AlexDaniel: it works in my terminal, so it's camelia and/or your client's fault :)
06:55 AlexDaniel ShimmerFairy: what do you mean by “it works”?
06:55 ShimmerFairy AlexDaniel: say "AB\bC" -> AC
06:56 AlexDaniel ShimmerFairy: right. Well, I'm just thinking that printing this stuff in a backtrace could possibly eat the whole thing
06:57 ShimmerFairy If you don't want control characters to affect the terminal, you use .perl, not .gist :)
06:58 AlexDaniel m: say pi.perl
06:58 camelia rakudo-moar 47d2da: OUTPUT«3.14159265358979e0␤»
06:58 AlexDaniel m: say (1,2,3).perl
06:58 camelia rakudo-moar 47d2da: OUTPUT«(1, 2, 3)␤»
06:58 TimToady well, but that's not gonna put the \b back in for you, probably
06:59 TimToady m: say "foo\b\b\bbar".perl
06:59 camelia rakudo-moar 47d2da: OUTPUT«"foo\b\b\bbar"␤»
06:59 AlexDaniel m: say "te\b\b\b\b\b\bst".perl
06:59 camelia rakudo-moar 47d2da: OUTPUT«"te\b\b\b\b\b\bst"␤»
06:59 TimToady well, maybe it will :)
06:59 AlexDaniel .perl is great
06:59 pierre-vigier I:Q
07:00 AlexDaniel in fact, if you are looking at the backtrace, that's probably what you want to see
07:00 TimToady m: say "foo\$bar".perl
07:00 camelia rakudo-moar 47d2da: OUTPUT«"foo\$bar"␤»
07:00 TimToady could well be
07:00 TimToady but we'd still need to ... things that are too long
07:01 ShimmerFairy TimToady: my vague and likely incorrect understanding of \b is that as a character in a string, it'll only be interpreted as a backspace, it wouldn't (nor should it) actually edit the string :)
07:01 TimToady m: say "\b".ord
07:01 camelia rakudo-moar 47d2da: OUTPUT«8␤»
07:01 * MadcapJake is off to bed.
07:01 TimToady it's actually a backspace in the string
07:01 MadcapJake g'night #perl6!
07:01 TimToady o/
07:02 AlexDaniel .oO( one of my favorite characters! )
07:02 TimToady it would violate one-pass parsing to interpret the \b later
07:02 ShimmerFairy interpreted by the terminal/client/etc., is what I meant
07:04 AlexDaniel ShimmerFairy: it is correct
07:04 AlexDaniel though a good question is why would you want to have \b inside of your string…
07:05 AlexDaniel .oO( and why does perl6 even provide such escape… )
07:06 ShimmerFairy For the same reason I can type "\r\e[K", I suppose :)
07:07 AlexDaniel m: say "\v"
07:07 camelia rakudo-moar 47d2da: OUTPUT«5===SORRY!5=== Error while compiling /tmp/kdQvTrO5OX␤Unrecognized backslash sequence: '\v'␤at /tmp/kdQvTrO5OX:1␤------> 3say "\7⏏5v"␤    expecting any of:␤        argument list␤        double quotes␤        term␤»
07:07 TimToady we don't believe in vertical tab
07:07 AlexDaniel yes
07:07 TimToady and we stole it in regex to match vertical whitespace of any sort
07:07 AlexDaniel we believe in backspace!
07:07 [Tux] test             50000    23.277    23.166
07:07 [Tux] test-t           50000    20.983    20.872
07:07 [Tux] csv-parser       50000    25.993    25.882
07:08 ShimmerFairy as this one language designer I've heard of once said, "vertical tab... whatever that means"  :)
07:09 AlexDaniel ShimmerFairy: there are not many backslash sequences left though
07:09 AlexDaniel http://design.perl6.org/S0​2.html#Backslash_sequences
07:10 ShimmerFairy ?
07:11 bjz joined #perl6
07:11 AlexDaniel ShimmerFairy: "\r\e" – \e is the only one that is a bit weird, everything else is pretty straightforward. And yes, I'm glad that there is no \v :)
07:12 ShimmerFairy I'm still not sure what "There are not many backslash sequences left though" means
07:15 AlexDaniel ShimmerFairy: after reading it again I have no idea what I meant. Nevermind! Have to get some sleep
07:15 ShimmerFairy no worries then :)
07:17 pierre-vigier joined #perl6
07:32 TEttinger joined #perl6
07:39 b2gills vertical tab did make some sense for filling out forms with something like a dot-matrix printer
07:40 moritz m: sub a { }; a("test" :hello)
07:40 camelia rakudo-moar 47d2da: OUTPUT«5===SORRY!5=== Error while compiling /tmp/vutGuliuVI␤You can't adverb "test"␤at /tmp/vutGuliuVI:1␤------> 3sub a { }; a("test" :hello7⏏5)␤    expecting any of:␤        pair value␤»
07:46 xpen joined #perl6
07:48 WizJin joined #perl6
07:48 empT should i expect a problem with "is cached" on a "multi sub"?
07:48 empT "Cannot invoke object with invocation handler in this context"
07:51 brrt joined #perl6
07:51 brrt good * #perl6
07:55 ChoHag $foo but Bar will mix Bar into $foo. Will $barred = $foo but Bar leave $foo alone and copy $foo into $barred with Bar mixed in to it?
07:56 darutoko joined #perl6
08:04 FROGGS joined #perl6
08:09 moritz ChoHag: 'but' always works on a copy, 'does' works in-place
08:17 rindolf joined #perl6
08:19 moritz m: say 2 ** 99999999999999999999999999999999999
08:19 camelia rakudo-moar 47d2da: OUTPUT«Numeric overflow␤  in block <unit> at /tmp/jEE9jzZX2S:1␤␤Actually thrown at:␤  in block <unit> at /tmp/jEE9jzZX2S:1␤␤»
08:22 FROGGS joined #perl6
08:22 RabidGravy joined #perl6
08:28 ely-se joined #perl6
08:29 csd_ joined #perl6
08:30 freeze joined #perl6
08:32 timotimo tony-o: no clue if anybody told you what the problem was, but camelia uses the restricted setting and forbids qqx to run. that's why you won't get it to say "hi" here.
08:36 * grondilu had to manually add File::Find, Shell::Command and JSON::Fast in tools/build/install-core-dist.pl to get panda to work
08:36 ChoHag moritz: So how did my previous code work (which it did) with just $foo but Bar unless $foo ~~ Bar;
08:37 ChoHag Following that statement, $foo always had Bar mixed in.
08:37 _mg_ joined #perl6
08:41 mrf joined #perl6
08:42 moritz ChoHag: dunno
08:42 moritz ChoHag: what type is $foo?
08:43 brrt moritz: is there a free day, say next week, for me to adventpost?
08:43 brrt and ehm, i'm not sure what would be a nice topic for it?
08:43 ChoHag Str
08:43 moritz m: role Bar { }; my $foo = Any.new; $foo but Bar unless $foo ~~ Bar; say $foo ~~ Bar
08:43 camelia rakudo-moar 47d2da: OUTPUT«False␤»
08:44 ChoHag Hmm.
08:44 moritz ChoHag: ^^ doesn't seem to work here
08:44 moritz brrt: 6th, 9th and 13th are free
08:44 moritz m: role Bar { }; my $foo = Any.new; $foo does Bar unless $foo ~~ Bar; say $foo ~~ Bar
08:44 camelia rakudo-moar 47d2da: OUTPUT«True␤»
08:44 ChoHag So what *was* the code doing...
08:44 ChoHag To be fair that may be why it didn't work.
08:44 nine grondilu: that should not be necessary
08:45 moritz ChoHag: creating a mix-in and immedately throwing it away
08:45 csd_ joined #perl6
08:45 ChoHag 'It' being the whole thing, not just that.
08:45 moritz brrt: https://github.com/perl6/mu/blob/master/m​isc/perl6advent-2015/topic-brainstorming
08:46 abraxxa joined #perl6
08:47 brrt thanks moritz :-)
08:49 brrt hmm, i can of course talk moarvm again :-), but i'm afraid that nobody cares
08:49 ChoHag Hmm I missed a colon and got told 'Invalid type smiley'.
08:49 brrt it's infrastructure after all
08:49 ChoHag Wtf is a type smiley?
08:49 brrt ChoHag, iirc, it's the :D part of a declaration Int:D
08:49 ChoHag Ah
08:50 brrt which determines that not only is the thing an integer object, it is a defined integer object
08:50 ChoHag I guess that's better than type type.
08:50 brrt m: sub foo (Int:D $x) { say $x * 2; }; foo(3); foo(Int);
08:50 camelia rakudo-moar 47d2da: OUTPUT«6␤Parameter '$x' requires an instance of type Int, but a type object was passed.  Did you forget a .new?␤  in sub foo at /tmp/T98zeI2ywm:1␤  in block <unit> at /tmp/T98zeI2ywm:1␤␤»
08:50 brrt m: sub foo(Int $x) { say $x.perl; }; foo(3); foo(Int);
08:50 camelia rakudo-moar 47d2da: OUTPUT«3␤Int␤»
08:51 * brrt thinks it's cute
08:52 Hotkeys don't forget the other smiley
08:52 Hotkeys :U
08:52 Hotkeys (and the kind of smiley :_ )
08:53 mrf o/ #perl6
08:53 FROGGS joined #perl6
08:56 nadim morning all, it seems that it is not possible to export multiple subs. I get 'symbole xxx has already been exported', is there a way to make multis from another module available?
08:57 masak nadim: export the proto, perhaps?
08:57 * masak is just guessing
08:57 pierre-vigier joined #perl6
08:58 Amnez777 joined #perl6
08:58 nadim masak:  I have 16 hours P6 experience, yourguess is surely better than mine :), I guessed that it was because it is made immutable by export and one can't have two immutables with the same name..
08:59 nadim masak:  exporting the proto, any example of that or an URL?
08:59 nadim masak: still hanging around in Lund or did you move too?
09:01 pierre-vigier joined #perl6
09:02 ChoHag How can I conditionally use a module?
09:02 ChoHag Or related - how similar are perl 5 and 6's compilation phases?
09:05 brrt pretty similar
09:05 brrt fairly sure we have a BEGIN
09:05 brrt but i'm not sure we have a require
09:05 brrt i never use modules really :-o
09:05 grondilu nine: I agree.  That should not be necessary.  Still.
09:07 nine grondilu: what error did you get?
09:09 japhb joined #perl6
09:09 guest1__ joined #perl6
09:10 rurban joined #perl6
09:20 nige1 joined #perl6
09:25 japhb joined #perl6
09:27 xpen_ joined #perl6
09:27 RabidGravy there is a "require"
09:28 RabidGravy you may need to call the "import" on the module too, if there are exported symbols
09:28 leont joined #perl6
09:28 RabidGravy i.e. "if $foo { require Foo; import Foo; }"
09:29 brrt cool
09:35 nadim ChoHag: and put the require in a try block too
09:37 ChoHag I have to take a step back and work out my singleton tree root doesn't work first.
09:37 grondilu nine: could not find Shell::Command or something.  Mentioned earlier.
09:38 nadim given $bool seems to be always True. I was expecting this to work in a different way http://nopaste.linux-dev.org/?873966  . Where did I go wrong this time
09:38 grondilu http://irclog.perlgeek.de/p​erl6/2015-12-03#i_11649617
09:41 dalek ecosystem: 4de5272 | RabidGravy++ | META.list:
09:41 dalek ecosystem: Add Chronic
09:41 dalek ecosystem:
09:41 dalek ecosystem: https://github.com/jonathanstowe/Chronic
09:41 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/4de5272e6a
09:41 leont grondilu: does that happen after an upgrade?
09:42 leont Nuke all previously installed modules and trying again fixed it for me, no idea if there's a more subtle way
09:42 grondilu I always try after an upgrade.  Never tried twice in a row if tht's what you mean
09:42 ChoHag I am detangle the code in http://nopaste.linux-dev.org/?873977.
09:42 grondilu yeah but where are the modules installed?
09:42 ChoHag One/All.pm works, split into multiple files a la Many/* I can't get it to stop complaining about missing types or entering an infinite loop.
09:42 grondilu I need to know what to remove and where
09:44 leont I just nuked my entire rakudo and rebuild, was the easiest way. I expect a more efficient way to exist
09:44 ely-se left #perl6
09:44 nadim I am getting the Bool blues! http://nopaste.linux-dev.org/?873978
09:45 El_Che Bool balls
09:46 ChoHag nadim: Looks like a bug to me, unless Bool is special in ways I don't understand.
09:46 zakharyas joined #perl6
09:47 leont ChoHag: code looks incomplete
09:49 nadim ChoHag: lots of special ways to learn it seems :)
09:49 masak nadim: `when $_ == True` works
09:49 masak nadim: but `when True` always succeeds, and *used to have a compile-time error*
09:49 masak m: given True { when True {} }
09:49 camelia rakudo-moar 47d2da: ( no output )
09:49 masak not any more, it seems
09:49 El_Che isn't ~~ testing object identity or something
09:49 nadim that would have been nice
09:50 Hotkeys Jinkies
09:50 El_Che I have been bitten by ~~ a few times
09:50 Hotkeys m: say False ~~ True
09:50 camelia rakudo-moar 47d2da: OUTPUT«Potential difficulties:␤    Smartmatch against True always matches; if you mean to test the topic for truthiness, use :so or *.so or ?* instead␤    at /tmp/ZtghLlE_vS:1␤    ------> 3say False ~~7⏏5 True␤FalseTrue␤»
09:50 ChoHag It's incomplete but whole.
09:51 ChoHag perl6 -IOne -MAll -e 'Base.new.act.say'
09:51 ChoHag Nothing
09:51 ChoHag But however I recombine All.pm into multiple files causes either compilation complaints or infinite loops.
09:52 ChoHag And unfortunately because the weather is nice I need to go and fix the well, so I can't do anything about it now :/
09:52 Hotkeys Also why have a true/false given/when
09:52 leont I'm not seeing them load each other
09:52 nadim it is pretty weird that False ~~True, any one knows what went in the designers head just at that moment?
09:52 ChoHag They don't. I stripped the use statements out.
09:53 leont It's fairly important in when having this kind of issue
09:53 ChoHag Since I don't know what they should be, what would be the point in including them?
09:53 nine grondilu: the list afther the in: would be usefull
09:54 mst ChoHag: the selection you have combined with the error message might be a clue
09:54 Hotkeys m: given True { when .so { say "T" } }
09:54 camelia rakudo-moar 47d2da: OUTPUT«T␤»
09:54 ChoHag Let's see. Lost in the mists of rxvt...
09:54 mst ChoHag: better to preface them with a comment saying 'I think these are wrong' or something
09:55 Hotkeys m: given False { when .so { say "T" }}
09:55 camelia rakudo-moar 47d2da: ( no output )
09:55 mst ChoHag: you know how we who debug on IRC get cranky about not being given complete code :)
09:55 Hotkeys nadim: if you're set on a given when you could try that
09:55 ChoHag How can the code be complete if it doesn't work?
09:55 ChoHag I want to know how to complete it.
09:55 ChoHag If I could complete it, there'd be nothing to ask.
09:56 snarkyboojum joined #perl6
09:56 dalek rakudo/nom: 61a7089 | cygx++ | src/core/Main.pm:
09:56 dalek rakudo/nom: Fix MAIN's usage message in case of slurpy hash parameters
09:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/61a7089596
09:56 dalek rakudo/nom: 15a6179 | lizmat++ | src/core/Main.pm:
09:56 dalek rakudo/nom: Merge pull request #549 from cygx/slurpy-hash-usage
09:56 dalek rakudo/nom:
09:56 dalek rakudo/nom: Fix MAIN's usage message in case of slurpy hash parameters
09:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/15a6179255
09:56 ChoHag It'll have to wait anyway. I have outdoor work to do before we're inundated with snow.
09:57 dalek rakudo/nom: d834ab9 | donaldh++ | src/core/Main.pm:
09:57 dalek rakudo/nom: Add support for USAGE arg help.
09:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d834ab9f77
09:57 dalek rakudo/nom: 79f4eed | donaldh++ | src/core/Main.pm:
09:57 dalek rakudo/nom: Pick the first defined arg declarator.
09:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/79f4eedba0
09:57 dalek rakudo/nom: 612f547 | lizmat++ | src/core/Main.pm:
09:57 dalek rakudo/nom: Merge pull request #608 from donaldh/usage-arg-help
09:57 dalek rakudo/nom:
09:57 dalek rakudo/nom: Add support for USAGE arg help.
09:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/612f547ea5
09:58 espadrine joined #perl6
09:59 nine grondilu: actually the whole output of bootstrap.pl and of your attempt at using panda may help even more
10:02 pierre-vigier joined #perl6
10:03 donaldh joined #perl6
10:05 dj_goku joined #perl6
10:05 dj_goku joined #perl6
10:08 nadim Hotkeys: sorry, I didn't get what you meant in your comment
10:14 bhm joined #perl6
10:17 grondilu nine: I had posted it some time ago as well:  https://gist.github.com/gro​ndilu/cab11f6a3d00b6e654ba
10:17 RabidGravy has something changed between 2015.11-163-g2897239 and 2015.11-347-g47d2daf where "class Foo { use ModuleThatDefinesTrait;  has $.foo is that-trait; }" is expected to no longer work, whereas "use ModuleThatDefinesTrait; class Foo { as $.foo is that-trait; }" does?
10:18 adhoc joined #perl6
10:18 RabidGravy it's really quite weird but I don't know whether RT it
10:19 iH2O joined #perl6
10:19 ChoHag joined #perl6
10:20 nine grondilu: that one is already fixed. Are you using a current rakudo/nom and panda/master?
10:21 RabidGravy everything seems fine here after nuking everything and updating rakudobrew
10:21 RabidGravy nine++ # top work
10:22 RabidGravy except for ^ which is bugging me
10:22 grondilu well I need to remove my modification of tools/build/install-core-dist.pl and try again
10:22 grondilu though now that Shell::Command and cie are installed, I need to remove them as well
10:23 bbkr joined #perl6
10:24 nine RabidGravy: when in doubt, RT it. It might have something to do with my modifications, though I wouldn't know what exactly. I'm also not sure what the use inside the class body is exactly supposed to do.
10:25 nine RabidGravy: by "no longer work" what exactly do you mean?
10:25 RabidGravy it can't see the trait defined in the module being used
10:26 RabidGravy so it would seem possible the exporting part is being done after the attempt to apply the trait
10:26 stmuk I'm still seeing panda unbox errors
10:26 yoleaux 2 Dec 2015 17:45Z <flussence> stmuk: pl6anet.org's atom feed is linked to from the front page of perl6.org now; since people whose browsers don't understand feeds may be clicking it, here's a bit of css to make it readable in them (if you want it): https://gist.github.com/flu​ssence/ed0b12992514d26afef0
10:27 stmuk flussence++
10:29 FROGGS joined #perl6
10:30 stmuk .tell flussence I see two pl6anet-atom.css
10:30 yoleaux stmuk: I'll pass your message to flussence.
10:30 stmuk .tell flussence should I use first or seconf?
10:30 yoleaux stmuk: I'll pass your message to flussence.
10:40 bbkr Zoffix: I'm flattered that you used Text::Markov in advent calendar post :) I've spotted one small issue - method read() by default has 1024 words limit, each word has at least one letter, so you will be always generating and discarding excessive words with $mc.read.substr(0, 200). So $mc.read(100).substr(0, 200) should be much more efficient (100 because of spaces between words).
10:42 empT joined #perl6
10:47 andreoss joined #perl6
10:47 bbkr Zoffix: your post made me think that I actually can add start condition to read method, so if someone writes "hi foo bar" it can start chain from "hi".
10:55 empT joined #perl6
10:56 bjz_ joined #perl6
11:00 iH2O left #perl6
11:02 japhb .tell Zoffix Excellent advent post, very well done!
11:02 yoleaux japhb: I'll pass your message to Zoffix.
11:05 dalek rakudo/nom: 734549a | lizmat++ | src/core/Buf.pm:
11:05 dalek rakudo/nom: Allow List as template in pack, like in unpack
11:05 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/734549a754
11:05 dalek roast: 25424a4 | lizmat++ | S32-str/pack.t:
11:05 dalek roast: Add tests for List as template for pack
11:05 dalek roast: review: https://github.com/perl6/roast/commit/25424a4b29
11:10 telex joined #perl6
11:11 empT joined #perl6
11:16 vytas great perl6 advent article today, but is it just me who wished that such articles tailored for beginners ( or people who have not seen Perl before ) would not use topic variable ( $_ ) or at least would not skip it
11:18 lizmat decommute&
11:19 El_Che are state variables not specific to a class instance? If I create to instances of the same Class they share the state of the state variable. Is this intended? http://nopaste.linux-dev.org/?874148
11:20 gfldex El_Che: it is intended
11:20 El_Che ok, thx
11:24 El_Che gfldex: so to alternative would be an instance attribute?
11:25 El_Che unrelated: I just encountered that anon variables are not implemented yet. Should this info also be part of the documentation? (I'll send a PR in that case)
11:27 empT joined #perl6
11:28 empT joined #perl6
11:29 empT joined #perl6
11:30 gfldex m: class A { my $b; method new(){ $b = $++; self }; method m(){say $b; self} }; A.new.m; A.new.m;
11:30 camelia rakudo-moar 734549: OUTPUT«0␤1␤»
11:31 gfldex El_Che: if you don't want static don't do static
11:32 lucasb joined #perl6
11:32 hudo joined #perl6
11:38 bbkr vytas: I think just the opposite, skipping topic variable is natural. you say "I want to buy a car with hemi engine" instead of "I want to buy a wanted to be bought car with wanted to be bought car hemi engine". you don't explicitly repeat nested context, it is assumed. so if programming language supports it then it will make code easier to read.
11:38 pierre-vigier joined #perl6
11:39 bbkr vytas: thats DWIMness
11:40 rurban joined #perl6
11:44 empT joined #perl6
11:45 empT joined #perl6
11:45 vytas it's more like "when i have money: [*] buy a car" versus "when i have money, then I will buy a car"
11:46 grondilu weird error:  "getlex: outer index out of range"
11:46 vytas nonetheless, thanks for great article
11:46 grondilu I'll try to golf it
11:46 vytas Zoffix ^
11:48 _mg_ joined #perl6
11:50 RabidGravy nine, the change in use/export/trait behaviour wasn't exactly as I stated earlier, I RT'd with https://rt.perl.org/Ticket/Display.html?id=126804 - it is actually breaking things in the ecosystem
11:54 edehont joined #perl6
11:56 empT joined #perl6
12:00 El_Che joined #perl6
12:02 dalek nqp: fef6b98 | donaldh++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
12:02 dalek nqp: Change nqp::mkdir on JVM to create all nonexistent directories.
12:02 dalek nqp:
12:02 dalek nqp: This unbusts make spectest.
12:02 dalek nqp: review: https://github.com/perl6/nqp/commit/fef6b98fb9
12:08 cdg joined #perl6
12:09 colomon FROGGS: ping?
12:09 bjz joined #perl6
12:13 sufrostico joined #perl6
12:14 zengargoylew joined #perl6
12:16 grondilu $ echo -e "unit module A;\nour sub f is cached { rand };" > A.pm6
12:16 grondilu $ PERL6LIB=. perl6 -e 'use A; say A::f;'
12:16 grondilu getlex: outer index out of range in any enter at gen/moar/m-Metamodel.nqp:3763 in block <unit> at -e:1
12:17 grondilu it's the cached trait that is the issue
12:17 pierre-vigier joined #perl6
12:17 jnthn "is cached" has enough issues it's in danger of ending up being experimental in 6.c
12:17 grondilu ok, I won't use it anymore
12:18 jnthn It's got issues with multi too, and on objects really need a re-think to attach the state to the object
12:18 jnthn I'm not sure we've time to get all that fixed in the next weeks.
12:19 nine jnthn: this looks like it could use your input: https://rt.perl.org/Public/​Bug/Display.html?id=126804
12:19 nine FWIW I can reproduce it here as described
12:19 zengargoyle joined #perl6
12:20 jnthn multi sub trait_mod:<is> (Attribute $a, :$other-trait) is export {
12:20 Zoffix I think both of those examples for the topical variable aren't really it :). The word "it" the most appropriate analogy: "I have a car. It runs well" :) "I have data from socket. Print it and check whether it matches this pattern."
12:20 jnthn Needs to be :$other-trait! no?
12:20 yoleaux 11:02Z <japhb> Zoffix: Excellent advent post, very well done!
12:20 cygx joined #perl6
12:20 nine jnthn: noticed that, too, but fixing that doesn't change the outcome
12:20 cygx ö/
12:20 yoleaux 03:02Z <MadcapJake> cygx: thanks for the example of an instanced actions object! I ended up using that pattern. Actually my error was because I was missing the comma after my parse string (the error given confused me)
12:21 RabidGravy jnthn, it doesn't make any difference to the behaviour
12:22 rindolf Hi all! Does anyone know what happened to "Planet Perl Six"? I cannot find it in web searches.
12:22 cygx rindolf: http://pl6anet.org/
12:22 jnthn nine, RabidGravy: I think soemthing's wrong, I don't see why it wouldn't work
12:23 jnthn Zoffix++ # nice advent entry!
12:23 Zoffix thanks
12:23 cygx we need to make http://docs.perl6.org/routine/open a bit more 'reality-aware'
12:23 donaldh "Missing serialize function for REPR ContextRef" on JVM golfs down to https://gist.github.com/do​naldh/0cf1160b5fc87d4ba457 if anyone can offer any help
12:23 cygx it promises utf32, auto-detection of unicode files, and files in :bin mode returning Buf when using .get/.lines
12:24 RabidGravy yeah, it had worked "forever" prior to some point in the last few days
12:24 nine RabidGravy: can you bisect it?
12:24 rindolf cygx: hmmm... the page is too long, there's lacking "About" information, the style may be lacking - in general it seems crude.
12:27 bjz_ joined #perl6
12:27 cygx jnthn: should I make open(:bin) set :enc<utf8-c8>, and 'undocument' the rest of the missing features?
12:28 cygx rindolf: it also misses the advent postings
12:28 rindolf cygx: OK.
12:29 RabidGravy I think pl6anet.org is stmuk's baby I'm sure he would be happy for some help :)
12:30 pierre-vigier joined #perl6
12:30 jnthn cygx: If it's :bin I don't think we set any encoding, since you should read/write it...
12:31 domidumont joined #perl6
12:31 RabidGravy nine, I'll give it a try, might take me all day, but hey :)
12:31 cygx jnthn: right now, the documentation promises that you can still use line-based access and get back Bufs
12:31 * jnthn can't think of any recent change that is very likely to be to blame
12:31 jnthn cygx: Then it's wrong.
12:32 jnthn doc.perl6.org should document what's implemented, not what it wishes was :)
12:32 cygx jnthn: also, you can happily call .get and .lines on :bin files
12:33 cygx I'm assuming it falls back to utf8, but haven't tracked it down
12:33 RabidGravy the only thing I know for sure it's between 2015.11-163-g2897239 and 2015.11-347-g47d2daf (or possibly about a day earlier)
12:33 jnthn bbl &
12:33 cygx setting utf8-c8 seemed to be the least invasive change that does something sensible - or just disallowing .lines and .get if :bin is set
12:33 Zoffix dha++ # Brian d'Foy responded :) https://github.com/perl6/ye-olde​/issues/2#issuecomment-161877228
12:35 Zoffix Seems `panda smoke` tests just 19 dists and then freezes.
12:37 cygx btw, it appears that Pod6 does not parse formattings in table cells :(
12:37 cygx eg http://design.perl6.org/S26.html#Formatting_codes
12:38 cygx ^ you need to scroll to the bottom, there are two ankers with the same id
12:42 stmuk Zoffix: there was a random user on twitter laughing at tablets.perl6.org
12:42 pierre-vigier joined #perl6
12:42 kid51 joined #perl6
12:42 Zoffix First time I see that subdomain
12:43 Zoffix stmuk, what they were laughing at? :)
12:45 sufrostico Hi there
12:45 stmuk Zoffix: some doc work left http://tablets.perl6.org/tablet-5-io.html#sockets
12:45 Zoffix \o
12:46 Zoffix stmuk, ¯\_(ツ)_/¯ strange thing to laugh at :)
12:46 sufrostico I wrote an article for the advent calendar and PerlJam ask me to pick a date.. by editing this file:  https://github.com/perl6/mu/blob/ma​ster/misc/perl6advent-2015/schedule ... but I don't have access to it.
12:46 sufrostico someone here could help me with that ?
12:47 sufrostico please
12:47 sufrostico ^-^
12:47 Zoffix sufrostico, sure. What do you need to add?
12:47 Zoffix sufrostico, do you have a GitHub account? You can just click the pencil icon in the top-right corner and edit it on the site
12:47 Zoffix sufrostico, oh "don't have access to it"... right -_-
12:48 Zoffix sufrostico, which date/title?
12:48 sufrostico "9: Perl 6 and the wolf pack"
12:49 zakharyas joined #perl6
12:49 dalek mu: da96a62 | (Zoffix Znet)++ | misc/perl6advent-2015/schedule:
12:49 dalek mu: Book  9 Perl 6 and the wolf pack - sufrostico
12:49 dalek mu:
12:49 dalek mu: http://irclog.perlgeek.de/p​erl6/2015-12-04#i_11656648
12:49 dalek mu: review: https://github.com/perl6/mu/commit/da96a62eef
12:49 Zoffix Done
12:49 sufrostico and here is the preview https://perl6advent.wordpress.com/?p=3031&am​p;preview_id=3031&amp;preview_nonce=1e779ea9​26&amp;post_format=standard&amp;preview=true  if anyone would like to provide feedback
12:50 rurban joined #perl6
12:51 Skarsnik joined #perl6
12:52 sufrostico thanks Zoffix
12:52 Zoffix sufrostico, no idea what a "loop sentence" is :) a loop block?
12:52 sufrostico ok, fixing..
12:52 lestrrat joined #perl6
12:53 Zoffix Looks good, other than that
12:53 sufrostico cool, thanks
12:55 Skarsnik Hello, can I add Websocket in module most wanted? x)
12:56 RabidGravy there is one isn't there?
12:56 RabidGravy https://github.com/tokuhirom/p6-WebSocket
12:57 kaare_ joined #perl6
12:57 Skarsnik Only server ~~
12:57 empT joined #perl6
12:58 RabidGravy ah
13:00 * RabidGravy abandons bisecting on the gigabyte brix as likely to be doing it for the rest of the year
13:02 pierre-vigier joined #perl6
13:02 uruwi joined #perl6
13:05 pierre-vigier joined #perl6
13:11 domidumont joined #perl6
13:13 empT joined #perl6
13:18 Skarsnik hm there is code for a client, need documentation maybe? x)
13:20 Skarsnik maybe should most-wanted should have a need-testing/work to separate existing stuff comparing to real need?
13:24 RabidGravy nine, jnthn looks like 87288285f6f398ec7cba0900312ced4b580d79ed is the one what broke it :) Nothing obvious in there though
13:25 nine RabidGravy: that begs the question if it works without precompilation
13:25 nine RabidGravy: maybe it's not really a regression but a revealed precompilation bug
13:27 lucasb about that "tablets" subdomain, maybe it should be retired and its content merged into the doc site
13:27 Skarsnik hm, is there a way to distinct $object<piko> and $object<piko><foo> in AT-KEY?
13:29 RabidGravy nine, not quite sure how one would track that down
13:29 empT joined #perl6
13:30 empT joined #perl6
13:33 nine RabidGravy: easiest way to test this is putting a use lib '.'; after a use statement. I tried it by adding use Test; use lib '.'; before the use Foo and the error seems to have gone away. Can you reproduce?
13:33 profan joined #perl6
13:34 timotimo .tell tony-o about your unanswered question before: camelia uses the restricted setting and forbids qqx to run. that's why you won't get it to say "hi" here.
13:34 yoleaux timotimo: I'll pass your message to tony-o.
13:39 csd_ joined #perl6
13:39 RabidGravy nine, confirmed
13:42 timotimo Zoffix: i see a little incorrectness with your blog post :(
13:43 timotimo Zoffix: the text makes it sound like "await IO::Async::Socket.connect(..).then({ ...
13:43 timotimo })" awaits the connection promise and *then* the then thing gets attached
13:43 nine RabidGravy: can you add that to the ticket, please?
13:44 RabidGravy sure
13:45 Zoffix timotimo, doesn't it?
13:45 nine I'm afk for a couple of hours
13:45 timotimo Zoffix: method calls have tighter precedence than a gigantic amount of other things
13:45 timotimo Zoffix: you're actually awaiting the promise that gets returned by ".then" here.
13:46 timotimo also, the return value of await is the result value, in that case a Socket object, right? you can't .then a socket :)
13:46 empT joined #perl6
13:47 pwd_ Where can I find docs on the NQPMatch object, I am trying to write a perl6 class that parses a compunit and allows info about it to be extracted (like all the use statements) and also to allow modification.
13:47 Zoffix timotimo, I'm too hungover to look at this right now :) I'll fix it later
13:47 timotimo hah, all right :)
13:47 timotimo i didn't mean to sound like "you're wrong, here's five reasons why you're wrong"
13:47 ChoHag joined #perl6
13:49 colomon In attempt to install Inline::Perl5:
13:49 colomon Attempt to free nonexistent shared string 'original' during global destruction.
13:49 colomon Unhandled exception: Malformed UTF-8
13:49 colomon *** Error in `/home/colomon/.rakudobrew/​moar-nom/install/bin/moar': free(): invalid pointer: 0x0000000008be63d8 ***
13:49 colomon (a lot of other “Attempt to free nonexistent shared string” messages as well.)
13:49 diakopter yoinks
13:54 * colomon is finding Perl 6 very very frustrating this morning
13:55 DrForr I reported a few bugs last night myself.
13:55 Juerd Perl 6 is very unforgiving about malformed utf8 :)
13:57 colomon Juerd: note that the complaint comes while trying to install a major module that worked fine a week or two ago.
13:58 empT joined #perl6
13:58 Juerd colomon: That's impressive :)
13:58 colomon Does anyone have a suggestion for a GD-like module that doesn’t require Inline or Inline::Perl5?
13:58 empT joined #perl6
13:59 Juerd GD itself with NCI?
13:59 Juerd Not really ready-to-use
13:59 dalek perl6-roast-data: f9eba90 | coke++ | / (9 files):
13:59 dalek perl6-roast-data: today (automated commit)
13:59 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/f9eba90335
14:00 timotimo doesn't our GD module use NativeCall?
14:00 vytas *side note* DrForr, i believe you are the author of Readline? I can't manage to install it either, so logged an issue on github
14:00 colomon wait, perl6-GD is already using NativeCall, why is it also using Inline?
14:01 timotimo https://github.com/perl6-community-mo​dules/perl6-GD/blob/master/lib/GD.pm - doesn't use Inline
14:01 timotimo er
14:01 timotimo it *does* use inline. huh.
14:01 timotimo apparently to get the sizes of structs or something?
14:02 timotimo ah, no, it's apparently a workaround for a feature that has long since been added
14:02 colomon it’s just like 16 lines of code.
14:02 timotimo who fixes that?
14:02 z8 joined #perl6
14:02 colomon it’s perl6-community-modules, we can fix it.
14:02 colomon how do I do that in NativeCall?
14:03 Skarsnik do what?
14:03 colomon Skarsnik: https://github.com/perl6-community-modu​les/perl6-GD/blob/master/lib/GD.pm#L28
14:03 Skarsnik nativesizeof ?
14:04 raiph joined #perl6
14:05 timotimo m: use NativeCall; class GDPoint is repr('CStruct') { has cint $.x; has cint $.y };
14:05 cygx Skarsnik: last I checked, NativeCall did not support arrays of structs
14:05 camelia rakudo-moar 734549: OUTPUT«5===SORRY!5===␤Type 'cint' is not declared. Did you mean any of these?␤    int␤    Int␤    uint␤    UInt␤␤at /tmp/gI1ANjSSzO:1␤------> 3ss GDPoint is repr('CStruct') { has cint7⏏5 $.x; has cint $.y };␤Malformed has␤at /tmp/gI1…»
14:06 timotimo cygx: that must have been long ago
14:06 cygx it's just a pair of ints, though, so you can do just reat it of an array of such#
14:06 timotimo what do you use in NativeCall to get what your compiler thinks is "int"?
14:06 Skarsnik int32
14:06 cygx timotimo: arrays of structs, not arrays of pointers to structs
14:07 timotimo oh, that's a good point
14:07 cygx timotimo: https://github.com/MoarVM/MoarVM/blob​/master/src/6model/reprs/CArray.c#L59
14:07 Skarsnik m: use NativeCall; class GDPoint is repr('CStruct') { has int32 $.x; has int32 $.y };
14:07 camelia rakudo-moar 734549: ( no output )
14:07 timotimo right
14:07 cygx that's bad if you want to go by actual C semantics
14:07 timotimo well, in this case it's easy enough to have an array that's two times as big and contains ints
14:08 Skarsnik m: use NativeCall; class GDPoint is repr('CStruct') { has int32 $.x; has int32 $.y }; my CArray[GCPoint] $a;
14:08 camelia rakudo-moar 734549: OUTPUT«5===SORRY!5=== Error while compiling /tmp/MyKH6b9c9d␤An exception occurred while parameterizing CArray␤at /tmp/MyKH6b9c9d:1␤Exception details:␤  5===SORRY!5=== Error while compiling ␤  Cannot invoke this object␤  at :␤»
14:08 Skarsnik m: use NativeCall; class GDPoint is repr('CStruct') { has int32 $.x; has int32 $.y }; my CArray[GDPoint] $a;
14:08 camelia rakudo-moar 734549: ( no output )
14:08 Skarsnik The issue you can't create the array
14:08 timotimo you can not? just use malloc?
14:09 timotimo CArray of int32 would allow you to create one of the size you wish for by assigning to a high index
14:09 Skarsnik m: use NativeCall; class GDPoint is repr('CStruct') { has int32 $.x; has int32 $.y }; my GDPoint @a[2]; #could be cool
14:09 z8 joined #perl6
14:10 camelia rakudo-moar 734549: ( no output )
14:14 Skarsnik timotimo, NC should provide malloc I think. to allow to write my Pointer[int32] $a; $a.alloc();
14:14 empT joined #perl6
14:14 timotimo sub malloc($size) is native(Str) {*}; done :)
14:14 timotimo hm, $size, $count, right?
14:14 Zoffix m: say "{65/467*100}% of dists in ecosystem have files with @*INC"
14:14 camelia rakudo-moar 734549: OUTPUT«13.918630% of dists in ecosystem have files with @*INC␤»
14:14 timotimo ugh
14:15 empT joined #perl6
14:15 timotimo Zoffix: that should punch the kwalitee down :P
14:15 timotimo well, @*INC is only a one-time deprecation thing
14:15 timotimo so it probably has no reason to stay in Kwalitee
14:15 empT joined #perl6
14:16 timotimo Skarsnik: i wonder, don't we need a deprecation cycle or something to make CArray[AStruct] work properly?
14:16 * zengargoylew just signed death warrant on sparc Solaris 9 desktop box.  15 years and two bodylifts.  RIP
14:16 timotimo Skarsnik: and actually, you can have Pointer[AStruct] and do pointer arithmetic on that
14:18 colomon is there NativeCall documentation somewhere?
14:18 flussence computer: tea, Earl Grey- ...wait, never mind
14:18 yoleaux 10:30Z <stmuk> flussence: I see two pl6anet-atom.css
14:18 yoleaux 10:31Z <stmuk> flussence: should I use first or seconf?
14:18 timotimo documentation is still in the zavolaj repo, but partially outdated i expect
14:19 abraxxa colomon: https://doc.perl6.org/language/nativecall
14:19 cygx note that I did make arrays of structs work in Native::LibC (cf https://github.com/cygx/p6-native-li​bc/blob/master/t/ex-01-structarray.t ), but it's all one big hack
14:19 cygx it broke during the GLR, I I think it still has some issues
14:19 flussence stmuk: if you've got a SASS preprocessor installed on your end, pick whichever you like. They're the same thing :)
14:19 AlexDaniel joined #perl6
14:19 abraxxa The zavolaj git repository (where NativeCall is developed) should be changed
14:20 cygx abraxxa: NativeCall is developed in the rakudo repository
14:20 abraxxa cygx: I know, but the docs say otherwise
14:22 timotimo interesting
14:22 RabidGravy Zoffix, thanks for reminding me, that was what I was going to test next :)
14:22 edehont joined #perl6
14:22 cygx sadly, that's not the only place where the docs say things that are no longer (or even never have been) accurate :(
14:23 donaldh joined #perl6
14:23 [Coke] m: class A { method WHAT {π}} ; A.WHAT.say # DIHWIDT.
14:23 camelia rakudo-moar 734549: OUTPUT«(A)␤»
14:23 Zoffix RabidGravy, inc stuff? You got to dists that showed up: https://github.com/jonathanstowe/p6-Sys-Lastlog and https://github.com/jonathanstowe/p6-Sys-Utmp
14:23 colomon abraxxa++ # note that a search for NativeCall returns nothing.
14:24 abraxxa colomon: i also found it after a pointer from someone around here
14:25 timotimo cygx: yeah, docs are hard ;(
14:25 RabidGravy Zoffix, yeah I knew which ones - they use @*INC to locate the private .so files :)
14:27 RabidGravy it was supposed to be temporary until the compunit stuff settled down, but you know how things are ;-)
14:28 pyrimidine joined #perl6
14:28 [Coke] m: BARF: say "barf"; goto BARF # weird sorry. Not SORRY?
14:28 camelia rakudo-moar 734549: OUTPUT«barf␤Label.goto() not yet implemented. Sorry. ␤  in block <unit> at /tmp/xLndVf9hSt:1␤␤»
14:29 cygx I'm fixing the documentation for &open right now, but I need to know how we want to handle :bin
14:29 cygx currently, it's an alias for env => "utf8"
14:29 cygx *enc
14:30 timotimo [Coke]: .goto is a method. those are late-bound. so can't have a compile-time error (which is what ===SORRY!=== is)
14:30 [Coke] .goto is, but goto ain't.
14:31 empT joined #perl6
14:31 [Coke] Not worth changing at all.
14:32 empT joined #perl6
14:32 colomon m: sub a($a, $b) { say $a.WHAT; } sub((1, 2), (2, 3))
14:32 camelia rakudo-moar 734549: OUTPUT«5===SORRY!5=== Error while compiling /tmp/eOLu3CIeFk␤Strange text after block (missing semicolon or comma?)␤at /tmp/eOLu3CIeFk:1␤------> 3sub a($a, $b) { say $a.WHAT; }7⏏5 sub((1, 2), (2, 3))␤    expecting any of:␤        infix␤      …»
14:33 colomon m: sub a($a, $b) { say $a.WHAT; }; a((1, 2), (2, 3))
14:33 camelia rakudo-moar 734549: OUTPUT«(List)␤»
14:33 timotimo oh!
14:33 cdg joined #perl6
14:33 timotimo could be rakudobuggable
14:34 AlexDaniel m: sub a($a, $b) { say $a.perl; say $b.perl }; a((1, 2), (2, 3))
14:34 camelia rakudo-moar 734549: OUTPUT«$(1, 2)␤$(2, 3)␤»
14:36 [Coke] I also get that's why the method WHAT above didn't complain, but maybe we stop people from making methods that are known to conflict with special things like WHAT/WHENCE/WHATEVER
14:36 [Coke] ... can we get a WHATEVER? ;)
14:37 colomon List :$start(Int $x1 where { $x1 >= 0 }, Int $y1 where { $y1 >= 0 }) = (0, 0)
14:37 colomon is getting me the error
14:37 colomon Shape declaration with () is reserved;
14:37 colomon please use whitespace if you meant a subsignature for unpacking,
14:37 colomon or use the :() form if you meant to add signature info to the function's type
14:37 colomon any hints at how to get that working in modern rakudo, or should I just ditch the fancy declarations?
14:38 CurtisOvidPoe joined #perl6
14:38 timotimo um, why is there a : before the $start?
14:38 timotimo oh, is this in a parameter list?
14:38 colomon yes
14:38 colomon named parameter
14:38 CurtisOvidPoe I happened to stumble across this. Anyone able to answer the person? http://stackoverflow.com/questions​/34080820/small-numbers-in-perl-6
14:38 timotimo what's wrong about putting whitespace in front of the ( ) ?
14:38 * colomon is not sure he likes the (perl6) GD user interface
14:39 colomon timotimo: will that do the right thing?
14:39 vytas is it impossible to remove a module using panda or is it just not documented?
14:39 timotimo i think so
14:39 timotimo well, maybe it has to be [ ] instead of ( ) ?
14:39 cygx m: Rat.new(71,10**50).nude.say
14:39 camelia rakudo-moar 734549: OUTPUT«(71 100000000000000000000000000​000000000000000000000000)␤»
14:39 timotimo vytas: it's not yet implemented, but after "curli" has finally been merged, it's quite possible to implement that soon
14:40 cygx m: 0.000000000000000000000000000000​00000000000000000000071.nude.say
14:40 camelia rakudo-moar 734549: OUTPUT«(71 9999999999999999932209486743​6162797646170844194406400)␤»
14:40 cygx so the 64bit limit is not enforced
14:40 cygx not sure why we end up with that particular denominator
14:40 cygx looks buggy to me
14:41 RabidGravy oh Find::Bundled is broken by this as well
14:41 hankache joined #perl6
14:41 Juerd We have .nude in the language but debate whether tau would be appropriate ;)
14:42 hankache o/ #perl6
14:42 skids joined #perl6
14:42 timotimo cygx: could very well be a bug, yeahn
14:43 timotimo it looks weird in any case.
14:43 [Coke] m: 0.000000000000000000000000000000​00000000000000000000071.WHAT.say
14:43 camelia rakudo-moar 734549: OUTPUT«(Rat)␤»
14:43 AlexDaniel Juerd: in fact, we treat a macron as a superscript minus
14:43 [Coke] so, the bug is very likely in the .nude impl
14:43 stmuk /last itz
14:43 stmuk oops
14:44 cygx m: say 100000000000000000000000000​000000000000000000000000e0
14:44 camelia rakudo-moar 734549: OUTPUT«1e+50␤»
14:44 cygx m: say 10000000000000000000000000000​0000000000000000000000e0.Int
14:44 camelia rakudo-moar 734549: OUTPUT«10000000000000000762976​9841091887003294964970946560␤»
14:44 Juerd AlexDaniel: That's silly, but fun :)
14:45 AlexDaniel Juerd: if it works for macron, then why not τ :)
14:46 cygx [Coke]: no, looks like it's in the code that creates Rat values from literals
14:46 hankache m: say pi.WHAT;
14:46 camelia rakudo-moar 734549: OUTPUT«(Num)␤»
14:46 cygx (or perhaps not)
14:46 Juerd pi is defined as ....e0
14:47 hankache m: say pi.Rat;
14:47 camelia rakudo-moar 734549: OUTPUT«3.141593␤»
14:47 empT joined #perl6
14:47 hankache m: say pi;
14:47 camelia rakudo-moar 734549: OUTPUT«3.14159265358979␤»
14:47 Juerd m: say tau;
14:47 camelia rakudo-moar 734549: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4r7cwkixCK␤Undeclared routine:␤    tau used at line 1. Did you mean 'tan'?␤␤»
14:48 Juerd 1;0 juerd@cxie:~$ perl6 -e'say tau'
14:48 Juerd 6.28318530717959
14:48 AlexDaniel m: sub foo ($z ($y (Int $x where { $x > 3 }))) { say $z; say $y; say $x }; foo([[25], ]);
14:48 camelia rakudo-moar 734549: OUTPUT«[[25]]␤[25]␤25␤»
14:48 cygx m: say pi.Rat*e # when is calculate like a pirate day again?
14:48 camelia rakudo-moar 734549: OUTPUT«8.53973494781382␤»
14:48 empT joined #perl6
14:48 timotimo ʇɐu
14:48 timotimo m: say ʇɐu
14:48 camelia rakudo-moar 734549: OUTPUT«5===SORRY!5=== Error while compiling /tmp/bAEjiPpGVQ␤Undeclared routine:␤    ʇɐu used at line 1␤␤»
14:48 timotimo m: say tau
14:48 camelia rakudo-moar 734549: OUTPUT«5===SORRY!5=== Error while compiling /tmp/aP2W7_XfwT␤Undeclared routine:␤    tau used at line 1. Did you mean 'tan'?␤␤»
14:48 AlexDaniel m: sub foo (:$z ($y (Int $x where { $x > 3 }))) { say $z; say $y; say $x }; foo($z => [[25], ]);
14:48 camelia rakudo-moar 734549: OUTPUT«5===SORRY!5=== Error while compiling /tmp/i7ksiCEeEh␤Variable '$z' is not declared␤at /tmp/i7ksiCEeEh:1␤------> 3 3 }))) { say $z; say $y; say $x }; foo(7⏏5$z => [[25], ]);␤»
14:49 timotimo .u u
14:49 yoleaux U+0075 LATIN SMALL LETTER U [Ll] (u)
14:49 timotimo oooh, trololo.
14:49 AlexDaniel m: sub foo (:$z ($y (Int $x where { $x > 3 }))) { say $z; say $y; say $x }; foo(z => [[25], ]);
14:49 camelia rakudo-moar 734549: OUTPUT«[[25]]␤[25]␤25␤»
14:49 AlexDaniel m: sub foo (:$z ($y (Int $x where { $x > 3 } = 42))) { say $z; say $y; say $x }; foo(z => [[25], ]);
14:49 camelia rakudo-moar 734549: OUTPUT«[[25]]␤[25]␤25␤»
14:49 AlexDaniel m: sub foo (:$z ($y (Int $x where { $x > 3 } = 42))) { say $z; say $y; say $x }; foo();
14:49 camelia rakudo-moar 734549: OUTPUT«Too few positionals passed; expected 1 argument but got 0 in sub-signature of parameter $z␤  in sub foo at /tmp/s8Jy8800eR:1␤  in block <unit> at /tmp/s8Jy8800eR:1␤␤»
14:50 bpmedley joined #perl6
14:50 Juerd m: say pi.Rat.nude
14:50 camelia rakudo-moar 734549: OUTPUT«(355 113)␤»
14:52 AlexDaniel m: sub foo (:$z ($y (Int $x where { $x > 3 } = 42)) = [[100],]) { say $z; say $y; say $x }; foo();
14:52 camelia rakudo-moar 734549: OUTPUT«[[100]]␤[100]␤100␤»
14:52 AlexDaniel m: sub foo (:$z ($y (Int $x where { $x > 3 } = 42)) = [[100],]) { say $z; say $y; say $x }; foo(z => [[-20],]);
14:52 camelia rakudo-moar 734549: OUTPUT«5===SORRY!5=== Error while compiling /tmp/skvLKoKHoF␤Unable to parse expression in bracketed infix; couldn't find final ']' ␤at /tmp/skvLKoKHoF:1␤------> 3{ say $z; say $y; say $x }; foo(z => [[-7⏏20],]);␤»
14:52 AlexDaniel what?
14:53 AlexDaniel m: sub foo (:$z ($y (Int $x where { $x > 3 } = 42)) = [[100],]) { say $z; say $y; say $x }; foo(z => [[ -20],]);
14:53 camelia rakudo-moar 734549: OUTPUT«Constraint type check failed for parameter '$x' in sub-signature of parameter $y in sub-signature of parameter $z␤  in sub foo at /tmp/uybY0M6_Fq:1␤  in block <unit> at /tmp/uybY0M6_Fq:1␤␤»
14:54 colomon oooo, have GD passing tests again.
14:54 Juerd colomon: Without inline?
14:54 colomon of course, the test looks very, very simple
14:54 colomon Juerd: yes
14:55 colomon the tests in the file don’t exercise most of the commands, they may still be broken.
14:55 Juerd That's wonderful :)
14:55 Juerd Probably great for performance too
14:55 colomon but this is at least a step in the direction of being able to do my $work.  ;)
14:56 empT joined #perl6
14:56 colomon whoops, forgot to fix meta.info
14:57 stmuk .tell flussence I can't see any quick non hacky way of styling the atom with perlanet .. I think given its now linked with an orange rss symbol thats probably ok .. but thanks for the css anyway
14:57 yoleaux stmuk: I'll pass your message to flussence.
14:59 RabidGravy just so I'm clear, is there a documented  best way of finding a co-installed .so file from $*REPO?
15:01 csd_ joined #perl6
15:03 flussence aww, was worth a try anyway :)
15:03 yoleaux 14:57Z <stmuk> flussence: I can't see any quick non hacky way of styling the atom with perlanet .. I think given its now linked with an orange rss symbol thats probably ok .. but thanks for the css anyway
15:06 flussence yeah, looking at that feed generator it doesn't seem customisable in the slightest. oh well.
15:07 RabidGravy clearly someone needs to make the software in Perl 6
15:09 colomon Juerd: the stuff that was using Inline is not actually tested at all.  I just found a whopper of a bug in my changes.
15:09 Juerd Oh, darn
15:09 Juerd Good luck with that!
15:09 colomon Juerd: I’m not sure I actually need it for what I want to do.
15:10 Juerd I have no idea what you want to do
15:10 Juerd But I'd probably generate SVG and have something convert that to bitmaps :)
15:10 MadcapJake joined #perl6
15:11 MadcapJake .botsnack
15:12 MadcapJake any idea why perl6 can't find `liblinenoise.so`?
15:12 MadcapJake can't locate it either
15:13 MadcapJake yoleaux!
15:13 yoleaux MadcapJake!
15:13 flussence it ought to have been installed with the module
15:13 flussence if it's not there, I guess curli ate it
15:13 colomon Juerd: hmmm, yeah, SVG::Plot might have worked for me too
15:13 MadcapJake yeah i think curli ate it
15:14 RabidGravy it is entirely possible that the curli thing hasn't been updated into that
15:14 MadcapJake "==> Successfully installed Linenoise"
15:14 timotimo MadcapJake: probably have to install the -devel thing, too
15:14 timotimo oh, wait, liblinenoise.so is in the Linenoise module?
15:14 MadcapJake what -devel thing?
15:14 MadcapJake oh yeah
15:14 timotimo yeah, not sure why we do that
15:14 flussence interesting, the module tries to catch the error but dies anyway
15:14 MadcapJake i apt-file and apt-cache searched, no liblinenoise in apt repos
15:14 timotimo huh
15:15 zengargoylew i somehow though linenoise was built-in but somehow needed the Linenoise.pm file to be activated.
15:17 cygx zengargoylew: it used to be built-in as a replacement for readline which got kicked out due to license issues
15:17 cygx then, it moved out as well
15:17 zengargoylew ah
15:17 MadcapJake seems like something that should be builtin to me
15:18 MadcapJake maybe at least a little notice when you start the repl that you can install linenoise to get history and tab comps
15:18 cygx https://github.com/MoarVM/MoarVM/commit/​0bff0279b7928eab32cb09314d898aab3683fa8d
15:18 MadcapJake ahh
15:19 MadcapJake what would NativeCall need to wrap to get this functionality?
15:20 zengargoylew sorta looks like panda doesn't install .so files ATM.
15:20 MadcapJake where are modules installed?
15:20 Skarsnik well it should maybe try to use the distrib libnoise if installed?
15:21 zengargoylew removed Find::Bundled dependency and hacked Algorithm::Trie::libdatrie to compile and did a --force install and looked for the libdatrie.so file... not there
15:21 MadcapJake oh i don't have that installed
15:21 Skarsnik Look if the JSON provide the file
15:21 Skarsnik *META
15:22 MadcapJake i now have a libnoise.so but *not* a liblinenoise.so, maybe that's the problem
15:22 timotimo o_O
15:22 MadcapJake no that couldn't be it xD
15:22 timotimo why is it called that
15:22 MadcapJake libnoise is a noise generating C++ library :P
15:22 RabidGravy the .so file should really be in the %?RESOURCES but that's NYI afaik
15:23 timotimo m)
15:23 timotimo right, that's not the right one for this task :D
15:23 leedo yeah the Linenoise module is rather broken for me as well. it installs, but repl won't launch :/
15:23 MadcapJake unless you wanted it to randomly generate history/tab completions xD
15:23 Skarsnik huuh
15:24 MadcapJake leedo: same here, says it's looking for native library liblinenoise.so
15:24 Skarsnik It should be liblinenoise.so.0 x)
15:24 RabidGravy I think there's something wrong with CompUnit::Repository::Installation.files
15:25 MadcapJake Skarsnik: "liblinenoise.so: cannot open shared object file: No such file or directory"
15:25 skids Skarsnik: install the dev package for liblinenoise.  Though -- doesn't that module embed its own copy?
15:25 leedo MadcapJake: strangely i can't `find . -iname '*noise*'` finds nothing in my rakudo install dir
15:25 MadcapJake how do you install the dev package of liblinenoise
15:26 RabidGravy m: for $*REPO.repo-chain -> $v { say $v.perl; say $v.files("foo").perl }
15:26 camelia rakudo-moar 734549: OUTPUT«CompUnit::Repository::Installation.new('/h​ome/camelia/.perl6/2015.11-353-g734549a')␤Cannot unbox a type object␤  in block <unit> at /tmp/asiBrv4MlB:1␤␤»
15:27 leedo MadcapJake: i think the module ships with linenoise.c/h
15:27 cygx MadcapJake: just compile https://github.com/MoarVM/linenoise manually
15:27 skids Oh, I guess distros don't provide a package for it since everyone embeds it... hrm.
15:28 cygx the moar version has quite a few changes from upstream: https://github.com/antirez/linenoi​se/compare/master...MoarVM:master
15:29 MadcapJake cygx: how do I compile this?
15:29 cygx gcc -shared -o liblinenoise.so liblinenoise.c
15:29 cygx probably
15:30 [Coke] I thought the point of the module was that we didn't need to manually compile things?
15:30 cygx ;)
15:30 cygx [Coke]: it ir worked, sure
15:30 MadcapJake where do I put it that perl6 will find it?
15:30 cygx *if it
15:30 cygx damn those keys - all right next to each other
15:31 MadcapJake this worked: "gcc -fPIC -shared -o liblinenoise.so linenoise.c"
15:31 MadcapJake but where will it look for it to be? /usr/lib?
15:32 |Tux| most wanted modules does not have something like ScalarIO (I call it IO::String)
15:32 cygx MadcapJake: ETOOMUCHWIN32CODING - no -fPIC necessary on windows
15:32 |Tux| does anyone have plans for that?
15:32 MadcapJake cygx: not on windows
15:32 Skarsnik MadcapJake, yes it should work, but it's weird
15:33 cygx MadcapJake: yes, but I'm doing my coding there right now, which is why I didn't tjink of -fPIC
15:33 |Tux| my $fh = IO::String.new($string); my $fh = IO::String.new($string, :w);
15:33 MadcapJake ahh
15:33 MadcapJake nicely gcc told me that i needed that flag :)
15:34 MadcapJake sweet! it works!
15:34 MadcapJake this has been my biggest annoyance with the repl and I didn't even realize there was a solution already available! xD
15:36 |Tux| Hmm, IO::Blob might be close
15:36 leedo so what exactly is the problem with the module in Panda, it isn't installing the .so file correctly?
15:36 * Skarsnik still wait for someone to have a look at Rt #126645 and avoid having to install -devel package x)
15:37 Skarsnik It's panda or rakudo/Moar? since it's look like it's from Moar?
15:37 khw joined #perl6
15:37 zengargoylew yah, after panda install, there's nothing under .../install/share/perl6 that's the right size for my .so file.
15:38 zengargoylew it's getting created under the blib/lib build directory, but never makes it to the install
15:38 |Tux| hoelzro, yt?
15:38 cygx cu o/
15:39 pierrot joined #perl6
15:41 RabidGravy so anything that builds its own .so file is doubly screwed as it doesn't get installed and even if it was there is no way to find it anyway as the CompUnit::Repository::Installation.files isn't working properly
15:44 moritz RabidGravy: is there a ticket for that?
15:44 zengargoylew that's my take at the moment.  sorta haphazard test... i edited build process to copy blib to tmp after building library to get around panda deleting the blib
15:44 Skarsnik RabidGravy, Should the .so should be on the Meta.info to be installed?
15:44 RabidGravy moritz, is
15:44 RabidGravy m: for $*REPO.repo-chain -> $v { say $v.perl; say $v.files("foo").perl }
15:44 camelia rakudo-moar 734549: OUTPUT«CompUnit::Repository::Installation.new('/h​ome/camelia/.perl6/2015.11-353-g734549a')␤Cannot unbox a type object␤  in block <unit> at /tmp/TLEp8HymDK:1␤␤»
15:45 RabidGravy Rakudobuggable?
15:45 zengargoylew then looked for file of same size under the install and ~/.perl6 directories... nothing matches.
15:45 RabidGravy moritz, if so I'll do it forthwith
15:46 leedo it looks like the author is aware https://github.com/hoelzro/p6-linenoise/issues/9
15:48 pierre-vigier joined #perl6
15:48 zengargoylew seems i recall reading somewhere the idea that .so files would be stored *inside* some repo-file and *extracted* at runtime to /tmp or somewhere to be loaded.
15:49 flussence Zoffix++ # wow, that advent post does *so much stuff* in barely any code
15:50 mst can we stick rakudobrew prominently on http://rakudo.org/how-to-get-rakudo/ ?
15:50 mst I went www.perl6.org -> get -> that page
15:50 mst and making sure people have a fresh and shiny rakudo is gonna get real important soon
15:50 DrForr As we just ran into on #perl on the "other" network :)
15:51 TEttinger joined #perl6
15:52 RabidGravy moritz, https://rt.perl.org/Ticket/Display.html?id=126806 - but I think it's possibly something nine may want to look at
15:52 ilmari move the mention of package managers to _after_ the build from source instructions
15:52 ilmari otherwise people will stop reading after the first sentence
15:52 donaldh left #perl6
15:52 donaldh joined #perl6
15:56 grondilu joined #perl6
15:57 sufrostico joined #perl6
15:57 empT joined #perl6
15:58 RabidGravy zengargoylew, I can confirm that panda isn't installing .so files like it used to
16:01 darutoko please help, why is this wrong? @!availible .= grep($_ != $value);
16:02 hoelzro [Tux]: I am now!
16:02 flussence darutoko: needs {}s around the grep statement
16:02 flussence grep({$_ != $value})
16:02 * hoelzro logs back
16:02 timotimo darutoko: what flussence says is right; the inside of grep( ... ) is only executed once, before doing any grepping, and then it uses the result of the != to grep with, so it's either True or False.
16:03 |Tux| https://gist.github.com/Tux/f614aa3e7cfc159a0a74 <= look at that and see where I go wrong
16:03 timotimo darutoko: maybe you've confused this with what the whatever star does?
16:03 timotimo darutoko: that'd be @!available .= grep(* != $value)
16:03 darutoko no
16:04 darutoko I looked at docs and .grep form doesnt have {}
16:04 |Tux| hoelzro, your IO::String looks like what I want, except that it doesn't accept a string in new ()
16:04 timotimo please show me
16:04 darutoko so I assumed it doesnt needed
16:04 hoelzro MadcapJake, leedo, timotimo: Linenoise distributes its own liblinenoise.so, for ease of installation (not all distos have linenoise, esp. of the same version), and because of Windows-related fixes
16:05 hoelzro [Tux]: heh, I don't know why I didn't add that =)
16:05 MadcapJake hoelzro: it wasn't installing the .so file though
16:05 |Tux| how does my code look like (except for the indentation and spacing)?
16:05 hoelzro MadcapJake: panda doesn't seem to do that since CURLI ='(
16:05 n0tjack joined #perl6
16:05 darutoko timotimo, first example http://docs.perl6.org/routine/grep#class_List
16:05 RabidGravy the { } isn't need if the argument to grep is something that can be smartmatched against the items
16:05 lucasb hoelzro: do you think MoarVM/linenoise repo should be removed to avoid confusion with your repo?
16:06 hoelzro lucasb: maybe; hoelzro/Linenoise just uses the source from MoarVM/linenoise
16:06 darutoko plus docs says it want MATCHER but couldnt google what it is
16:06 timotimo darutoko: the thing is that grep uses "smart match" semantics
16:06 timotimo ah. that's a good hint. we should make that much more explicit
16:06 lucasb hoelzro: ah, ok
16:06 hoelzro MadcapJake: I also wouldn't mind hearing your thoughts on how to inform new users "hey, install Linenoise for extra goodness"
16:07 darutoko timotimo, thank you for help
16:07 flussence we don't have a doc page for smartmatch
16:07 timotimo darutoko: i'll put it into the "WANTED" document so someone will add that and put a link from the grep page (and others that mention "matcher" or "smart match")
16:07 flussence that probably needs fixing
16:07 darutoko timotimo, it would be great
16:07 hoelzro it looks like there was talk about distributing Linenoise with rakudo, which would be one way of solving the problem =)
16:08 hoelzro well, the newbie introduction problem ;)
16:08 timotimo flussence: would you put that under "Tutorials" or "Syntax Features"?
16:08 flussence well there's http://doc.perl6.org/routine/~~
16:08 timotimo or even "API Docs" could have it
16:08 RabidGravy yeah the docs probably need to have an example of using a block for the method form, as there is one for the sub form
16:08 timotimo flussence: for a newbie, it won't be obvious that "Mu:U" means you can put any type, like "Int"
16:09 flussence timotimo: I'd say the section depends on how long the document ends up being :)
16:09 timotimo hah
16:09 timotimo so where do i put it in the "WANTED" list? :)
16:09 flussence it does say "Callable" in that list, though that ain't much clearer...
16:09 flussence I'd go with syntax for now
16:10 MadcapJake hoelzro: something like this: https://gist.github.com/Madc​apJake/33cda3864a7eb4c25ad6
16:11 lucasb wherever some documentation mentions linenoise, I would suggest to also mention rlwrap as an alternative
16:11 hoelzro lucasb: good idea
16:12 timotimo damn, i have to make a run for it. flussence could you put smart match into the wanted list for me?
16:12 hoelzro MadcapJake: I think that would be useful to newbies, but I can imagine it may annoy people who (for some reason) don't want linenoise
16:12 colomon Constraint type check failed for parameter '$x2' in sub-signature of parameter $end
16:12 colomon in method line at /home/colomon/.rakudobrew/moar-nom/ins​tall/share/perl6/site/sources/4FD292E5​F7738288ABE46C719CE4A081A5C0F0E5:135
16:12 colomon (precomp making errors much less useful?)
16:12 flussence timotimo: will do
16:15 dalek doc: edeb6ed | (Anthony Parsons)++ | WANTED:
16:15 dalek doc: Add smartmatch docs to the WANTED list
16:15 dalek doc: review: https://github.com/perl6/doc/commit/edeb6edc73
16:15 MadcapJake hoelzro: but it's just two lines at the beginning of a REPL (perhaps you could even just make it one)
16:16 flussence hm, I think something clever is needed to get the doc page for the ".." operator to work...
16:17 hoelzro MadcapJake: yeah, that's true
16:17 hoelzro feel free to add that to Rakudo!
16:17 MadcapJake pull up the python repl, there's three lines of info
16:18 hoelzro fair point
16:18 lucasb the output of "perl6 --help" may also be a good place to mention REPL details
16:18 hoelzro lucasb: agreed
16:18 hoelzro MadcapJake: if you feel like adding it, the code would be in src/Perl6/Compiler.nqp
16:18 lucasb I use 'python3 -q' just to avoid that information banner :)
16:18 MadcapJake hoelzro: thanks, was just about to ask :)
16:18 stmuk I've been asked to do a short perl6 blog for an iT recuiter if anyone wants to comment on google docs https://goo.gl/fD8CVl
16:18 MadcapJake lucasb: lol, well then we could offer that too
16:18 hoelzro lucasb: having a -q analog would be a good idea
16:20 MadcapJake interestingly, -q isn't even listed in `python --help`
16:20 lucasb py3 only :(
16:20 MadcapJake ahh
16:21 hoelzro it would be nice if MoarVM/NativeCall didn't exit() if it can't find liblinenoise.so
16:21 flussence stmuk: IMO being able to glue things from other languages (several at once!) together deserves as much attention as the multithreading stuff
16:22 hoelzro then at least the REPL would continue, just with a warning
16:22 jnthn hoelzro: That's a catchable exception, no?
16:22 dj_goku .messages
16:22 ugexe can i load a non-core CompUnitRepo yet? wanting to work on fat packing...
16:23 hoelzro jnthn: iirc, it's not
16:23 hoelzro I catch exceptions when loading Linenoise in Perl6::Compiler
16:23 jnthn m: use NativeCall; sub foo() is native('libyoudonothave') { }; foo()
16:23 camelia rakudo-moar 734549: OUTPUT«Cannot locate native library 'libyoudonothave.so': libyoudonothave.so: cannot open shared object file: No such file or directory␤  in method setup at /home/camelia/rakudo-m-inst-2/share/perl6/source​s/2FB6903EB8CAAB2ECB7B171E63C7EE2E569D9493:226␤  in me…»
16:23 jnthn m: use NativeCall; sub foo() is native('libyoudonothave') { }; try foo()
16:23 camelia rakudo-moar 734549: ( no output )
16:24 jnthn Yes, but you'll get the exception on first call.
16:24 jnthn m: use NativeCall; sub foo() is native('libyoudonothave') { }; try foo(); say 'alive'; # just making sure :)
16:24 camelia rakudo-moar 734549: OUTPUT«alive␤»
16:24 flussence ugexe: I *think* it's possible to tweak $*REPO that way, would have to wait for a real answer though.
16:25 MadcapJake hoelzro: https://github.com/rakudo/rakudo/bl​ob/nom/src/Perl6/Compiler.nqp#L155
16:25 hoelzro MadcapJake: I would add an else on L161
16:25 ugexe flussence: the loading would have to occur before regular modules get loaded
16:25 stmuk flussence: thanks I've added a 'glue' line
16:25 MadcapJake hoelzro: it looks like it's supposed to continue already
16:26 hoelzro MadcapJake: it does, but failing to load an .so causes MoarVM to exit()
16:26 hoelzro it's not an exception, iirc
16:26 MadcapJake ahh
16:26 RabidGravy Zoffix, regarding the @*INC in those modules, currently can't fix because of two problems
16:26 jnthn hoelzro: I just showed you it was/
16:26 hoelzro er, sorry
16:26 hoelzro I didn't see that
16:26 hoelzro doing too much multitasking this morning
16:26 jnthn :)
16:27 * jnthn just finished a 3 day concurrency class and is exhausted
16:27 RabidGravy beer is the answer
16:27 jnthn :)
16:27 Hotkeys I'm not a huge beer fan
16:27 Hotkeys although maybe I've just never had good beer
16:27 jnthn What about a small beer? :)
16:27 * MadcapJake prefers hard cider/perry
16:27 Hotkeys oh jnthn
16:28 Hotkeys ohhhhh you
16:28 |Tux| m: class IO::X is IO::Handle { has @.x; multi method new (Str $x){self.bless.xx($x)}; method xx (Str $s){@.x.push: $s;}}; my $x = IO::X.new("foo"); $x.WHAT.say;
16:28 camelia rakudo-moar 734549: OUTPUT«(Array)␤»
16:28 hoelzro how should panda leverage CURLI to install .so files?
16:28 stmuk how many days would the class in serial have been?
16:28 jnthn hoelzro: I think nine++ was working on making %?RESOURCES work
16:28 |Tux| Why does this return "(Array)" instead of "(IO::X)" ?
16:28 hoelzro should I have something for liblinenoise.so in META.info's provides section?
16:28 virtualsue joined #perl6
16:29 jnthn |Tux|: Because push returns the array that was pushed to
16:29 MadcapJake jnthn: if failing to load a .so file can be caught then why is this catch block not executing? https://github.com/rakudo/rakudo/bl​ob/nom/src/Perl6/Compiler.nqp#L155
16:29 jnthn And you call .xx at the end of new
16:29 Hotkeys Currently in a lecture solely because I will get 2% bonus grade in this course just for attending
16:29 Hotkeys good stuff
16:29 hoelzro MadcapJake: I just realized; the CATCH block only wraps the loading of Linenoise
16:29 hoelzro not the calls to linenoise()
16:29 |Tux| m: class IO::X is IO::Handle { has @.x; multi method new (Str $x){self.bless.xx($x);self}; method xx (Str $s){@.x.push: $s;}}; my $x = IO::X.new("foo"); $x.WHAT.say;
16:29 camelia rakudo-moar 734549: OUTPUT«IO::X is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting:1␤  in method gist at src/RESTRICTED.setting:33␤  in block <unit> at /tmp/ga5aUgoNx9:1␤␤»
16:29 jnthn MadcapJake: hoelzro got it :)
16:29 hoelzro so Perl6::Compiler *thinks* Linenoise is ok
16:30 RabidGravy it definitely is catchable, that's how LibraryCheck works
16:30 hoelzro for some reason I thought it wasn't =/
16:30 [Coke] |Tux|: https://github.com/perl6/roast/blob/master/r​osettacode/greatest_element_of_a_list.t#L21
16:30 jnthn |Tux|: you'll need more like my \obj = self.bless; obj.xx; obj } or so
16:30 jnthn |Tux|: Or just make xx return self
16:30 [Coke] there's an anon class that does a crappy job of half your request. :)
16:31 MadcapJake hoelzro: but there's a wrapper around the previous load view self.eval too
16:31 MadcapJake s/via/view/
16:31 hoelzro MadcapJake: I don't see it
16:32 * hoelzro is looking at L256
16:32 MadcapJake hoelzro: https://github.com/rakudo/rakudo/bl​ob/nom/src/Perl6/Compiler.nqp#L124
16:32 MadcapJake oh, I was looking at where `use Linenoise;` was called
16:35 hoelzro there might be a sentinel call we can use from liblinenoise.so in that setup code
16:36 |Tux| readline requires an object with REPR MVMOSHandle
16:36 |Tux| maybe the pool I took a dip in is too deep :)
16:37 MadcapJake hoelzro: maybe linenoiseBeep or linenoiseHistoryLoad
16:38 hoelzro MadcapJake: history load, maybe
16:38 jnthn Everyone would love a beep on repl start ;)
16:38 MadcapJake hehe
16:39 Hotkeys nopls
16:39 MadcapJake I changed mine to a bell and it's quite a lot more soothing
16:39 ilmari xset b off # shuttup
16:39 MadcapJake sometimes I sit there and just make a little beat from the bell sounds xD
16:40 flussence I remember that beep the old Acorn machines used to make when you turned them on; a nice sine wave, much more pleasant than the piezo buzzers 99.9% of PCs use...
16:41 MadcapJake yeah that would be nice! my terminal does the beep at software level instead of using the little speaker on the motherboard, isn't that standard now?
16:42 RabidGravy there are probably not may people here who remember the IBM 5251 terminal, that used quite a large solenoid to introduce the key "click", it also used that for the "bell" - a really rather loud rude sound
16:42 ilmari RabidGravy: what, it had artificial key-click sound?
16:42 MadcapJake lol that would be crazy
16:43 RabidGravy yeah
16:43 jnthn decommute &
16:43 MadcapJake hoelzro: what's the default history length for linenoise?
16:43 hoelzro looks like 100
16:44 RabidGravy it had a solenoid thingy that bumped the key bed so you got a sound and tactile feedback
16:44 Hotkeys windowsdoes the system bell noise
16:44 Hotkeys which is annoying because I can never tell whether something is wrong or someone in irc is messing around or what
16:44 MadcapJake Hotkeys: ugh, maybe it's just a linux thing then because I haven't heard that sound for a while now.
16:45 Hotkeys no not the hardware bell
16:45 Hotkeys just a software sound but
16:45 Hotkeys windows uses it for everything
16:45 Hotkeys error messages, BEL characters
16:45 Hotkeys some games use it to say "hey you're joining a match"
16:45 * Hotkeys looks at smite
16:46 MadcapJake oh haha i actually remember that! used to play smite a bit back when I had a windows machine
16:46 * flussence wonders why keyboards *don't* have tactile feedback... the driver stack for it already exists for joypads.
16:47 Hotkeys like, haptic feedback? @ flussence
16:47 stmuk gamer keyboards are nice and clicky
16:47 zengargoylew probably a moving part prone to breakage and drawing lots of current.
16:47 zakharyas1 joined #perl6
16:47 Hotkeys I use a mechanical keyboard on my desktop because I don't hate myself but
16:47 b2gills modern keyboards drop keyup events enough, let's not make it worse
16:48 flussence yeah, that's a good point. most of the USB amperage gets soaked up by LEDs
16:48 Hotkeys not common on laptops (reasonable)
16:49 Hotkeys my laptop keyboard is pretty decent though
16:49 Hotkeys modern thinkpad
16:51 MadcapJake my main reason for wrapping X11's xtest is to be able to use my MIDI synth pads for keyboard shortcuts :) and I could even do something with how hard/soft you press the pads
16:51 Hotkeys lol
16:51 uruwi joined #perl6
16:52 zengargoylew hehe, smash <enter> == sudo !!
16:52 MadcapJake I came to this weird epiphany after watching the atom.io launch video that why don't programmers get cool knobs and sliders like music producers get?!
16:52 MadcapJake yeah right!
16:52 Hotkeys true
16:52 Hotkeys I want cool non-standard controls
16:53 MadcapJake yes me too!
16:53 MadcapJake I'm struggling to think of solid usecases but that always comes after you build it right? ;)
16:54 zengargoylew well, we did used to have TURBO buttons..
16:54 Hotkeys yeah
16:54 Hotkeys I think this would count as basic research
16:54 MadcapJake Hotkeys: lol agreed!
16:54 Hotkeys maybe nobody will think of a use for a hundred years
16:54 Hotkeys who knows
16:54 MadcapJake if you haven't seen this yet, it's pretty awesome: https://www.youtube.com/watch?v=Y7aEiVwBAdk
16:54 Hotkeys at least we'll have cool nonstandard controls
16:54 MadcapJake Hotkeys: This is about principles!
16:54 Hotkeys I'll take a look when I get home
16:54 Hotkeys I'm in a lecture right now
16:55 Hotkeys I'm only half paying attention because I'm really only here for the attendance credit
16:55 MadcapJake I'm gonna watch again just for that boost in inspiration xD
16:55 Hotkeys speaking of atom
16:56 Hotkeys wtb better perl 6 highlighting
16:56 stmuk Brad Gilbert: thanks for feedback
16:58 b2gills Anyone else wish that Google Wave was still a thing, and that it hooked into GitHub?
16:59 RabidGravy most of the bits you'd need are open sourced now :)
16:59 MadcapJake b2gills: https://en.wikipedia.org/wiki/Apache_Wave
17:01 JimmyZ m: m: my \SCALE = 3; my \FANOUT = 2; sub divide-and-conquer($n, $depth) { say "$depth: $n" if 0; $depth <= 0 ?? $n !! [+] await do for ^FANOUT { start { divide-and-conquer($n / FANOUT, $depth - 1) } } }; say divide-and-conquer(1.0, SCALE);
17:01 camelia rakudo-moar 734549: OUTPUT«Memory allocation failed; could not allocate 15856 bytes␤»
17:03 JimmyZ m: m: my \SCALE = 3; my \FANOUT = 2; sub divide-and-conquer($n, $depth) { await do for ^FANOUT { start { divide-and-conquer($n / FANOUT, $depth - 1) } } }; say divide-and-conquer(1.0, SCALE);
17:03 camelia rakudo-moar 734549: OUTPUT«Memory allocation failed; could not allocate 15176 bytes␤»
17:04 hoelzro MadcapJake: you're from WI?
17:05 MadcapJake yep!
17:05 hoelzro so am I!
17:05 hoelzro which part?
17:06 b2gills stmuk: I'm not familiar with Google docs, but I think you can just accept other peoples changes
17:06 MadcapJake wow! I'm originally from Lake Mills (just outside of Madison) but now I live in Eau Claire (hour east of the Twin Cities)
17:06 ribasushi joined #perl6
17:06 hoelzro ah, crazy! I know Lake Mills; I drive by it pretty often
17:06 b2gills My grandparents used to have a cabin on the Wisconsin side of the Mississippi, right on the main channel.
17:07 hoelzro b2gills: the driftless area? SW WI?
17:07 MadcapJake hoelzro: that is crazy!
17:07 stmuk b2gills: I couldn't see an obvious way .. maybe I'm being stupid
17:07 MadcapJake b2gills: there's a beautiful state park on the misssissippi called Wyalusing
17:07 gtodd so .... without all the CPAN mirrors and the 20 years of tweaking I should not be surprised that panda is a bit slower than cpan/cpanm
17:08 b2gills South of La Crosse
17:08 hoelzro small world =)
17:08 MadcapJake I've only been through La Crosse a few times (mostly to head to Iowa)
17:09 Deepak joined #perl6
17:09 b2gills Have you stopped at Horsefalls in Lansing Iowa?
17:10 vytas how can i remove module previously installed by panda ?
17:11 gtodd vytas: I think you have to do that manually
17:12 vytas trying to find where modules are stored though
17:12 MadcapJake b2gills: Actually, I could have but I usally opt for taking slightly faster route through Decorah, but the area around Horsefalls looked like a fun place to drive through!
17:13 gtodd panda --verbose --installed list
17:14 gtodd vytas: the panda help is sort of  unclear it seems like it should be:    panda list--verbose --installed
17:14 gtodd but that doesn't work
17:14 vytas gtodd, that gives git link for module that i want to remove :)
17:14 gtodd ahahahah
17:15 stmuk gtodd: I thought maybe an example section in the docs might help
17:15 b2gills MadcapJake: The cabin is right there: https://www.google.com/maps/place/43°28'02.1"N+91°13'13.8"W
17:15 stmuk certainly the way the current help is structured implies the wrong syntax
17:15 gtodd mine shows git links and question marks etc.
17:16 MadcapJake b2gills: wow that would be an awesome place to have a cabin, it looks like the only chunk of non-park land on the west side of 35 :P
17:17 b2gills Yeah I have a relative that is on the other side of 35, south of the Lansing bridge
17:17 yqt joined #perl6
17:17 gtodd stmuk: it's better at fetching and installing now but for managing a local set of installed modules panda has confused me (and itself) so often I don't really trust it :-D
17:18 gtodd which is why I just wipe everything whenever I install a new perl6 :)
17:18 MadcapJake b2gills: nice! If it's anything like Wyalusing (where the mississippi and wisconsin rivers meet), I'm sure it's a gorgeous area.
17:18 stmuk I'm doing that until all the bugs are out of curli
17:19 stmuk precomp-singleprocess? how does that extend curli?
17:21 b2gills MadcapJake: Now that I'm thinking of Wisconsin I want to go see The House on the Rock again. I especially want to see my 4 year old niece's reaction to it.
17:23 MadcapJake haha yeah it's a crazy place! there's actually an interesting story I read recently about the creator of it.
17:24 xfix joined #perl6
17:24 MadcapJake b2gills: https://www.youtube.com/watch?v=​nQrtFdYEEUA&amp;feature=youtu.be
17:26 vytas stmuk, just logged a bug for that https://github.com/tadzik/panda/issues/256
17:26 TimToady m: say 42 ~~ Str
17:26 camelia rakudo-moar 734549: OUTPUT«False␤»
17:26 TimToady m: say 42 ~~ Bool
17:26 camelia rakudo-moar 734549: OUTPUT«0␤»
17:27 TimToady I think that's a harmless buglet, but a buglet nonetheless
17:28 leont joined #perl6
17:31 Begi joined #perl6
17:31 stmuk hmm I'm not sure I'd use google docs for colab stuff again .. do gists allow that with a sane UI?
17:32 z8 joined #perl6
17:33 Zoffix You can fork a gist :)
17:34 ilmari but can you send a PR against the original one?
17:35 vytas so by default modules are installed under ~/.perl6/<perl6version>/precomp/ which obbviously stores binary files..
17:36 lucs Drives me nuts: doc.perl6.org autofocus in the search field! (I use the keyboard to navigate in the browser)
17:37 gtodd vytas: stmuk: perl6 modules don't get installed the way perl5 modules do ... e.g. @INC was removed :-)  and you won't find nested heirarchies of modules in the same way the zef and panda developpers are likely in here and can explain :-D  There's a Synopsis on mdules but I don't think it talks about filesystem layout etc. etc.
17:37 Zoffix ilmari, don't see any "make a pr" button
17:37 ilmari lucs: I hate pages that do that, unless the main purpose of the page is to search (e.g. search engine front page)
17:37 * Zoffix chimes the "search field autofocus" bell
17:38 Zoffix We should make that a drinking game.
17:38 Zoffix lucs, what buttons are you trying to press exactly?
17:38 MadcapJake does nqp have the topic variable?
17:38 lucs Zoffix: None per se, I happen to use pentadactyl.
17:38 Zoffix well, there's your problem :P
17:38 vytas gtodd, i appreciate that, and it's only missing tooling around it, which will come with time.
17:39 lucs Zoffix: Apparently, one man's problem is another man's solution :)
17:39 Zoffix lucs, the wiki says it's just a key binder.... what keys are you pressing that searchbox managed to annoy you?
17:40 mspo lucs: if you hit down arrow once it will un-focus the search box
17:40 lucs Zoffix: I open a page, first thing I type goes to the search box -- I'll usually just press 'j' to move down.
17:40 gtodd vytas: yes ... I always just used the filessytem and perl to errm manage perl .. it was at time messy :-)  rm `cat some.packlist` etc. but fairly simple
17:40 Zoffix lucs, j :S
17:40 lucs mspo: Sure, or tab. but there's the annoyance.
17:41 mspo lucs: indeed
17:41 Zoffix lucs, well, just add a greasemonkey script to unfocus it
17:41 gtodd vytas: I think some fairly advanced things are being attempted with the module loading and versioning etc. so ...
17:41 mspo I often use space and command-stuff to move around too
17:41 Zoffix mspo, space unfocuses the search box
17:41 lucs Zoffix: Yeah, yeah, but I'm lazy -- easier to complain and see if I'm the only one :)
17:41 mspo so it does
17:41 mspo Zoffix: I'm mostly annoyed that it breaks cmd-fwd and cmd-back
17:41 mspo but I'll live
17:42 dalek rakudo/nom: f4f505f | coke++ | docs/announce/2015.12.md:
17:42 dalek rakudo/nom: Pull in near-final list from gist.
17:42 dalek rakudo/nom:
17:42 dalek rakudo/nom: This includes many repos, CREDITS/AUTHORS files.
17:42 dalek rakudo/nom: We programatically cleaned up as many dupes as
17:42 dalek rakudo/nom: possible, then manually cleaned up some more.
17:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f4f505f4fd
17:42 vytas gtodd, sure, and I am happy about it, but I hope it gets fixed before Christmas :)
17:42 Zoffix lucs, you're not. The searchbox is big bikeshed around here. I'm planning to make it change colours randomly soon, to match http://bikeshed.com/
17:42 mspo what's powering it?
17:42 lucs Zoffix: Good to know you're taking care of important tasks like that :)
17:43 stmuk I added a search box to http://pl6anet.org/ in about 5 mins using a google service :)
17:43 stmuk surely it's not clever ajaxy goodness
17:43 [Coke] Please review the announcement list of names if you find a duplicate, or a nick that wasn't matched up with a name, or a preferred name not being used. If you edit that section, it's on you to re-org and reformat it. (esc gq in vi is your friend)
17:44 gtodd vytas: this sort of thing is what reminds you that with perl (perl5) all the tooling and CPAN etc. are a large part of what makes it great
17:44 [Coke] I wouldn't bother making major changes to search on doc until doc is an app, not a static site.
17:44 Zoffix mspo, powering what? The bikeshed? Simply everyone using sites differently. Some go to search straight away and use space/page down to scroll. Others yell that it's annoying and that it breaks key combination XYZ and that pages should not autofocus unless it's the only thing, which is in obvious contradiction to the first camp :)
17:45 lucs Zoffix: By the way, I love the search feature. Ideally, I'd like it to gain focus when I "tab" upon entering a page.
17:45 Zoffix lucs, greasemonkey! :)
17:45 lucs :)
17:47 stmuk . o O ( cgi-bin/search.p6 form submit )
17:48 Zoffix Woooo \o/ My amazing repo-forking, branch-creating script worked from the first try.
17:48 * Zoffix is about to shoot @*INC PRs
17:49 [Coke] lucs - hitting tab to get in the search box sounds like the sanest proposal so far.
17:49 raiph joined #perl6
17:49 gtodd Zoffix: by shoot you mean explain they no longer apply ?
17:49 [Coke] (right now tab goes to "Language", it seems)
17:49 Zoffix gtodd, by shoot I mean fix the failures and submit PRs
17:49 gtodd :-O
17:50 vytas gtodd, as a side note, I wish people ran some test after they change things. < not trying to be mean here > I am volunteering to do some testing myself :)
17:50 vytas I started my first module, wrote first 11 lines and logged 6 bugs. admittedly nothing about Perl6 itself...
17:51 Zoffix gtodd, in 65 repos :) Though I think some are being my skill level to fix.
17:51 Zoffix a/being/beyond/;
17:52 DrForr I need to get my P6 enironment back to the point where I can test seriously.
17:52 gtodd vytas: the ecosystem is still a moving target attached to a moving target :)
17:53 Zoffix vytas, we recently had a few major changes, so what you're seeing is the fallout in the ecosystem. Those changes were needed to be done before Christmas.
17:53 DrForr vytas: The core still changes daily, when I started developing stuff I ended up going 11 lines worth of code and running into a P6 core bug, then moved on and found another core bug. Repeat until something works, then GLR came along and time to redo everything :)
17:54 vytas sure, as I said earlier, i appreciate everyone's work. Thanks :) Perl6 is powerful and first language that I will be with since 1.0 :)
17:54 DrForr (GLR being one of the "changes that needed to be done.")
17:56 zengargoylew lucs: you're not the only one... i despise pages that think they know what i want to do better than i know what i want to do.  but i've already complained enough :)
17:56 vytas have a good weekend all.
17:57 gtodd vytas S11 and S22
17:57 gtodd oops
17:57 lucs zengargoylew: FWIW, I'll try to make a greasemonkey script, and share with anyone for whom it may be useful.
17:58 Zoffix So for ( @*INC ) -> $dir { ... } is now for ( $*REPO.repo-chain ) -> $dir { ... } ? Right?
17:58 gtodd Zoffix: :-D
17:58 Zoffix ?
17:58 RabidGravy something like thay yes
17:58 Zoffix k
18:02 Zoffix m: my $module; say $module:defined ?? "Y" !! "N"
18:02 camelia rakudo-moar f4f505: OUTPUT«5===SORRY!5=== Error while compiling /tmp/mcVDsNYgcZ␤Variable '$module:defined' is not declared␤at /tmp/mcVDsNYgcZ:1␤------> 3my $module; say 7⏏5$module:defined ?? "Y" !! "N"␤»
18:02 Zoffix m: my $module; say $module.defined ?? "Y" !! "N"
18:02 camelia rakudo-moar f4f505: OUTPUT«N␤»
18:02 * zengargoylew mostly just reads the POD from a repo clone nowadays...  easier to ack :P
18:03 Zoffix m: my %module; %module<foo> = 42; say %module<foo>.exists ?? "Y" !! "N"
18:03 camelia rakudo-moar f4f505: OUTPUT«Method 'exists' not found for invocant of class 'Int'␤  in block <unit> at /tmp/A4KQib9gbl:1␤␤»
18:03 RabidGravy BTW the RT#126806 is definitenly https://github.com/rakudo/rakudo/blob/nom/src/​core/CompUnit/Repository/Installation.pm#L198
18:03 Begi2 joined #perl6
18:04 RabidGravy I'd fix but I'm not sure whether $name should be required or should be some sensible default
18:06 stmuk #126806
18:06 gtodd so something like  /home/pluser/perl6/share/perl6/site/source​s/D0408B3E4626AAEE6FD978256EA25B49243313E2  (rather than just using a file name) ... is supposed to give perl6 more finegrained control over modules errm compunits  compared to ye olde perl5 way?
18:06 stmuk RT#126806
18:06 stmuk RT #126806
18:06 stmuk I thought there was an RT bot
18:06 MadcapJake Zoffix: can't you just use http://www.w3schools.com/ta​gs/att_global_tabindex.asp
18:08 Zoffix MadcapJake, for what?
18:08 MadcapJake someone earlier was asking for tab to go to the search box
18:09 Zoffix stmuk, IIRC its name is synbot, which I don't see in channel ATM
18:09 RabidGravy stmuk, it;s the cannot unbox type object in panda and other things
18:09 stmuk RabidGravy: yeah just read the ticket I was looking at that yesterday
18:09 Zoffix MadcapJake, sure, but that's not the problem at hand :)
18:10 MadcapJake ah, i guess i didn't follow enough of the convo
18:11 stmuk the unbox error is wierd .. one at least is intermittent and "fixed" by rerunning panda
18:11 Zoffix m: for ($*REPO.repo-chain) -> $dir { my ($type, $path) = $dir.split('#', 2);  say $type, $path }
18:12 camelia rakudo-moar f4f505: OUTPUT«Use of uninitialized value of type Any in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed.  in block  at /tmp/S7qXhldiUs:1␤Cannot call split(CompUnit::Repository::Installation, Str, Int); none of these sign…»
18:12 bbkr joined #perl6
18:13 RabidGravy Zoffix, that's why I said sort of like that ;-)
18:13 Zoffix :)
18:13 RabidGravy and the RT above is related as that's how you get the files
18:14 Zoffix m: for ($*REPO.repo-chain) -> $dir { my ($type, $path) = $dir.path-spec.split('#', 2);  say $type, $path }
18:14 camelia rakudo-moar f4f505: OUTPUT«inst/home/camelia/.perl6/2015.11-3​54-gf4f505f␤inst/home/camelia/rakudo-m-in​st-2/share/perl6/site␤inst/home/camelia/r​akudo-m-inst-2/share/perl6/vendor␤inst/ho​me/camelia/rakudo-m-inst-2/share/perl6␤»
18:14 Zoffix \o/
18:14 Zoffix stmuk, fwiw, the logger makes URLs: http://irclog.perlgeek.de/p​erl6/2015-12-04#i_11658355
18:15 stmuk ah
18:15 MadcapJake hoelzro: I tried to change https://github.com/rakudo/rakudo/bl​ob/nom/src/Perl6/Compiler.nqp#L225 to a try/catch set of blocks, which does allow me to pass through the missing liblinenoise.so error but for some reason $!linenoise fails now even if liblinenoise.so is available.  Does it not know where to look due to me not running `make install` or is something else going on?
18:16 gfldex i just did 'put await do start { handle($_, $level) } for $pod.flat;' and i liked it :)
18:16 gtodd vitas: those are related to precompiling I think ... but if you want you can put a module in a ./lib directory and just include it with -I ./lib so you could just manage modules with git :-)
18:16 gtodd ooops
18:16 dalek rakudo/nom: aa1906a | (Anthony Parsons)++ | src/core/CompUnit/Repository/FileSystem.pm:
18:16 dalek rakudo/nom: Make META.info loading work again
18:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/aa1906a1fb
18:16 dalek rakudo/nom: cb7c6f4 | niner++ | src/core/CompUnit/Repository/FileSystem.pm:
18:16 dalek rakudo/nom: Merge pull request #618 from flussence/meta-read-fix
18:16 dalek rakudo/nom:
18:16 dalek rakudo/nom: Restore META6.json loading in libpath
18:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cb7c6f44ab
18:16 gtodd Zoffix: congrats!
18:16 _mg_ joined #perl6
18:17 tony-o MadcapJake: i have changes on my machine for web-scraper but i need xml to be fixed
18:17 yoleaux 13:34Z <timotimo> tony-o: about your unanswered question before: camelia uses the restricted setting and forbids qqx to run. that's why you won't get it to say "hi" here.
18:18 MadcapJake tony-o: cool! someone was asking about a web-scraper a day or so ago
18:18 tony-o timotimo: on my local machine this exits immediately (on cam, it doesn't):  start { qqx<some crap>; } await Promise.new;
18:18 flussence first real rakudo patch :D
18:19 El_Che_ joined #perl6
18:20 stmuk m: say $*REPO
18:20 camelia rakudo-moar f4f505: OUTPUT«inst#/home/camelia/.p​erl6/2015.11-354-gf4f505f␤»
18:20 stmuk m: say $*REPO.perl
18:20 camelia rakudo-moar f4f505: OUTPUT«CompUnit::Repository::Installation.new(​'/home/camelia/.perl6/2015.11-354-gf4f505f')␤»
18:20 MadcapJake hoelzro: it fails silently too, not sure where to look for the error
18:21 gtodd Zoffix: why is the "inst/" important
18:21 Zoffix gtodd, ??
18:21 gtodd I mean he "$type"
18:22 mspo where are the docs for the unit keyword?
18:22 tony-o gtodd: specifies what kind of compunitrepo it is
18:22 gtodd errm the $type of install
18:22 edehont joined #perl6
18:22 tony-o mspo: they don't match what is implemented: http://design.perl6.org/S11.html
18:22 gtodd so if it it was not a compunitrepo the type would be sometehing else?
18:22 tony-o gtodd: there are different types of CURs, one is a file, one is an installation
18:23 nine @all: I'm making good progress on %?RESOURCES support which will be the basis for modules like Linenoise or Inline::Perl5 finding their .so files again.
18:23 tony-o the file one is more similar to the perl5 way of module installations, the 'inst' type was using a JSON manifest file and storing the files with a number for the name
18:23 nine Just better and much simpler than with @*INC
18:23 gtodd oh right I forgot about INC ... now gone so filesystem will just be a type of CUR  now ?
18:24 Zoffix nine++
18:24 tony-o gtodd: not file system, just file
18:24 tony-o it just specifies the structure of the CUR
18:24 gtodd ah ok ...
18:24 tony-o the CUR also must handle how it's finding files etc.
18:24 mspo so where does unit class fit in?
18:25 gtodd I was thnking of the earlier question about how to remove a module with panda
18:25 tony-o good luck
18:25 gtodd "manually" is sort of not the right response at this time :-D
18:26 Zoffix mspo, it let's you avoid adding curlies. You're saying stuff below is all for the class you're defining
18:26 nine gtodd: support for removing distributions from a CompUnit::Repository::Installation should be fairly simple. We should have all the information needed at hand.
18:26 mspo Zoffix: okay
18:26 mspo method vs sub, etc?
18:26 gtodd yayayou don't have to use the advanced module stuff
18:26 gtodd though ... I mean at this stage ...
18:26 flussence I may be overthinking it a bit, but inst# and file# would be nicer if spelled as valid-ish URI schemes, 'inst+file:' and 'file:'
18:27 gtodd I perl6 development as the rush towards christmas happens :)
18:27 gtodd flussence: I was thinkng the same thing :)
18:27 flussence (maybe it'd inspire someone to write a CUR to load git: URLs on-demand :)
18:28 gtodd :-D
18:28 ugexe flussence: been there done that
18:28 tony-o i had code to do that flussence, there isn't a mechanism to load custom CURs
18:28 tony-o we had it in zef for a while
18:28 flussence aww.
18:29 ugexe not the cloud loading for github
18:29 dalek rakudo/nom: 587f700 | TimToady++ | src/Perl6/ (2 files):
18:29 dalek rakudo/nom: generalize literal True/False smartmatch test
18:29 dalek rakudo/nom:
18:29 dalek rakudo/nom: Moved the test from Grammar to Actions, and it now applies to all actions
18:29 dalek rakudo/nom: that call check_smartmatch.  Also applies to first arg of grep and first.
18:29 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/587f700e9c
18:29 TimToady ^^^ is for nadim++
18:29 gtodd so you are raining on cloud loading
18:29 ugexe but only because as you mention, there is no way to load an external compunit
18:30 tony-o gtodd: we're not, but we couldn't load over the wire because of the way CUR is/was built
18:30 * flussence thinks the whole ecosystem process of adding an url to a git repo containing a file that contains the url to a git repo to clone in order to get the other files listed in the middle file is completely screwy
18:30 nine tony-o: should be entirely possible now
18:30 ugexe to make it work meant editing CompUnitRepo.pm6 manually
18:30 leont joined #perl6
18:30 ugexe to add $short-id = ExternalCompUnitRepo
18:31 tony-o can we use a custom CUR ?
18:31 tony-o or do we need end users to change syntax to load over the wire?
18:31 nine tony-o: CompUnitRepo (or what remains) is just a bit of convenience. You can add any CompUnit::Repository class to $*REPO
18:32 tony-o so, yes, they need to use a specific syntax
18:32 gtodd hmm  perl 6 running on CDN's a la javascript libraries ?
18:32 nine BEGIN { class MyRepo does CompUnit::Repository { ... }; PROCESS::<$REPO> := MyRepo.new(..., :next-repo($*REPO)); } use Whatever;
18:32 ugexe how do you make sure the CUR is loaded before modules start getting loaded?
18:33 nine ugexe: BEGIN?
18:33 ugexe the module that begin is in still has to get loaded
18:33 Zoffix hm
18:33 cognominal joined #perl6
18:33 Zoffix use lib '...' seems not to work under prove :S
18:33 tony-o that doesn't help module authors who need to 'use GitRepo' or whatever and now have that dependency even though end users might have all the modules on the local FS
18:34 tony-o Zoffix: use lib '<whatever>' breaks precomp
18:34 ugexe it was discussed long ago to load via -CExternalCompUnit
18:35 uruwi joined #perl6
18:35 RabidGravy nine, in CompUnit::Respository::Installation.files should $name be mandatory, have some default or something else?
18:35 Zoffix Oh, actually it's actually only with prove -e "perl6 -Ilib" -vlr t  if I set -e to just "perl6" use lib works.
18:35 cognominal in the absence of supersede what is the best way to redefine a method of the setting, short of compiling a modified setting?
18:35 Zoffix This problem sounds awfully familiar.
18:35 tony-o cognominal: you can monkey type it
18:35 Zoffix Ah: https://rt.perl.org/Public/​Bug/Display.html?id=126718
18:37 cognominal tony-o, how?
18:37 ugexe can you &wrap it?
18:38 nine RabidGravy: method files as it is a remainder of the previous design that just has been patched a little to make panda work again. I think first we have to think about what it's job will be once %?RESOURCES is implemented.
18:39 gfldex cognominal: can you be more specific?
18:39 cognominal the motivation is to overidde the .print method to generate html
18:39 llfourn joined #perl6
18:39 nine RabidGravy: I think it will be closely related to the solution for Module::Pluggable
18:40 RabidGravy nine, right the thing is with this I'm not sure how best to find a co-located .so file for a module
18:40 cognominal so an otherwise modified program woudl print html, and could add the backtrace in a html data attribute to show how the print was done.
18:40 cognominal * otherwise unmodified program
18:40 nine RabidGravy: %?RESOURCES is the only sane answer
18:41 tony-o cognominal: ah, augmenting isn't the right way to go
18:41 nine %?RESOURCES<linenoise.so>
18:42 cognominal tony-o, I said supersede, not augment. But it is not supported, yet.
18:42 ugexe resources is supposed to accept key/value i thought, where the value could be a hash containing arbitrary meta-data
18:42 ugexe i thought
18:42 nine Which I've got almost working. There's only an issue with precompiling modules that use %?RESOURCES and use other modules.
18:42 RabidGravy indeed, but being NYI and there being things in the ecosystem that used @*INC
18:42 tony-o not sure i'd consider hijacking .print to be superceding
18:42 RabidGravy ah okay
18:42 tony-o you can redirect $*STDOUT, though
18:43 nine ugexe: %?RESOURCES is essentially an interface to the resources/ directory of a distribution with values either be directories again, or IO::Path objects representing files
18:43 nine ugexe: %?RESOURCES<images><icon.png>.slurp
18:43 ugexe yeah, that is different
18:43 RabidGravy nine++ # I'll leave you to it then
18:44 ugexe http://design.perl6.org/S22.html#%25%3FRESOURCE in the example the second group (libraries) isnt file related
18:45 ugexe should arbitrary meta data still be allowed there then?
18:45 cognominal tony-o: maybe derive a class form IO::Handle and cast $*OUT to it ?
18:45 retupmoca nine: are filenames on disk going to get mangled for %?RESOURCES?
18:45 cognominal not sure that's possible either
18:45 tony-o retupmoca: it appears they already are
18:45 retupmoca the difficulty is that then we can't just load a dll file from %?RESOURCES on windows
18:45 gtodd will there be sort of proxy @*INC that fakes itself into existing out of $*REPO  or will it well and truly be removed completely?
18:45 tony-o cognominal: you can do that fore sure
18:46 tony-o s/fore/for/
18:46 retupmoca because it will refuse to load if the filename on disk doesn't end in .dll
18:46 nine retupmoca: yes, we will store them by their sha hash probably
18:46 retupmoca so to load windows .dll files, we will still need to copy them to a temp directory with the correct filename/extension?
18:46 nine retupmoca: and yes I know this sucks for shared objects. Not sure what the best solution is.
18:46 hoelzro MadcapJake: is your work in your rakudo fork?
18:47 retupmoca nine: yeah, I'm not sure what the "right" solution is - I just really don't like needing to copy and load from a temp folder
18:47 nine retupmoca: I'm actually fantasizing about using Punycode to encode those file names
18:47 domidumont joined #perl6
18:48 nine Does anyone have suggestions on how to debug "Missing serialize REPR function for REPR MVMContext"?
18:48 retupmoca nine: well, I *think* windows will be happy if the extension is correct, anyway.
18:48 retupmoca nine: even if the filename is different
18:49 nine retupmoca: yeah, maybe we will just keep the file extension on the sha
18:49 cognominal tony-o: more or less what I want to do, without the interesting part  :  https://gist.github.com/cogn​ominal/c7c21d63649e6c5bfcc5
18:50 RabidGravy can you do something with forks or whatever they are called?
18:50 RabidGravy in windows
18:50 flussence resource forks?
18:50 retupmoca nine: that should be enough to keep me happy :)
18:51 nine retupmoca: as maintainer of Inline::Perl5 who had to debug parallel testing failures due to copying .so files I'm highly motivated to find a clean solution ;)
18:51 tony-o cognominal: give me a few minutes, i have a module that hijacks $*OUT
18:51 flussence that's actually not an insane idea... win/mac could use ADS/forks and linux could use ~/.cache/perl6, everyone wins
18:52 cognominal tony-o, that would be nice.
18:52 domidumont joined #perl6
18:52 RabidGravy ADS that's what I meant :) don't do windows much these days
18:53 gfldex m: &print.wrap({put '<html>' ~ $_ ~ '</html>'}); 1.print; 'Foo'.print; (1,2,3).print
18:53 camelia rakudo-moar 587f70: OUTPUT«<html>1</html>␤<html>Foo</html>␤<html>1 2 3</html>␤»
18:53 gfldex cognominal: ^^^
18:53 gfldex easy things shout be ...
18:54 tony-o m: my $out = $*OUT; $*OUT = class { method print (*@args) { $out.say($_) for @args; } }; print qw<hello world>;
18:54 camelia rakudo-moar 587f70: OUTPUT«hello world␤»
18:54 tony-o m: my $out = $*OUT; $*OUT = class { method print (*@args) { $out.say($_) for @args; } }; print "hello\nworld";
18:54 camelia rakudo-moar 587f70: OUTPUT«hello␤world␤»
18:54 tony-o m: my $out = $*OUT; $*OUT = class { method print (*@args) { $out.say("LINE: $_") for @args; } }; print "hello\nworld";
18:54 camelia rakudo-moar 587f70: OUTPUT«LINE: hello␤world␤»
18:54 tony-o eh, you get it
18:55 Zoffix :o
18:55 MadcapJake hoelzro: hold on i'll push up to gh
18:55 [Coke] t/04-nativecall/13-union.t is failing on r-m on the mac.
18:55 tony-o cognominal: i quit working on this quite a while ago but here's the code in the repo: https://github.com/tony-o/perl6-template-prot​one/blob/master/lib/Template/Protone.pm6#L40
18:56 cognominal if I use augment instead of supersede, my gist compiles modulo a typo.
18:57 MadcapJake hoelzro: https://github.com/MadcapJake/raku​do/blob/nom/src/Perl6/Compiler.nqp there's a couple says in there cus i was trying to figure out where it was silently failing
18:57 cognominal anyway, I will learn for gfldex++ and tony-o code++ if I don't use it
18:57 gfldex m: &print.wrap({put callframe(1).line, ':', $_ }); 1.print; 'Foo'.print; (1,2,3).print
18:57 camelia rakudo-moar 587f70: OUTPUT«3763:1␤3763:Foo␤3763:1 2 3␤»
18:57 gfldex you will have to find the right callframe tho
18:57 [Coke] (failing) ... but apparently only one time. :P
18:58 hoelzro MadcapJake: thanks, having a look
18:58 leont joined #perl6
18:59 hoelzro joined #perl6
19:02 Zoffix huh? There's a P5 module in the ecosystem
19:03 zengargoylew heh, would be cool if a program could just have a /resources virtual file system
19:04 Zoffix weird.
19:04 RabidGravy on Linux that would be entirely doable with some fuse thing
19:04 Zoffix I ran a script that cloned repos and the cloned version of https://github.com/supernovus/flower is nothing like the stuff I see on github. It's still a "flower" disto, but it's all in Perl 5 :S
19:04 zengargoylew yeah, that's sorta what i was thinking. :)   that plus cgroup and namespaces and such...
19:05 hoelzro MadcapJake: I don't see anything obvious; I'll try to give it a more in depth look later
19:05 RabidGravy Zoffix, are you sure you got the right branch?
19:06 MadcapJake yeah all I did was remove the `if $!linenoise {` and change it to `try {` and then turned the else block into a CATCH block
19:06 Zoffix RabidGravy, yup
19:06 Hotkeys o7
19:07 Zoffix :S oh
19:07 RabidGravy I've got a couple of things that have P5 in one branch and P6
19:07 RabidGravy in another
19:07 Hotkeys the IRC advent had me confused why it was using wireshark when there's an RFC but I guess I skipped the first sentence of part 1
19:07 Zoffix This is weird. If I go and look at my fork, it says it was forked from "santex" not "supernovus": https://github.com/zoffixznet/flower
19:07 Hotkeys you sneaky zoffix you
19:07 Zoffix Hotkeys, :)
19:08 nadim joined #perl6
19:08 Zoffix Ahhh. k, I figured it out :)
19:09 nine Zoffix: is flower still alive?
19:09 Zoffix Apparently, at some point in the past I forged santex's version of flower and now when I cloned supernovus's version, the "clone" line in my script still used "flower" as the repo, but on github the fork is actually named "flower-1"
19:09 Zoffix nine, no idea, I'm just going through the batch of @*INC-using modules
19:10 espadrine joined #perl6
19:11 RabidGravy Zoffix, I'm on mine BTW, I'm just looking for a nice short-term solution to "finding co-installed .so files"
19:11 Zoffix roger
19:14 nine I guess I picked a bad time for my precomp issue with none of the guts hackers online...
19:15 mspo are BUILD and BUILDALL run regardless of success?  I have a is required error but BUILD is still executed
19:16 [Coke] I think required happens after you've tried to build it. how could it know you haven't set it yet?
19:18 mspo compiler checks?
19:20 mspo so where can I init my class outside of BUILD/BUILDALL that's compile-time safe
19:20 mspo okay putting nextsame; as the very first part of BUILDALL seems to work
19:23 Hotkeys is there a way to get (and call) a function given a string (of the function name)?
19:23 Hotkeys would I need to use eval
19:23 Hotkeys er nvm I know what I'll do
19:24 flussence m: sub foo { say 'foo' }; my $fn = 'foo'; &$fn
19:24 camelia rakudo-moar 587f70: ( no output )
19:24 flussence m: sub foo { say 'foo' }; my $fn = 'foo'; &$fn()
19:24 camelia rakudo-moar 587f70: OUTPUT«Cannot find method 'CALL-ME'␤  in block <unit> at /tmp/nQN48LQpyf:1␤␤»
19:24 mspo although I just cargo-culted that nextsame.  I don't really grok what it's doing
19:24 flussence m: sub foo { say 'foo' }; my $fn = 'foo'; &"$fn"()
19:24 camelia rakudo-moar 587f70: OUTPUT«5===SORRY!5=== Error while compiling /tmp/RW5OVRUBlf␤Name must begin with alphabetic character␤at /tmp/RW5OVRUBlf:1␤------> 3sub foo { say 'foo' }; my $fn = 'foo'; &7⏏5"$fn"()␤    expecting any of:␤        infix␤        infix stopper…»
19:24 flussence m: sub foo { say 'foo' }; my $fn = 'foo'; &("$fn").()
19:24 camelia rakudo-moar 587f70: OUTPUT«Cannot find method 'CALL-ME'␤  in block <unit> at /tmp/qtFLctWnRM:1␤␤»
19:24 flussence not as easy as I thought it'd be...
19:24 flussence m: sub foo { say 'foo' }; my $fn = 'foo'; say &$fn
19:24 camelia rakudo-moar 587f70: OUTPUT«foo␤»
19:25 flussence m: sub foo { say 'foo' }; my $fn = 'foo'; say &$fn.WHAT
19:25 camelia rakudo-moar 587f70: OUTPUT«(Str)␤»
19:25 flussence m: sub foo { say 'foo' }; my $fn = 'foo'; say &$fn .WHAT
19:25 camelia rakudo-moar 587f70: OUTPUT«===SORRY!===␤Method call must either supply a name or have a child node that evaluates to the name␤»
19:25 flussence Wat
19:25 Hotkeys m: sub foo { say 'bar' }; my $fn = 'foo'; say &$fn
19:25 camelia rakudo-moar 587f70: OUTPUT«foo␤»
19:25 * flussence gives up
19:26 gfldex m: sub foo { say 'foo' }; my $fn = 'foo'; ::("$fn").()
19:26 camelia rakudo-moar 587f70: OUTPUT«No such symbol 'foo'␤  in block <unit> at /tmp/BSH7ow8QTW:1␤␤Actually thrown at:␤  in block <unit> at /tmp/BSH7ow8QTW:1␤␤»
19:29 zakharyas joined #perl6
19:34 zakharyas1 joined #perl6
19:35 zengargoylew m: sub foo { say "bar" }; my $fn = 'foo'; &::($fn).();
19:35 camelia rakudo-moar 587f70: OUTPUT«bar␤»
19:35 RabidGravy Hmm, si if I put the .so in the provides of the meta.info panda does install, but with a sha1 name
19:36 gfldex m: sub foo { say 'foo' }; my $fn = 'foo'; ::{"&$fn"}.()
19:36 camelia rakudo-moar 587f70: OUTPUT«foo␤»
19:36 gfldex flussence: found it :)
19:36 tony-o m: sub foo { say 'foo'; }; my $fn = 'foo'; &::($fn);
19:36 camelia rakudo-moar 587f70: ( no output )
19:36 RabidGravy how do I get the sha1 that it uses as it isn't the filename as I just checked
19:38 Hotkeys m: my $foo = <% .>; say so "%" eq any($foo); say so "%" eq any(<% .>);
19:38 gfldex m: sub foo { say 'foo' }; my $fn = 'foo'; MY::{"&$fn"}.()
19:38 camelia rakudo-moar 587f70: OUTPUT«False␤True␤»
19:38 camelia rakudo-moar 587f70: OUTPUT«foo␤»
19:38 Hotkeys Why does this happen
19:39 moritz Hotkeys: because any($foo) is a one-value junction
19:39 moritz m: m: my $foo = <% .>; say $foo.Str
19:39 camelia rakudo-moar 587f70: OUTPUT«% .␤»
19:39 moritz that's how the scalarized array stringifies
19:39 Hotkeys ah
19:39 nine RabidGravy: good question! It showed me that there's a bug in exactly that code. We really ought to add the dist-id to the hash lest we get collisions
19:39 moritz my   any(@$foo) or any($foo.list)
19:39 Hotkeys m: my $foo = <% .>; say so "%" eq any($foo.list);
19:39 camelia rakudo-moar 587f70: OUTPUT«True␤»
19:39 Hotkeys i see
19:40 Hotkeys I'll probably use an array instead then
19:40 moritz that's what they are for :-)
19:42 El_Che joined #perl6
19:45 zengargoylew mark
19:45 moritz swwp
19:46 Hotkeys Zoffix: it looks like your irc spy bot doesn't respond to server pings, might not spy for very long
19:46 FROGGS joined #perl6
19:47 El_Che n
19:47 El_Che hi
19:47 moritz https://modules.perl6.org/ # another SSL-enabled site
19:47 FROGGS o/
19:47 moritz letsencrypt++
19:47 diakopter moritz++
19:47 diakopter moritz: there is a non-ssl-resources warning for some of them
19:48 moritz diakopter: for which?
19:48 diakopter do you know the trick to fix it? change all absolute urls to start with // instead of http:// or https://
19:48 diakopter er, docs maybe
19:48 moritz ... if the CDN supports https
19:48 diakopter one of the ones you changed a few hours ago
19:48 moritz (me has no idea which resources are non-ssl)
19:50 dalek perl6.org: 81b21e3 | moritz++ | / (4 files):
19:50 dalek perl6.org: Link to HTTPS version of modules.perl6.org
19:50 dalek perl6.org: review: https://github.com/perl6/p​erl6.org/commit/81b21e3404
19:50 diakopter hm does letsencrypt give wildcards
19:50 FROGGS nine: has there been progress about alternative bin installation paths in the last days?
19:50 moritz diakopter: don't think so, but I'm not sure
19:50 diakopter because https://docs.perl6.org doesn't work because the cert is for www
19:50 moritz diakopter: ah, I probably missed an alias name
19:51 mspo http://foo.perl6.org/
19:52 El_Che The is something about Class instances + channels that I don't get. A counter variable that count e.g. read lines in the channel does not looses its state when called ... from an other instance: http://paste.scsys.co.uk/50243​6?hl=on&amp;submit=Format+it!
19:52 El_Che I stripped the logic to a minimum in the example
19:54 nine FROGGS: no. Working hard on %?RESOURCES support so modules find their .so files again
19:54 FROGGS nine: ahh, cool
19:54 FROGGS nine: I'm still banging my head at star
19:54 nine FROGGS: though I could use some help with a weird precomp issue :/ http://irclog.perlgeek.de/m​oarvm/2015-12-04#i_11658637
19:55 dalek modules.perl6.org: 7148483 | moritz++ | templates/layouts/default.html.ep:
19:55 dalek modules.perl6.org: Load favicon from protocol-relative URL
19:55 dalek modules.perl6.org:
19:55 dalek modules.perl6.org: diakopter++
19:55 dalek modules.perl6.org: review: https://github.com/perl6/modul​es.perl6.org/commit/7148483980
19:55 FROGGS nine: huh, what does trigger that?
19:55 nadim joined #perl6
19:55 FROGGS nine: is a BEGIN block or an EXPORT sub involved?
19:56 nine nope
19:56 [Coke] TimToady++
19:57 dalek specs: fa15a69 | moritz++ | html/index.html:
19:57 dalek specs: index.html: Load camelia via protocol-relative URL
19:57 dalek specs: review: https://github.com/perl6/specs/commit/fa15a6988a
19:57 FROGGS nine: is that probably about the unit keyword?
19:58 FROGGS nine: what happens if Test2.pm is: module Test2 { } ?
19:58 gfldex m: .say for MY::;
19:58 camelia rakudo-moar 587f70: OUTPUT«$=pod => []␤!UNIT_MARKER => (!UNIT_MARKER)␤EXPORT => (EXPORT)␤$_ => (Any)␤$! => Nil␤::?PACKAGE => (GLOBAL)␤GLOBALish => (GLOBAL)␤$¢ => Nil␤$=finish => (Mu)␤$/ => Nil␤$?PACKAGE => (GLOBAL)␤»
19:58 FROGGS or... maybe the use statement returns an MVMContext now?
19:58 gfldex what is $¢ ?
19:58 FROGGS m: say (use Test)
19:58 camelia rakudo-moar 587f70: OUTPUT«Nil␤»
19:59 nine FROGGS: removing unit keywords does not change the output.
19:59 moritz gfldex: the current cursor
19:59 FROGGS nine: and the error stays also without the our sub?
20:00 nine FROGGS: it disappears when I comment out the %?RESOURCES access
20:00 FROGGS aha
20:00 FROGGS still weird though
20:00 FROGGS can I try that on nom?
20:01 nine I would bet that it's the code in Perl6/Actions.pm because that's code where I have to guess most to get it working
20:01 moritz masak: are you aware that your first advent post is due rather soonish?
20:01 nine yes, patch should apply on nom
20:03 donaldh joined #perl6
20:03 _nadim joined #perl6
20:04 FROGGS building it...
20:04 telex joined #perl6
20:05 rurban joined #perl6
20:05 [Coke] "merry sixmas"
20:07 donaldh Golfing "Missing serialize function for REPR ContextRef" on JVM, during compilation when serializing a module that references a module, it tries to serialize the CompUnit->CompUnit::Handle->CodeRef of the referenced precompiled module
20:07 donaldh Some details here https://gist.github.com/do​naldh/0cf1160b5fc87d4ba457
20:07 donaldh Anyone know how this is avoided on MoarVM ?
20:07 [Coke] Anyone mind if we include http proxy support in panda before christmas by bundling the appropriate module?
20:08 nine donaldh: that may even be related to my current issue
20:08 _mg_ joined #perl6
20:08 donaldh oh, what's that?
20:08 [Coke] Was going to say, that looks like the error nine was just asknig about in #moar
20:08 donaldh Is it happening on Moar too?
20:09 [Coke] t/spec/S17-supply/syntax.t hanging on OS X under heavy load.
20:09 [Coke] :(
20:09 cygx joined #perl6
20:09 cygx m: "rn".subst(:g, /./, { given ~$_ { when "r" { "\c[CR]" }; when "n" { "\c[LF]" }  } }).chars.say
20:09 camelia rakudo-moar 587f70: OUTPUT«2␤»
20:10 cygx :(
20:10 donaldh Yup, same issue.
20:11 donaldh So Contexts are only supposed to be registered with the SC I think
20:11 [Coke] cygx: ... what are you trying to do?
20:11 donaldh And anywhere else, they should maybe be referenced by id.
20:12 donaldh Anyway, the new precomp stuff seems to casuse CompUnit::Handle to reference contexts, which are not serializable - by design.
20:12 [Coke] cygx: get that to be treated like a literal \r\n?
20:13 cygx [Coke]: https://github.com/cygx/p6-uni63 use .subst to de/encode strings, and synthetics do not round-trip
20:13 cygx *uses
20:13 [Coke] m: "rn".subst(:g, /./, { given ~$_ { when "r" { "\c[CR]" }; when "n" { "\c[LF]" }  } }).NFC.Str.chars.say
20:13 camelia rakudo-moar 587f70: OUTPUT«1␤»
20:14 cygx \o/
20:14 [Coke] you could hit it with a stick..
20:14 jervo joined #perl6
20:16 zengargoylew left #perl6
20:16 FROGGS nine: the output of 'perl6 --target=ast -I. Test1.pm' looks wrong
20:17 dalek specs: 04c9c48 | moritz++ | html/index.html:
20:17 dalek specs: HTML: Link to HTTPS version of perl6.org
20:17 dalek specs: review: https://github.com/perl6/specs/commit/04c9c48f00
20:17 FROGGS I think...
20:18 moritz diakopter: https://doc.perl6.org/ is now free of warnings
20:18 _mg_ joined #perl6
20:20 jervo Is it possible to use roles with stub methods like interfaces?
20:21 jervo I only found MyClass.^roles so far and it seems to instanciate the role
20:22 FROGGS jervo: a stubbed method in a role forces the class to implement that method
20:24 [Coke] Huge number of stresstest failures on OS X/moar.
20:24 dalek doc: 6848ad0 | moritz++ | / (5 files):
20:24 dalek doc: Use HTTPS links where available
20:24 dalek doc: review: https://github.com/perl6/doc/commit/6848ad069d
20:24 jervo FROGGS: yes, I get that. I'd to know if an object's class implements the Role.
20:25 FROGGS jervo: just smartmatch the class or instance against the role
20:25 jervo FROGGS: ha.. shoul've thought of that! thanks!
20:26 RabidGravy m: role F {}; class G does F {};  say so G ~~ F
20:26 camelia rakudo-moar 587f70: OUTPUT«True␤»
20:26 moritz .tell lichtkind that tablets is now reachable via SSL too: https://tablets.perl6.org/
20:26 yoleaux moritz: I'll pass your message to lichtkind.
20:28 masak _nadim: hi -- sorry about not responding immediately. I thought the name rang a bell ;)
20:32 donaldh nine: do you have a solution?
20:33 masak _nadim: happy to have you here on the channel! :) guess news of Christmas brings you here ;)
20:34 donaldh nine: the slot is CompUnit::Handle.module_ctx
20:35 MadcapJake m: my constant abc = 1; my constant b := ab; # this error could really use improving
20:35 camelia rakudo-moar 587f70: OUTPUT«5===SORRY!5=== Error while compiling /tmp/rjNEFbev9g␤An exception occurred while evaluating a constant␤at /tmp/rjNEFbev9g:1␤Exception details:␤  5===SORRY!5=== Error while compiling ␤  Cannot invoke this object␤  at :␤»
20:35 MadcapJake the inner error has nothing printed in the `at` line
20:36 hoelzro MadcapJake: I think that your patch isn't working properly because I think that CATCH is a *little* different in NQP vs Perl 6
20:36 hoelzro (iirc)
20:37 MadcapJake oh, what would be a way to basically do an `else` if the try block fails?
20:37 _nadim masak: each Christmas a new project, this time it is to make a module for P6 :), let's talk soon.
20:38 [Coke] m: try { die "what?" CATCH { say "died" }}
20:38 camelia rakudo-moar 587f70: OUTPUT«5===SORRY!5=== Error while compiling /tmp/MVAW58FUa0␤Two terms in a row␤at /tmp/MVAW58FUa0:1␤------> 3try { die "what?"7⏏5 CATCH { say "died" }}␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        sta…»
20:38 El_Che if someone saw my question (http://paste.scsys.co.uk/502436​?hl=on&amp;submit=Format+it!): replacing a loop-earliest-more block by a loop-if_channel.poll-elsif_closed fixed the unwanted shared state between class instances.
20:38 MadcapJake [Coke]: in NQP
20:38 [Coke] m: try { die "what?" ␤ CATCH { say "died" }}
20:38 camelia rakudo-moar 587f70: OUTPUT«5===SORRY!5=== Error while compiling /tmp/gxr_VV_fGZ␤Confused␤at /tmp/gxr_VV_fGZ:2␤------> 3try { die "what?"7⏏5 ␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        statement …»
20:38 [Coke] catch the exception.
20:39 _nadim is there a way to get the signature of the function that will be called for multis? I have a recalcitrant multi sub that doesn't want to be called, grrrr, and i wonder if there is a way to help debug that.
20:39 [Coke] looks like Nqp supports CATCH.
20:39 ugexe El_Che: seems like it might be a bug to me... i couldnt figure out why it was happening in your original example
20:39 [Coke] nqp-m: { die "eek" ; CATCH { say "here?"} }
20:39 camelia nqp-moarvm: OUTPUT«Unable to parse expression in blockoid; couldn't find final '}'  at line 2, near "die \"eek\" "␤   at gen/moar/stage2/NQPHLL.nqp:521  (/home/camelia/rakudo-m-inst-1/shar​e/nqp/lib/NQPHLL.moarvm:panic:105)␤ from gen/moar/stage2/NQPHLL.nqp:528  (/home/camelia/rak…»
20:39 MadcapJake [Coke]: but it seems to not work in my patch https://github.com/MadcapJake/rakudo/​blob/nom/src/Perl6/Compiler.nqp#L266
20:40 [Coke] nqp-m: { nqp::die("eek") ; CATCH { nqp::say("here?")} }
20:40 camelia nqp-moarvm: OUTPUT«here?␤»
20:40 [Coke] ^^
20:40 MadcapJake hoelzro: but it runs some parts of the try block, and just crashes at L257
20:41 El_Che ugexe: the doc make it sound like it's a 1 to 1 sugar replacement: "Because looping over a channel in this manner is a common pattern there is a simpler functional syntax to do this"
20:41 [Coke] maybe it's not an exception but something worse.
20:41 hoelzro MadcapJake: using $super(...) as the final stmt in the CATCH block would work fine in Perl 6, but I don't know about NQP
20:42 MadcapJake hoelzro: but that catch block runs, the code prior to the catch is what isn't running
20:44 El_Che I'll create two example classes and create a bugreport in case it is one
20:44 hoelzro MadcapJake: it's not crashing for me
20:44 _nadim joined #perl6
20:49 _nadim joined #perl6
20:52 El_Che ugexe: any idea in what repo I should report the "bug"? in the doc because it doesn't work as described?
20:53 RabidGravy El_Che it is possible the code changed under the doc
20:53 RabidGravy which exact example>
20:54 El_Che Let me link to the rewritten examples with the 2 behaviours:
20:56 El_Che RabidGravy: this is the "buggy" behaviour: http://paste.scsys.co.uk/50243​9?hl=on&amp;submit=Format+it!
20:58 El_Che RabidGravy: expected behaviour: http://paste.scsys.co.uk/50244​2?hl=on&amp;submit=Format+it!
20:59 El_Che RabidGravy: both are almost verbatim from the examples on http://doc.perl6.org/language/concurrency#Channels
21:02 MadcapJake hoelzro: no it doesn't crash but does it find linenoise? tab-completions/history don't work with my fork
21:03 hoelzro MadcapJake: try this patch: https://gist.github.com/ho​elzro/f6ef23c1234377cf7b4e
21:04 nine Would it be ok to store the lexpad instead of module_ctx?
21:05 RabidGravy no that is definitel weird, not even sure how that could happen
21:06 FROGGS nine: what are you talking about?
21:08 MadcapJake hoelzro: ok running make now
21:08 _mg_ joined #perl6
21:09 hoelzro also, we should only be doing the if $ctx { ... } stuff if we have linenoise
21:09 hoelzro either that, or unconditionally set up $!completions
21:11 nadim joined #perl6
21:12 nowan joined #perl6
21:12 cdg joined #perl6
21:12 cdg joined #perl6
21:12 Hotkeys can't wait for a perl 6 linter so that I can know I forgot semicolons (see: almost every time I add things to things) before I try and compile
21:13 Hotkeys /run
21:13 hoelzro MadcapJake: I see you also have some experience with pygments; wanna help me improve the perl 6 pygments lexer? =)
21:13 nine FROGGS: 21:34 < donaldh> nine: the slot is CompUnit::Handle.module_ctx
21:14 nine FROGGS: if storing the context in an attribute is a no go, maybe referencing the lexpad is ok?
21:14 MadcapJake yeah sure! I didn't know there was one already
21:15 hoelzro yeah, I wrote one back in 2013, but I haven't been very good about updating it =/
21:15 FROGGS nine: I came to the same conclusion just minutes ago btw (the first pasted line)
21:15 hoelzro I have, however, been taking notes on how Perl 6 has evolved since my last update
21:15 d^_^b joined #perl6
21:15 d^_^b joined #perl6
21:15 hoelzro so it should be a matter of sanity checking my notes and applying the changes
21:16 hoelzro I paused because I wanted a perl6/syntax repo to be a central repo off of which all syntax highlighters could be based
21:16 hoelzro and I didn't follow through with that =/
21:16 MadcapJake hoelzro: placing `nqp::say` before and after the call to $!linenoise on L257, it seems the error is happening inside that sub.  I just don't understand why it would work inside an `if` but *not* work inside a `try`.  is there something I'm missing about how `try` works?
21:16 FROGGS nine: using the lexpad instead might work
21:16 nine FROGGS: I have a theory: %?RESOURCES is a Distribution::Resource object that references the CompUnit::Repository which has a %.loaded hash that references CompUnits containing CompUnit::Handles referencing the contexts
21:17 FROGGS nine: aye
21:17 nine FROGGS: that's why suddenly module_ctx in CompUnit::Handle is an issue
21:17 FROGGS nine: though Distribution::Resource.repo is in fact a CompUnitRepo, not a CompUnit::Repository
21:17 hoelzro MadcapJake: which `if` does it work inside?
21:17 MadcapJake sure, I don't see it being too hard, most of the regexes from language-perl6fe you should just be able to plop right into a pygments lexer too, there's a few differences in their regex engine but it wouldn't be too hard to work it out
21:17 nine FROGGS: you sure?
21:18 MadcapJake hoelzro: the one currently in master
21:18 hoelzro FROGGS, nine: how will one add files (ex. .so files) to %?RESOURCES?
21:18 FROGGS nine: rakudo/src/core/Distribution.pm:50:        self.new(:repo(CompUnitRepo.new(%data<repo>)), :dist-id(%data<dist-id>))
21:18 flussence Hotkeys: the trick is writing your code so it doesn't *need* semicolons 😉
21:18 hoelzro MadcapJake: ah, if $!linenoise ?
21:18 MadcapJake yeah
21:18 nine CompUnitRepo.new creates CompUnit::Repository objects
21:19 FROGGS hoelzro: add them to META6.json? in the resource section
21:19 hoelzro FROGGS: ah, duh =/
21:19 hoelzro thanks
21:19 timotimo tony-o: you around? shall we try to debug this problem? (though i may be intermittently AFK for a bit longer)
21:19 FROGGS nine: ohh, I see
21:19 hoelzro hmm...how will that work for .so/.dll? since it varies by OS
21:19 hoelzro or will one have to generate a META.info file at install time?
21:19 MadcapJake maybe this isn't really an issue that should be fixing, because hopefully the .so files will just be there and we won't need to worry about that exception (the one that causes the repl to just crash)
21:19 nine FROGGS: CompUnitRepo is just what's left of its former self
21:19 El_Che in case someone wants to comment on the Channel + (uwwanted) Class Instance shared state: https://github.com/perl6/doc/issues/223
21:20 MadcapJake i'm pretty sure the only reason the repl will crash (in master) is if linenoise the module is present but linenoise the shared object file is not
21:20 hoelzro that would be a good thing to test
21:20 hoelzro esp. in light of the panda changes not installing liblinenoise.so
21:21 FROGGS hoelzro: we'll think about that
21:21 hoelzro graceful failure would be nice
21:21 hoelzro FROGGS: cool, thanks!
21:21 MadcapJake yeah but I can't seem to decipher how to *not* get a try to fail, even with the so file present
21:22 hoelzro did you try my patch?
21:22 MadcapJake yeah
21:22 MadcapJake same problem, the problem is inside the sub $!linenoise
21:22 hoelzro hmm
21:22 hoelzro what's the error you're getting?
21:22 MadcapJake silence :P
21:22 MadcapJake I think the catch is eating the error
21:23 MadcapJake but without the try/catch, it works xD
21:23 MadcapJake (except when the .so file is missing)
21:23 hoelzro how odd
21:23 hoelzro so the CATCH gets nothing?
21:23 [Coke] SILENCE1
21:24 MadcapJake the catch might be getting something, but I'm just ignoring it, I could print it of course :P
21:24 MadcapJake what's the nqp way to print an error?
21:24 hoelzro nqp::say("my error: " ~ $_);
21:24 MadcapJake $! or $_?
21:24 MadcapJake k
21:27 FROGGS nine: hmmm, keeping the lexpad around instead of the module_context fails early here
21:27 RabidGravy El_Che, there's a bug in there with the counter being shared, really don't quite know how though
21:27 lestrrat joined #perl6
21:28 MadcapJake hoelzro: "cannot numify this"
21:28 [Coke] .seen soh_cah_toa
21:28 hoelzro interesting
21:28 yoleaux I haven't seen soh_cah_toa around.
21:28 FROGGS nine: ups, did sometihng silly
21:29 hoelzro I wonder if it's in the sorted_set_insert code
21:29 nine FROGGS: maybe I can hack a bit in ~ 50 minutes, depending on my girlfriend going to bed or not ;)
21:29 MadcapJake hoelzro: no the error is printed after that
21:29 FROGGS nine: np, I'm already at it :o)
21:29 hoelzro hmm
21:30 MadcapJake hoelzro: i put a say right befor the call the linenoise, and it prints, then the error prints
21:30 hoelzro MadcapJake: wanna push up what you have?
21:30 d^_^b joined #perl6
21:30 d^_^b joined #perl6
21:31 MadcapJake yeah, i just tried `nqp::say($!linenoise)` and it just gives me a blank line, not sure what if that's expected behavior or not xD
21:32 hoelzro hmm...I don't know if you can rely on code objects (esp. those from Perl 6 land) to stringify well in NQP
21:32 El_Che RabidGravy: there is an uglier bug then, but I wanted to make the example simple. When you create second instance, the first instance run fine and I can retrieve results (through await of just by providing a data structure to the loop). However, for the second instance, the channel ran ok (it got the info from the file), but I wasn't able to retrieve any data from the loop (empty result even if the data could be printed in the loop).
21:33 MadcapJake hoelzro: yeah i kind of thought that, but just wanted to try for good measure
21:33 MadcapJake is there an equivalent .WHAT in nqp?
21:33 dalek rakudo-star-daily: aab1da6 | coke++ | log/ (2 files):
21:33 dalek rakudo-star-daily: today (automated commit)
21:33 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/aab1da621f
21:33 xtreak joined #perl6
21:33 RabidGravy it seems that there are two separate channels and the two channels are getting the expect values, it's just the same counter is being incremented
21:34 RabidGravy which is properly strange
21:34 MadcapJake hoelzro: https://github.com/MadcapJake/rakudo/bl​ob/686c3fe73d9484cd0b9fb2da9efc20ba626f​d3b8/src/Perl6/Compiler.nqp#L257-L260
21:34 El_Che RabidGravy: yes. That correct. And also, the second channel always get an empty result.
21:34 [Coke] .tell pmurias https://github.com/coke/perl6-roast-da​ta/blob/master/log/nqp.js_summary.out Cannot find module 'tap', so everything dies.
21:34 yoleaux [Coke]: I'll pass your message to pmurias.
21:35 hoelzro MadcapJake: nqp::what
21:35 MadcapJake oh sweet! i'll give that a try then
21:35 FROGGS MadcapJake: 'say $a.WHAT' translates to 'nqp::say($a.HOW.name($a))' in nqp
21:35 hoelzro nqp::say(nqp::what($obj).HOW.name(nqp::what($obj)) can be handy
21:35 hoelzro oh, that's good to know
21:36 hoelzro MadcapJake: oh, where's Linenoise.pm located?
21:37 hoelzro oh, I see the problem!
21:37 RabidGravy El_Che, it is therefore not a doc issue but an actual bug
21:37 hoelzro MadcapJake: https://github.com/MadcapJake/rakudo/​blob/686c3fe73d9484cd0b9fb2da9efc20ba​626fd3b8/src/Perl6/Compiler.nqp#L269
21:37 MadcapJake hmm, that's a good question, where will it look? I didn't `make install`, will it still look in the usual locations?
21:37 hoelzro see the problem?
21:37 MadcapJake do I need a ~
21:37 hoelzro yup =)
21:38 MadcapJake oh lol wow, just old(re: bad) habits
21:38 FROGGS nine: sadly using the lexpad there isnt enough... a PseudoStash also has an attribute with a context in it
21:39 hoelzro I wonder...would --ll-exception have revealed the location?
21:39 * hoelzro is ashamed it took him this long to remember his good friend --ll-exception
21:40 dalek nqp: e4912e9 | coke++ | t/qregex/rx_charclass:
21:40 dalek nqp: Untodo passing test.
21:40 dalek nqp:
21:40 dalek nqp: (passes on moar, jvm, moar-nojit)
21:40 dalek nqp: review: https://github.com/perl6/nqp/commit/e4912e9170
21:41 * [Coke] sees the jvm is super unhappy again.
21:42 masak hoelzro: I keep forgetting about --ll-exception, too
21:42 vendethiel joined #perl6
21:43 hoelzro masak: that makes me feel a little better =)
21:43 hoelzro MadcapJake: have you looked at jnthn's NQP and rakudo hacking presentation?
21:44 Begi joined #perl6
21:45 MadcapJake hoelzro: no i should do that, where's it at
21:45 hoelzro https://github.com/edumentab/r​akudo-and-nqp-internals-course
21:45 hoelzro I also did a screencast about rakudo hacking, if you like screencasts
21:45 MadcapJake wow this is epic
21:46 timotimo i want to do screencasts, too
21:46 hoelzro https://www.youtube.com/watch?v=adUdmol7cLU
21:46 hoelzro timotimo: I've been thinking about trying to do more
21:46 hoelzro I think it would be easier if there were a few of us rotating
21:46 timotimo mhm
21:46 hoelzro oh, duh, there are slides to go with that video
21:47 timotimo you will come up with topics? :)
21:47 hoelzro I can try =)
21:47 MadcapJake I'd be interested in doing some beginner Perl 6 screencasts
21:47 timotimo cool
21:47 hoelzro beginner ones are a good idea
21:47 timotimo do you have reasonable audio recording equipment?
21:48 hoelzro I do not =/
21:48 hoelzro ah, here are the slides: https://docs.google.com/presentation/d/1JVJf​NlCQL7crJytbKsdlf7Jw4c4dMScjogHLkZuOwcs/edit
21:48 MadcapJake yeah actually I do, I have a nice condenser mic and a big boom stand
21:48 timotimo cool
21:48 hoelzro is anyone doing http://adventofcode.com/? I thought walking through some of those using Perl 6 would be cool
21:49 timotimo i have a not completely cheap usb mic
21:49 MadcapJake hoelzro: I did day 3, and I'll do day 4 tonight
21:49 Zoffix Hotkeys, that's left as an exercise for the reader.
21:49 MadcapJake I did a grammar and actions class for day 3
21:49 hoelzro ha, same here!
21:49 hoelzro I wasn't able to do 4 with Perl 6 =/
21:49 MadcapJake :D it seemed like the perfect fir
21:49 MadcapJake fit*
21:49 hoelzro well, I *could've*
21:50 MadcapJake I haven't looked at 4 yet
21:50 hoelzro but by my estimate, it would've taken about 5 hours to run =/
21:50 timotimo urgh
21:50 timotimo lets optimize that?
21:50 MadcapJake hoelzro: the proper stringified $!linenoise error :P "cannot invoke this object"
21:51 timotimo ah, md5
21:51 hoelzro \o/
21:51 hoelzro timotimo: yeah, that was the bottleneck
21:52 timotimo did you fully parallelize it?
21:52 hoelzro it was so cool, too; I had the whole thing expressed as a lazy sequence
21:52 hoelzro I don't think so
21:52 hoelzro how would I do that?
21:52 hoelzro hyper?
21:52 timotimo hyper, my friend
21:52 timotimo i wonder if you can shell out faster than our own md5 impl can go
21:53 hoelzro ='(
21:53 hoelzro is Digest::MD5 pure perl6?
21:53 timotimo rthere is probably something with nativecall that can do md5
21:53 hoelzro that's what I'm thinking
21:53 timotimo there exists a pure p6 one
21:55 flussence the openssl module already in the ecosystem could probably have hash functions added
21:55 hoelzro *nod*
21:55 flussence if it doesn't already...
21:55 timotimo tighto
21:55 timotimo righto.
21:57 MadcapJake hoelzro: 'nqp::say($!linenoise.HOW.name($!linenoise));' prints NQPMu
21:58 hoelzro what about nqp::say($!linenoise.HOW.na​me(nqp::what($!linenoise))) ?
21:58 flussence huh, looks like OpenSSL just uses Digest::SHA
22:00 timotimo hm? why?
22:01 FROGGS .tell nine this is my patch which makes your example pass but breaks install_core_dist: https://gist.github.com/FR​OGGS/8d2235c0fdf5b70bd4be
22:01 yoleaux FROGGS: I'll pass your message to nine.
22:01 bzipitidoo joined #perl6
22:02 flussence https://github.com/sergot/openssl/blo​b/master/lib/OpenSSL/RSATools.pm6#L57 this bit here, I don't see anywhere else in the code that uses hashes of any sort. (looks like LHF if anyone wants to write an OpenSSL::Hash thing, which should give it a bit of a speedup :)
22:02 MadcapJake hoelzro: prints the same thing NQPMu
22:02 hoelzro =/
22:02 hoelzro oh
22:02 hoelzro well, $!linenoise might just be Mu
22:02 hoelzro this is because of the "cannot invoke this" error?
22:02 MadcapJake yeah
22:03 hoelzro well, here's what happened
22:03 hoelzro the Linenoise load failed, so $!linenoise is never initialized
22:03 hoelzro so it defaults to Mu
22:03 timotimo mhm
22:03 hoelzro and you can't call Mu =)
22:03 timotimo die early
22:04 timotimo nqpis extremely eager to give you NQPMu
22:04 masak if anyone is curious how it's going with 007, I just published an extensive roadmap to "v1.0.0": https://github.com/masak/0​07/blob/master/ROADMAP.md
22:04 masak (and if no-one's curious, I still did it.) :P
22:04 timotimo oooooh
22:05 masak also, I'm aware I'm up for p6advent tomorrow
22:05 timotimo uum masak
22:05 timotimo why go for 1.0.0
22:05 masak as I point out in paragraph 3... :)
22:05 timotimo why not get closer and closer to 0.0.7?
22:06 masak ahaha :P
22:06 MadcapJake hoelzro: I added comments showing the output https://github.com/MadcapJake/rakudo/bl​ob/nom/src/Perl6/Compiler.nqp#L257-L261
22:06 masak timotimo: the versions are mostly just internal, a way to semver ourslves a little, as it were.
22:06 hoelzro alright, that all makes sense
22:06 masak timotimo: since I don't see 007 as anything useful to the rest of the world, it's just a way to say "this is where we consider ourselves to be"
22:07 masak timotimo: and v1.0.0 has a certain significance, for better or worse.
22:07 * masak is also aiming to add a CHANGELOG file
22:07 jnthn Maybe v1.0.0 = we figured out everything needed for Perl 6 macros? ;)
22:10 jnthn Ah, I see there's some more intersting macro stuff after that... :)
22:10 masak yes, v1.0.0 is more in line with what's in Perl 6 spec *today*
22:10 masak except that 007 has already surpassed that recently because it has Qtrees \o/
22:11 jnthn :)
22:11 masak as a progress report on that, Qtrees are awesome. I'm totally sold on them. Perl 6 should have them, too.
22:11 [Coke] Does anyone have any NEW stuff that they think is going to land before Christmas? (because no)
22:11 masak just to be clear, we're not getting macros before Christmas :)
22:11 masak (in Perl 6)
22:11 timotimo macromas
22:12 [Coke] We have a ton of failures in spectest on moar, moar-jit, and jvm, and I really want a clean run on all 3 of our major platforms a week before christmas
22:12 masak well, they're there already, but they're not very impressive yet.
22:12 timotimo macaroons
22:12 jnthn [Coke]: New features? No. New semantics? Well, some of the outstanding xmas RTs are about that.
22:12 bzipitidoo Few days ago, I was looking at some examples of guillemets in the perl6 docs, and now I can't find them.  In https://doc.perl6.org/language/grammars , what does $/.make: $<pair>».made mean?
22:12 [Coke] masak: would you care to write up a prominent doc in the repo that notes features which are Experimental?
22:13 jnthn fwiw, I think the "earliest" syntax is going way, or at the very least will need a "use experimental".
22:13 timotimo that is a hyper op
22:13 [Coke] ... which, for now, is macros?
22:13 [Coke] jnthn: yes, that's fine.
22:13 jnthn I'll make sure to document supply/react/whenever before I do that.
22:13 timotimo we did not kick out earliest yet?
22:13 masak [Coke]: I'm not sure I know of any other features that are Experimental...
22:13 [Coke] You're fine, in general. I'm just making sure someone isn't working furiously to get something in under the wire that we dont know about.
22:14 [Coke] masak: me either, but you're only on the hook for that one. :)
22:14 timotimo is that in the ecosystem anywhere?
22:14 jnthn timotimo: No, I just remembered about it becaus somebody filed a bug report on it
22:14 jnthn :)
22:14 [Coke] we should also consider something like corelist.
22:14 timotimo oh!
22:14 [Coke] (assuming we have anything that meets that criteria)
22:15 RabidGravy jnthn, while you're care to look at El_Che's http://paste.scsys.co.uk/502439?tx=o​n&amp;hl=on&amp;submit=Format+it%21 ? something very strange there to my eye
22:15 RabidGravy while you're here that is
22:16 RabidGravy it seems the $ounter ends up shared somehow
22:16 bzipitidoo Still don't understand.  $<pair>.made is a member function, which returns... hmm.. a match object from the named rule or token called "pair"?  So, adding in the guillemet does what?
22:17 moritz bzipitidoo: $<pair> is short for $/<pair>
22:18 moritz bzipitidoo: so, it's a hash index into a Match object, and it returns another Match object, which is that of the subrule named 'pair'
22:18 jnthn RabidGravy: I suspect a closure handling bug, but given earliest is on the chopping block I'm not inclined to look into it much more :)
22:18 RabidGravy Is it getting rolled into react?
22:19 mspo do you need to use rx// to get the match object?
22:19 jnthn You already can .Supply a channel
22:20 jnthn So I think that whole method can become react { my $counter = 0; whenever $!file-in { say $counter++ } }
22:20 RabidGravy yeah
22:21 jnthn Which is a good bit neater :)
22:22 lucasb joined #perl6
22:22 RabidGravy yeah much nicer really
22:23 nine messages!
22:23 yoleaux 22:01Z <FROGGS> nine: this is my patch which makes your example pass but breaks install_core_dist: https://gist.github.com/FR​OGGS/8d2235c0fdf5b70bd4be
22:23 cygx jnthn: o/
22:24 cygx jnthn: re &open, what is :bin supposed to do nowadays?
22:24 cygx right now, it does nothing
22:24 cygx (ie it's an alias for enc => "utf8")
22:24 El_Che jnthn: in that case, I wont fill a bug against rakudo. I documented the bug here though: https://github.com/perl6/doc/issues/223
22:25 nine FROGGS: I guess it passes because the repo no longer keeps track of the loaded CompUnits?
22:25 RabidGravy I'll remove the earliest stuff from the doc if it's going to go
22:25 RabidGravy and make a nicer example
22:25 bzipitidoo If I understand right, $/ is the most recently used (or matched?) rule, while $/<something> is the match object (most recent one?) from the rule "something".  And it can be flattened into a string with ~$/.   What does it mean to hyper op the "made" function?  $<pair> is a container for multiple objects, and the made function will be called on each one?
22:26 El_Che 23:18 < jnthn> RabidGravy: I suspect a closure handling bug, but given earliest is on the chopping block
22:26 El_Che I'm not inclined to look into it much more :)
22:26 El_Che 23:18 < RabidGravy> Is it getting rolled into react?
22:26 El_Che 23:19 < mspo> do you need to use rx// to get the match object?
22:26 El_Che 23:19 < jnthn> You already can .Supply a channel
22:26 El_Che 23:20 < jnthn> So I think that whole method can become react { my $counter = 0; whenever $!file-in { say
22:26 El_Che $counter++ } }
22:26 El_Che damn
22:26 El_Che sorr
22:26 El_Che y
22:27 jdv79 is there an echo in here?
22:28 flussence there's a print
22:28 masak jdv79: well, it is an echo chamber... :P
22:29 El_Che I hear brother, other, ther, er ...
22:30 jdv79 masak: what did you mean a few days ago about better or different when and default?
22:31 El_Che jnthn, RabidGravy: the react syntax looks neat. The earliest block isn't shorter (nor clearer) that the classic poll block, imho
22:33 masak jdv79: jnthn++ recently updated the spec to conform with reality, which was... more realistic (and better) than the spec used to be.
22:33 RabidGravy yeah, it's much more succinct
22:33 masak jdv79: turns out that people were using `when` in unanticipated (but reasonable-in-retrospect) ways
22:33 masak jdv79: and I just found the story interesting.
22:33 lucasb I just tried to bootstrap panda and it is hanging on the "Testing JSON::Fast"... anyone knows anything about this?
22:34 masak jdv79: it's one thing to spec something, but another thing to see it work out in practice, and adapt accordingly.
22:34 lucasb I tried to run manually run the t/01-parse.t json test file and it hangs there...
22:34 jdv79 oh ok
22:34 n0tjack joined #perl6
22:38 lucasb perl6 -e 'use JSON::Fast; from-json(q/{ "a : false }/)'  # can anyone test this, please?
22:39 RabidGravy [jonathan@coriolanus perl6]$  perl6 -e 'use JSON::Fast; from-json(q/{ "a : false }/)'
22:39 RabidGravy Invalid string index: max 13, got 14
22:39 Zoffix That's invalid json
22:39 Zoffix Missing "
22:39 lucasb RabidGravy: thanks! that's different from my run... it just hangs
22:40 Zoffix .oO( corio... anus? :S )
22:40 lucasb Zoffix: the intention is to test invalid json :)
22:40 lucasb it's on JSON::Fast's tests...
22:40 RabidGravy with the missing " supplied it works
22:40 timotimo oh, that fails in JSON::Fast?
22:40 timotimo i mean, it hangs?
22:40 Zoffix Doesn't hang for me
22:41 lucasb timotimo: It's hanging in here... idk if it's just on my end
22:41 timotimo give me all the info you've got! :)
22:41 timotimo Failed to open file /home/timo/perl6/install/share/perl6/site/di​st/D0C5662A2C583B8BBAA56ECBA9C9B7568841EFC3: no such file or directory
22:41 lucasb rakudo version 2015.11-357-g587f700 built on MoarVM version 2015.11-34-gc3eea17  <-- I'm here :)
22:41 timotimo well, that's not good
22:41 timotimo This is rakudo version 2015.11-323-gf0a96da built on MoarVM version 2015.11-23-gde68134 implementing Perl v6.b.
22:41 geraud joined #perl6
22:41 timotimo you're slightly ahead of me
22:41 timotimo let me get up to latest
22:42 jnthn cygx: Think I'm too tired to figure out :bin right now...
22:43 jdv79 masak: in Jul?  that's not "recenntly" in my mind.
22:44 jj joined #perl6
22:44 jnthn cygx: Maybe it should just forbid doing string I/O
22:45 masak jdv79: I'm sorry, I'm a first-time parent. time has no meaning for me right now.
22:46 raiph joined #perl6
22:47 jdv79 haha
22:48 El_Che masak: so the baby thing is a metaphore for p6? :)
22:48 jnthn 'night, #perl6
22:49 cygx o/
22:49 masak 'night, jnthn
22:49 El_Che bye jnthn
22:49 masak El_Che: no, there's an actual baby in my apartment.
22:49 masak he's very cute
22:49 El_Che masak: congratulations :-
22:49 El_Che :)
22:50 El_Che been there :)
22:50 El_Che I am still tired :)
22:50 hoelzro night jnthn
22:52 RabidGravy toodlepip
22:52 lucasb timotimo: I forgot to mention, I was testing the JSON::Fast that is bundled with panda repo. idk if it differs from your's repo current
22:52 timotimo aha!
22:52 timotimo yes, it does
22:54 masak El_Che: thanks :)
22:54 timotimo aye, good luck and have fun with babby raising :)
22:54 nine .tell FROGGS I could fix the install-core-dist.pl issue. Sadly it's really the disabling of %.loaded and %.seen that makes my test work, confirming our working theory.
22:54 yoleaux nine: I'll pass your message to FROGGS.
22:54 masak for those of you with perl6advent access, there's now a scheduled tomorrow's advent post to review :D
22:55 Skarsnik damn porting p5 class to p6 is really nice x)
22:57 jabus joined #perl6
22:57 dalek rakudo/nom: 4cecd01 | TimToady++ | docs/announce/2015.12.md:
22:57 dalek rakudo/nom: Update credits with latest info
22:57 dalek rakudo/nom:
22:57 dalek rakudo/nom: Updated with preferences from people who expressed one.  Now with
22:57 dalek rakudo/nom: alternate orthographies where we could find them, and with non-breaking
22:57 dalek rakudo/nom: spaces in the middles of names so nobody has to get their name broken.
22:57 dalek rakudo/nom: An attempt to sort Cyrillic and Hebrew into reasonable spots.
22:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4cecd01641
22:58 masak Skarsnik: we're annoying that way, by being really nice :P
22:58 masak (in more senses than one)
23:00 * masak is surprised to discover that he's the main commenter on perl6advent
23:00 flussence lucasb: hanging with 0% cpu or 100%?
23:00 Skarsnik <> replace (:?) for non capturing group?
23:00 cygx Skarsnik: []
23:02 lucasb flussence: 100% cpu
23:04 flussence ok, looks like it's not the hang I've been seeing in other modules then. Never mind...
23:05 dalek rakudo/nom: 5e49279 | TimToady++ | docs/announce/2015.12.md:
23:05 dalek rakudo/nom: expand Sgeo
23:05 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5e49279a43
23:05 lucasb timotimo: I just did 'git clone https://github.com/timo/json_fast.git JSON__Fast' on top of panda's bundled version and the issue persists
23:05 nine .tell FROGGS I got a reasonable workaround! Since we may not keep the lexpad either, we just don't. After merging the globals I clean the CompUnit::Handle. We have no further use for it anyway. At least none that I'm aware of.
23:05 yoleaux nine: I'll pass your message to FROGGS.
23:06 Skarsnik hm, Method 'post' not found for invocant of class 'HTTP::UserAgent'
23:06 Skarsnik , that's weird. Does that mean it does not find it or does not find a candidate?
23:07 timotimo lucasb: i'm not sure that'll help; wouldn't that confuse the fuck out of git?
23:07 timotimo lucasb: there's a script inside panda that you can supply "ext/JSON__Fast" to and it'll do the update properly for you
23:08 lucasb timotimo: ah, ok. I didn't know that. thanks
23:09 timotimo i'm surprised git didn't complain "that directory already exists"
23:09 lucasb I 'rm -rf' it first :)
23:09 timotimo ah!!
23:09 nine .tell FROGGS ok, my simple test works, but I still get the same failure in Inline::Perl5 :(
23:09 yoleaux nine: I'll pass your message to FROGGS.
23:10 Skarsnik Ooh post is new in UA xD
23:12 * masak gets lost in old perl6advent posts
23:12 timotimo Invalid string index: max 12, got 260
23:12 timotimo HOW IN THE HELL %)
23:13 timotimo nqp-m: nqp::eqat("hi there", '"', 1000)
23:13 camelia nqp-moarvm: ( no output )
23:13 timotimo oh, it doesn't throw when out of range!
23:13 timotimo perl6-m: use nqp; nqp::eqat("hi there", '"', 1000)
23:13 timotimo that explains it!
23:14 timotimo bleh. i don't want to put a bounds check in there :(
23:14 timotimo damn, all those eqats i use :|
23:16 timotimo perl6-m: use nqp; say nqp::eqat("hi there", '"', 1000).perl
23:17 timotimo well, all it can really do is say "no"
23:17 lucasb it says 0
23:17 DrPete_ left #perl6
23:17 timotimo it didn't say anything yet; does it hang for some reason?
23:17 lucasb I think "perl6-m:" doesn't work in camelia
23:18 timotimo m: say "test"
23:18 camelia rakudo-moar 5e4927: OUTPUT«test␤»
23:18 timotimo tha's it!
23:18 timotimo i'm a bit tired
23:18 timotimo m: use nqp; say nqp::eqat("hi there", '"', 1000).perl
23:18 camelia rakudo-moar 5e4927: OUTPUT«0␤»
23:18 timotimo right. since i'm checking for eqat '"' and increasing the pos over and over until i it True, that's not going to work
23:23 cognominal m:  my $code = { say 'hi' };  say ( '' ~~ / $code/ ).perl  # yet another corner case.
23:23 camelia rakudo-moar 5e4927: OUTPUT«hi␤P6opaque: no such attribute '$!pos'␤  in block <unit> at /tmp/5P8eqCjiYH:1␤␤»
23:23 cognominal m:  my $code = { say 'hi' };  say ( 'a' ~~ / a $code/ ).perl  # yet another corner case.
23:23 camelia rakudo-moar 5e4927: OUTPUT«hi␤P6opaque: no such attribute '$!pos'␤  in block <unit> at /tmp/UyXIGBhdRW:1␤␤»
23:23 timotimo cognominal: well, $code doesn't return a Cursor, so it asplodes
23:24 cognominal probably want a token or some such
23:24 cognominal yes
23:24 timotimo i wonder about the performance implications of emitting a typecheck there
23:25 cognominal m:  token  {  a' };  say ( 'a' ~~ /  $code/ ).perl
23:25 camelia rakudo-moar 5e4927: OUTPUT«5===SORRY!5=== Error while compiling /tmp/U3kJgqtpAr␤Unable to parse expression in single quotes; couldn't find final "'" ␤at /tmp/U3kJgqtpAr:1␤------> 3 {  a' };  say ( 'a' ~~ /  $code/ ).perl7⏏5<EOL>␤    expecting any of:␤        sing…»
23:25 timotimo yeah, you started a quote inside that token
23:25 timotimo also, the token floats in the air
23:25 Skarsnik my @tab; @tab.push({foo => "bar"}); say @tab.tail<foo>;
23:25 Skarsnik m: my @tab; @tab.push({foo => "bar"}); say @tab.tail<foo>;
23:25 camelia rakudo-moar 5e4927: OUTPUT«Type Seq does not support associative indexing.␤  in block <unit> at /tmp/jEr_5BGSMo:1␤␤Actually thrown at:␤  in block <unit> at /tmp/jEr_5BGSMo:1␤␤»
23:25 cognominal m:  token  {  'a' };  say ( 'a' ~~ /  $code/ ).perl
23:25 camelia rakudo-moar 5e4927: OUTPUT«5===SORRY!5=== Error while compiling /tmp/liJVqrHvCr␤Variable '$code' is not declared. Did you mean 'Code'?␤at /tmp/liJVqrHvCr:1␤------> 3token  {  'a' };  say ( 'a' ~~ /  7⏏5$code/ ).perl␤»
23:25 timotimo Skarsnik: i think you'll find that tail returns a list-like
23:25 cognominal oops
23:26 timotimo m: my @tab; @tab.push({foo => "bar"}); say @tab.tail[0]<foo>;
23:26 camelia rakudo-moar 5e4927: OUTPUT«bar␤»
23:26 cognominal m:  my $code = token  {  a' };  say ( 'a' ~~ /  $code/ ).perl
23:26 camelia rakudo-moar 5e4927: OUTPUT«5===SORRY!5=== Error while compiling /tmp/OSoYxsl327␤Unable to parse expression in single quotes; couldn't find final "'" ␤at /tmp/OSoYxsl327:1␤------> 3 {  a' };  say ( 'a' ~~ /  $code/ ).perl7⏏5<EOL>␤    expecting any of:␤        sing…»
23:26 cognominal oops
23:26 cognominal m:  my $code = token  {  'a' };  say ( 'a' ~~ /  $code/ ).perl
23:26 camelia rakudo-moar 5e4927: OUTPUT«Match.new(ast => Any, list => (), hash => Map.new(()), orig => "a", to => 1, from => 0)␤»
23:26 Skarsnik damn it's a bit sad for tail with no argument
23:26 cognominal at long last
23:26 Skarsnik *parameter
23:27 cognominal m:  my &code = token  {  'a' };  say ( 'a' ~~ /  &code/ ).perl
23:27 camelia rakudo-moar 5e4927: OUTPUT«Nil␤»
23:27 Skarsnik I had expect to return the last when you don't put a number
23:27 timotimo m: say <1 2 3>.last
23:27 camelia rakudo-moar 5e4927: OUTPUT«Method 'last' not found for invocant of class 'List'␤  in block <unit> at /tmp/OcIOVaPtXy:1␤␤»
23:27 timotimo hmm hmm
23:27 cognominal I suppose &code means   <?> & code
23:28 timotimo oh?
23:28 lucasb m: say <a b c>.tail
23:28 camelia rakudo-moar 5e4927: OUTPUT«(c)␤»
23:30 ggoebel7 joined #perl6
23:30 Skarsnik hm, tail does not even work on my rakudo version.
23:30 lucasb I like this image, from that cool haskell book: http://s3.amazonaws.com/lyah/listmonster.png
23:30 Skarsnik root@testperl6:~/piko/Ferrel# perl6 -e ' my @tab; @tab.push({foo => "bar"}); say @tab.tail[0]<foo>;'
23:30 Skarsnik Cannot call tail(Array: ); none of these signatures match:
23:30 Skarsnik (Any:D $: Int:D $n, *%_)
23:31 timotimo Skarsnik: it's quite new
23:31 timotimo that must be before you could call tail with no argument
23:32 Skarsnik I would not mind a last x)
23:40 Skarsnik pff I hate you NC: This representation (P6str) does not support attribute storage
23:41 masak m: sub foo() { my %*d = CALLERS::<%*d>.clone; %*d<another-val> = 2; say %*d }; my %*d = { :val(1) }; foo(); say %*d
23:41 camelia rakudo-moar 5e4927: OUTPUT«another-val => 2, val => 1␤val => 1␤»
23:41 masak \o/
23:44 timotimo m: my %*d = :val(1); say %*d.perl
23:44 camelia rakudo-moar 5e4927: OUTPUT«{:val(1)}␤»
23:44 timotimo m: my %*d = :1val; say %*d.perl
23:44 camelia rakudo-moar 5e4927: OUTPUT«{:val(1)}␤»
23:44 timotimo didn't we warn about %foo = { ... } at some point?
23:45 Skarsnik hm, wait a Str you get from a native like my $a = funcC(); does it get GC?
23:51 lucasb m: my %*h = {a=>1,b=>2}; say %*h
23:51 camelia rakudo-moar 5e4927: OUTPUT«a => 1, b => 2␤»
23:51 lucasb m: my %h = {a=>1,b=>2}; say %h
23:51 camelia rakudo-moar 5e4927: OUTPUT«Potential difficulties:␤    Useless use of hash composer on right side of hash assignment; did you mean := instead?␤    at /tmp/XcZx1mx0WK:1␤    ------> 3my %h = {a=>1,b=>2}7⏏5; say %h␤a => 1, b => 2␤»
23:51 timotimo hah
23:51 lucasb seems the star makes a difference
23:51 timotimo lucasb: do you want to rakudobug this?
23:51 timotimo "assigning to a dynamic hash variable doesn't check for useless hash composer on RHS" or so
23:51 lucasb hmm.. can you do it? timotimo++ :)
23:52 geekosaur Skarsnik, I would hope that you get an unmarshaled string subject to garbage collection, not a wrapped C string. because you can't gc that --- you often have no control over its allocation or freeing
23:53 pierre-vigier joined #perl6
23:54 geekosaur (also because a wrapped C string would be significantly different from a native Perl 6 Str)
23:56 lucasb idk what was the rationale for choosing one way or the other, but if 'my @a = [...]' works, then maybe intuitively one would expect that 'my %h = {...}' also would

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

Perl 6 | Reference Documentation | Rakudo