»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by masak on 28 November 2015.
00:00 skids joined 00:04 peteretep joined
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
Do we know anyone suitable
?
tony-o_ ===SORRY!=== Error while compiling /Users/tonyo/projects/perl6-chaos/test/lib/A.pm6 00:08
'use lib' may not be pre-compiled
00:09 spider-mario left 00:11 lucasb left
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␤␤»
MadcapJake what am I doing wrong? ^^^
geekosaur what did you want that to do? 00:12
00:12 yqt left
MadcapJake create a shaped array with size 1x1 :P 00:12
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;
camelia rakudo-moar 446ea7: OUTPUT«[[(1 1)]]␤»
geekosaur I meant more the assignment, since that looks like a scalar initializer
MadcapJake m: my @a[1;] = 1..1; say @a # there it is
camelia rakudo-moar 446ea7: OUTPUT«[1]␤»
MadcapJake m: my @a[1;1] = 1..1; say @a # there it is
camelia rakudo-moar 446ea7: OUTPUT«Assignment to array with shape 1 1 must provide structured data␤ in block <unit> at /tmp/gAQpi4VxDE:1␤␤»
MadcapJake I guess you have to leave the second part off if you want 1x1
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␤␤»
tony-o_ the second one gives you a 1x^Inf
m: my @a[1;] = 1..5; @a.say;
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␤␤»
tony-o_ oh maybe not
m: my @a[1;] = $(1..5); @a.say;
camelia rakudo-moar 446ea7: OUTPUT«[1..5]␤»
MadcapJake huh that seems wrong 00:15
m: my @a[1;5] = $(1..5); @a.say;
camelia rakudo-moar 446ea7: OUTPUT«[[1..5 (Any) (Any) (Any) (Any)]]␤»
MadcapJake m: my @a[5;1] = $(1..5); @a.say;
camelia rakudo-moar 446ea7: OUTPUT«[[1..5] [(Any)] [(Any)] [(Any)] [(Any)]]␤»
MadcapJake oh the problem is the range operator I think
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␤␤»
ShimmerFairy m: my @a[1;1] = $[1];
camelia ( no output )
MadcapJake m: my @a[1;5] = |(1..5); @a.say;
camelia rakudo-moar 446ea7: OUTPUT«Assignment to array with shape 1 5 must provide structured data␤ in block <unit> at /tmp/jXzh7ovcah:1␤␤»
ShimmerFairy that works :)
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␤␤»
MadcapJake m: my @a[1;1] = @(1); @a.say;
camelia rakudo-moar 446ea7: OUTPUT«Assignment to array with shape 1 1 must provide structured data␤ in block <unit> at /tmp/T73k91OUAB:1␤␤»
MadcapJake Why is it the item container? o_O
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␤␤»
MadcapJake m: my @a[1;1] = |@(1); @a.say;
camelia rakudo-moar 446ea7: OUTPUT«Assignment to array with shape 1 1 must provide structured data␤ in block <unit> at /tmp/Or3enoS1P2:1␤␤»
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␤␤»
geekosaur m: my @a[1;1] = (1;); say @a
camelia rakudo-moar 446ea7: OUTPUT«Assignment to array with shape 1 1 must provide structured data␤ in block <unit> at /tmp/vyad1uMkFc:1␤␤»
geekosaur annoying
MadcapJake m: my @a[1;1]; @a[0;0] = 1; say @a # this works :P 00:20
camelia rakudo-moar 446ea7: OUTPUT«[[1]]␤»
tony-o_ m: my Promise $peter-pie .=new; start { qqx<echo "hi">; }; await $peter-pie; 00:30
00:30 Psyche^_ joined
camelia rakudo-moar 446ea7: OUTPUT«(timeout)» 00:30
tony-o_ really love not getting the same results as cam 00:31
00:31 cognominal left
nadim jnthn: do object get moved in memory? EG: is .WHERE not guarantied to be the same from call to call? 00:34
00:34 Psyche^ left 00:35 liztormato joined, lostinfog left 00:36 liztormato left, cdg left, csd_ joined 00:38 telex left
diakopter nadim: objects do get moved 00:38
00:39 Peter_R left 00:40 telex joined 00:41 atta left 00:42 atta joined
dalek osystem: 6fef077 | cbk++ | META.list:
Update META.list

Added WebService::GoogleDyDNS module to the ecosystem.
00:43
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 00:45 lustlife` joined
leont MadcapJake: I use dynamic variables for that (e.g. $*foo) 00:46
If there's another way I'd be most interested, but I haven't seen anything else I tried work
MadcapJake ok cool, thanks leont! 00:47
00:48 lustlife left
diakopter nadim: why :) 00:51
(what do you want to use the WHERE for)
00:52 Actualeyes joined
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␤54418368␤54418368␤54418368␤»
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
tony-o_ m: .say for ^Inf;
00:53 tony-o_ is now known as tony-o
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 leont left
tony-o it's broken 00:53
diakopter tony-o: no, it's just taking a while to time out 00:54
(and gather your infinite output)
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␤25␤26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50␤51…»
tony-o i think it's just borked
00:54 cygx joined
tony-o m: .say for ^Inf; 00:54
oh there it goes
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
diakopter hehe
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␤25␤26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50␤51…»
rakudo-moar 446ea7: OUTPUT«3␤»
cygx MadcapJake: see above 00:55
AlexDaniel m: my @a[-1] 01:01
camelia rakudo-moar 446ea7: OUTPUT«Memory allocation failed; could not allocate 18446744073709551608 bytes␤»
AlexDaniel whoops…
diakopter hehe
AlexDaniel submits rakudobug…
diakopter I'm not sure it's a bug there
AlexDaniel diakopter: it should not attempt to allocate 18446744073709551608 bytes…
TimToady the only bug is taking -1 as unsigned 01:02
you *ought* to be able to ask for 18446744073709551608 bytes
though it's unlikely to work till we get 128-bit computers...
diakopter m: my @a[9**99**99] 01:03
camelia ( no output )
diakopter m: my @a[9**99**99]; say @a
camelia rakudo-moar 446ea7: OUTPUT«[]␤»
01:03 RabidGravy left
AlexDaniel and if you get the number right 01:03
You'll get “Index 3 for dimension 1 out of range (must be 0..-1000000001)”
TimToady m: say 9**99**99; # should arguably return Inf if it's gonna overflow 01:04
camelia rakudo-moar 446ea7: OUTPUT«0␤»
AlexDaniel TimToady: old bug
TimToady I suspected as much
m: say 9e0**99**99 01:05
camelia rakudo-moar 446ea7: OUTPUT«Inf␤»
TimToady m: say 99**99
camelia rakudo-moar 446ea7: OUTPUT«369729637649726772657187905628805440595668764281741102430259972423552570455277523421410650010128232727940978889548326540119429996769494359451621570193644014418071060667659301384999779999159200499899␤»
AlexDaniel rt.perl.org/Public/Bug/Display.html?id=125811 01:06
Hotkeys m: say 9i**99**99
camelia rakudo-moar 446ea7: OUTPUT«Inf-Inf\i␤»
Hotkeys say 9**99**99 + 9*99*99i 01:07
oops
say 9**99**99 + (9**99**99)i
oops
m: say 9**99**99 + (9**99**99)i
camelia rakudo-moar 446ea7: OUTPUT«0+0i␤»
Hotkeys spams 01:08
diakopter heh
Hotkeys m: say 9**99**99i
camelia rakudo-moar 446ea7: OUTPUT«0.0498082432721018+0.158343329285042i␤»
01:08 sufrostico joined
diakopter o_O 01:08
01:09 cpage_ joined
AlexDaniel m: say 42**i 01:09
camelia rakudo-moar 446ea7: OUTPUT«-0.827544370552052-0.561400315966787i␤»
TimToady you're stuck on the Mandelbrot
01:09 cpage_ left 01:11 sufrostico left
cygx o/ 01:11
01:11 cygx left 01:12 yeahnoob joined
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:13
TimToady well, then arguably it should return Nil, which is allowed to violate the contract 01:15
or a failure
ShimmerFairy
.oO(an Inf that works with all numeric types? That'd be a Christmas miracle!)
TimToady returning 0 is just gonna blow up a rocket someday
ShimmerFairy yeah, a fail-y value would be better
01:16 pierre-vigier joined
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
01:17 pierre-vigier left
TimToady that can also blow up the rocket, unless the pilot takes over :) 01:17
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 :)
*is a vlue
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:19
AlexDaniel ShimmerFairy: hm, are you sure that 0 is technically a valid result? 01:20
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
but probably not on a Kelvin thermometer :)
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
ShimmerFairy m: say 0 ** 2; # AlexDaniel: this is what I meant; since 0 is a valid numerical result, I'd prefer not overloading it
camelia rakudo-moar 446ea7: OUTPUT«0␤»
AlexDaniel ah right
damn it
m: say 0 ** 0 # was thinking about stuff like that…
camelia rakudo-moar 446ea7: OUTPUT«1␤»
ShimmerFairy m: say 0e0 ** 0e0 01:23
camelia rakudo-moar 446ea7: OUTPUT«1␤»
AlexDaniel m: say i ** 0
camelia rakudo-moar 446ea7: OUTPUT«1+0i␤»
Hotkeys What's wrong with that?
AlexDaniel Hotkeys: who said that there is something wrong? :) 01:24
Hotkeys idk
nobody
don't tell me how to live my life
Hotkeys scampers off
AlexDaniel m: say 2 ** 99999999999999999999999999999999999 # though this is definitely less than awesome
camelia rakudo-moar 446ea7: OUTPUT«0␤»
diakopter lol
dj_goku .tell Zoffix great advent post! I didn't know it was that simple to connect to IRC!
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 :)
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
Hotkeys I guess the overflows are though 01:26
ShimmerFairy Hotkeys: the overflows are special, 0**0 == 1 is just a math thing :) 01:27
Hotkeys woo math
ShimmerFairy TimToady: that's true, in fact I don't think abs($lhs) < 2 would ever fail [proof needed] 01:28
AlexDaniel m: my @a[-9223372036854775808,-2]; say +@a 01:33
camelia rakudo-moar 446ea7: OUTPUT«-9223372036854775808␤»
AlexDaniel that's fun! 01:34
turns out that on 64-bit you have to create 2-dimensional array to get that
01:35 pierre-vigier joined
AlexDaniel array with negative size! I wonder how many wonderful things you can do with that 01:35
“Index -10 for dimension 1 out of range (must be 0..-10000000000000001)” – awww, too bad! 01:38
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;␤»
Hotkeys boo
why are negative sizes okay but not negative indexes
m: my @a[-3];
camelia rakudo-moar 446ea7: OUTPUT«Memory allocation failed; could not allocate 18446744073709551592 bytes␤»
Hotkeys I lied
AlexDaniel Hotkeys: it is only OK if you get it to overflow correctly :X 01:40
mspo is IO::Socket built in?
Hotkeys I believe so
01:41 empT left
AlexDaniel m: my @a[0]; say +@a # I wonder what can you do with this 01:41
camelia rakudo-moar 446ea7: OUTPUT«0␤»
AlexDaniel m: my @a[0]; say @a.pick
camelia rakudo-moar 446ea7: OUTPUT«Nil␤»
AlexDaniel m: my @a[0]; say @a.pick(3)
camelia rakudo-moar 446ea7: OUTPUT«()␤»
Hotkeys just an empty array always
mspo how do I view its docs?
Hotkeys docs.perl6.org/type/IO::Socket 01:42
docs.perl6.org/type/IO::Socket::Async
mspo p6doc?
Hotkeys I assume Type::IO::Socket(::Async) 01:43
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␤␤»
mspo does that work for you?
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
but that's where it's located according to the source
pierre-vigier is there a way to apply a map on multi-dimensional array? 01:46
m: sub fct($x) { $x*2 }; my @a = [ 1,2,3 ]; say @a.map( &fct );
camelia rakudo-moar 446ea7: OUTPUT«(2 4 6)␤»
pierre-vigier m: sub fct($x) { $x*2 }; my @a = [ [1],[2],[3] ]; say @a.map( &fct );
camelia rakudo-moar 446ea7: OUTPUT«(2 2 2)␤»
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.
Hotkeys pierre-vigier: map a map?
AlexDaniel ShimmerFairy: well, it's ok if it said NYI 01:47
pierre-vigier that would be one solution :)
01:47 cpage_ joined
pierre-vigier the idea is in a neural network to apply a sigmoid function 01:47
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);
camelia rakudo-moar 446ea7: OUTPUT«[3 2 1]␤»
AlexDaniel hmm
ShimmerFairy AlexDaniel: beats me, jnthn would probably be the one to ask.
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␤␤»
Hotkeys m: sub fct($x) { $x*2 }; my @a = [ [1],[2],[3] ]; say @a.flatmap( &fct );
camelia rakudo-moar 446ea7: OUTPUT«(2 2 2)␤»
Hotkeys hm
AlexDaniel wait… What's the difference between reverse(@a) and @a.reverse? 01:50
Hotkeys I don't think there is a difference
just different syntax
mspo I think because the method signature is List:D: and the sub signature is *@list
docs.perl6.org/routine/reverse#class_List
AlexDaniel uhhh 01:51
Hotkeys or that
pierre-vigier sub fct($x) { $x*2 }; my @a = [ 1,2,3 ]; say @a.map( { .map( &fct ) } );
m: sub fct($x) { $x*2 }; my @a = [ 1,2,3 ]; say @a.map( { .map( &fct ) } );
camelia rakudo-moar 446ea7: OUTPUT«((2) (4) (6))␤»
AlexDaniel m: my @a[3;2]; say reverse(@a)
camelia rakudo-moar 446ea7: OUTPUT«Cannot access 2 dimension array with 1 indices␤ in block <unit> at /tmp/8ZACnJsBqM:1␤␤»
TimToady sub signature is +list 01:52
Hotkeys you could implement a magical recursive mapper function
01:52 uruwi left
Hotkeys and my magical i mean not very magical 01:52
s/my/by/
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?
although I can't figure out how
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)␤»
mspo oh a shaped array is different from an array 01:56
Hotkeys m: my @a[3] = 0..2; say @a.reverse;
camelia rakudo-moar 446ea7: OUTPUT«Cannot reverse a fixed-dimension array␤ in block <unit> at /tmp/n9eSA3wG5B:1␤␤»
Hotkeys m: my @a[3] = 0..2; say |@a.reverse;
camelia rakudo-moar 446ea7: OUTPUT«Cannot reverse a fixed-dimension array␤ in block <unit> at /tmp/busEzhNcw0:1␤␤»
Hotkeys m: my @a[3] = 0..2; say @a.values.reverse;
camelia rakudo-moar 446ea7: OUTPUT«(2 1 0)␤»
pierre-vigier m: multi fct(@m){ @m.map( { fct( $_ ); }); };multi fct($x) { $x*2 }; my @a = [ [1],[2],[3] ]; say @a.map( &fct );
camelia rakudo-moar 446ea7: OUTPUT«((2) (4) (6))␤»
Hotkeys ayy
close enough 01:57
01:57 empT joined
mspo Hotkeys: thanks 01:57
Hotkeys not sure if that's as useful for multi dimensions
mspo basically- don't use @a[3] normally :)
Hotkeys :p
Not sure why you can't reverse a fixed array 01:58
but I'm no expert
mspo m: my @a[3]; say @a.WHAT;
camelia rakudo-moar 446ea7: OUTPUT«(Array)␤»
diakopter vm: my @a[3]; say @a.^methods
mspo huh 01:59
diakopter m: my @a[3]; say @a.^methods
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…»
mspo mine says (ShapedArray[Mu]})
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
smells like a bug :)
diakopter seems like too specialized an error message for that 02:01
it doesn't say "NYI"
02:01 empT left
ShimmerFairy diakopter: IIRC there's at least a "template" error message for shaped-can't-do-that 02:02
diakopter oh
dalek kudo-star-daily: ab514cb | coke++ | log/ (2 files):
today (automated commit)
02:03
02:11 uruwi joined 02:12 pierre-vigier left
dalek kudo/nom: 6779524 | TimToady++ | src/core/ (5 files):
add overflow/underflow failures to **
02:14
02:15 pierre-vigier joined
AlexDaniel Maybe somebody wants to add something: rt.perl.org/Public/Bug/Display.html?id=126799 02:15
TimToady++ 02:17
I don't think that there are many overflow issues now 02:18
02:21 yeahnoob left 02:22 yeahnoob joined 02:23 hudo left
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
lucs Where can I read about "assoc<chain>" (the Z operator returns "List:D is assoc<chain>") 02:29
02:29 csd_ left
b2gills TimToady: 0 is valid on a Fahrenheit thermometer as well, I know from experience ( Iowa has had temperatures below -40° ) 02:31
02:34 elliot_ joined, yeahnoob left
elliot_ join 02:35
help
AlexDaniel elliot_: :)
02:35 elliot_ left 02:36 yeahnoob joined
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)␤»
dalek ast: d8db71f | lizmat++ | S02-names/strict.t:
Fix test broken by levenshtein changes
02:38
lucs b2gills: I kind of understand that, but I'm curious about how an assoc<chain> is defined exactly.
lizmat good night, #perl6! 02:39
lucs Good night lizmat
AlexDaniel m: my @a[0]; say @a.perl 02:40
camelia rakudo-moar 677952: OUTPUT«Array.new(:shape(0,), [])␤»
AlexDaniel m: my @a[1]; say @a.perl
camelia rakudo-moar 677952: OUTPUT«Array.new(:shape(1,), [Any])␤»
AlexDaniel m: my @a[0.5]; say @a.perl
camelia rakudo-moar 677952: OUTPUT«Index 0 for dimension 1 out of range (must be 0..-1)␤ in block <unit> at /tmp/4I4ueXgWUC:1␤␤»
AlexDaniel I wonder what's the logic behind it…
02:40 pierre-vigier left 02:41 herby_ joined
herby_ Good evening, everyone! 02:42
02:42 pierre-vigier joined
herby_ Any idea on when the there will be an MSI for rakudo 2015.11? 02:42
02:43 Zoffix joined
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:43
diakopter Zoffix++ # nice blagging
dalek rl6-most-wanted: 4345f7c | bluebear94++ | most-wanted/modules.md:
Add link to Math::Random
02:44
rl6-most-wanted: 9f9d03c | (Zoffix Znet)++ | most-wanted/modules.md:
Merge pull request #9 from bluebear94/master

Add link to Math::Random
b2gills AlexDaniel: I think the reason that error is wrong is that uints are treated as ints currently
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!
:D
Zoffix dj_goku, thanks :)
diakopter, thanks
AlexDaniel b2gills: which issue exactly are you talking about? :)
herby_ yeah, that was a great advent post
diakopter seems to me react { whenever $sock.supply { # could be shortened to react $sock.supply { # when there's only one whenever 02:46
er, .Supply
b2gills That it reports the range as "0..-1" instead of "0..uint.Range.max" 02:47
02:48 csd_ joined
AlexDaniel b2gills: why does it accept “0.5” in the first place? :) 02:48
b2gills: maybe it should, I'm not sure
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␤␤»
b2gills Ahh. didn't realize that wasn't what the error was about
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
now I'm wondering if fractional sizes are a separate issue… 02:51
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:56
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␤␤»
MadcapJake I would've needed to rebuild the shaped array anytime an out-of-bounds error occurred.
TimToady m: say .9e0**99**99
camelia rakudo-moar 677952: OUTPUT«Numeric underflow␤ in block <unit> at /tmp/JG7kUd9XLU:1␤␤Actually thrown at:␤ in block <unit> at /tmp/JG7kUd9XLU:1␤␤»
AlexDaniel TimToady: this is awesome! 02:58
TimToady m: say .9e0**Inf
camelia rakudo-moar 677952: OUTPUT«0␤»
AlexDaniel hm…
TimToady oops
oh, wait, that's right
AlexDaniel ok I take it back! :)
TimToady m: say .99**99**99
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␤␤»
AlexDaniel ooooh
TimToady that's the one that's a bit suspect
02:58 BenGoldberg joined
AlexDaniel m: say 9e0**Inf 02:59
camelia rakudo-moar 677952: OUTPUT«Inf␤»
AlexDaniel right
.oO( perl6 is smarter than me… )
TimToady the Rat one could be made a bit smarter on under vs over
AlexDaniel TimToady: “my @a[5.5]” – what should it mean? [5], [6] or error? 03:01
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.
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
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␤»
MadcapJake isn't that a weird error for missing a comma?
herby_ for the advent, have all the topics been decided on?
AlexDaniel MadcapJake: I don't think so. You can't adverb a string 03:03
MadcapJake but i
'm not :P
TimToady AlexDaniel: I think an error would be appropriate if .narrow doesn't get an Int
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
AlexDaniel MadcapJake: well, if I'm not blatantly wrong, then it reads it as "foofoofoo":something
TimToady and we should force them to put ceiling if they mean that
AlexDaniel MadcapJake: at least that's how I read it! :)
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?
dalek c: 0109b5e | (Brock Wilcox)++ | doc/ (2 files):
Clarify use of | in proto, per #218
herby_ diakopter, as a all around beginner, I'd like to see something involving retrieving and scraping a web page? 03:07
or maybe something related
03:07 garu left
herby_ I can't really find that much out there for Perl 6 involving that type stuff 03:07
03:07 noganex joined
dalek c: 7909607 | (Brock Wilcox)++ | doc/Type/Str.pod:
Remove mentions of Niecza and incorrect Rakudo reference per #220
03:08
03:08 mst left, BinGOs left
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␤»
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
MadcapJake awwaiid++ # thanks for the proto | explanation! 03:09
herby_ hmm
Ok. Just a thought. I'll be reading it regardless : )
diakopter it could be a nice demo of Inline::Perl5
03:10 noganex_ left
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 github.com/tony-o/perl6-web-scraper but it hasn't been updated in a year
03:10 BenGoldberg left
AlexDaniel m: 1 / 3 :round 03:11
camelia rakudo-moar 677952: OUTPUT«Unexpected named parameter 'round' passed␤ in block <unit> at /tmp/e7YhRaQuud:1␤␤»
AlexDaniel hm
awwaiid You're welcome MadcapJake :) 03:12
herby_ maybe a simple example of concurrency ?
that would have practical use
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
MadcapJake Also check out jnthn.net/papers/2015-yapcasia-concurrency.pdf 03:14
awwaiid learns that proto not only sets up a signature prototype but also is effectively an 'around' wrapper 03:15
03:15 BenGoldberg joined
herby_ diakopter, I don't have much of a grasp on the variants 03:15
MadcapJake, I'll take a look. Thanks. 03:16
03:16 pierre-vigier left
b2gills I have a program which has `proto sub MAIN (|) { try { say +{*} } or say $!.message }` 03:16
colomon Inline is failing with latest Rakudo?
geraud m: use nqp; sub hi($foo, :$bar, :$baz) { say $bar.perl; say $bar.WHAT.perl; say nqp::sha1($bar); }; hi("world");
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
camelia rakudo-moar 677952: OUTPUT«False␤»
AlexDaniel MadcapJake: see, it is perfectly valid
MadcapJake: for things that you can adverb :)
MadcapJake so why doesn't it work for strings? 03:18
ohhh
it's because it thinks that the *string* is being adverbed
AlexDaniel yes, hence the error
MadcapJake sees the light!
AlexDaniel++ thanks for helping me grok that xD 03:19
03:19 xpen joined
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 csd_ left
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:21
AlexDaniel
.oO( Notes for Perl 6 obfuscation contest: both foo(@x[0] :exists) and foo(@x[0],:exists) everywhere )
03:23
03:23 mst joined
herby_ Madcap, that's an interesting article 03:23
03:23 BinGOs joined
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, kaare_ joined
MadcapJake here's the message for X::Syntax::Adverb: method message() { "You can't adverb " ~ ($.what // "that") } 03:25
so I think it's supposed to provide a that but apparently strings aren't providing a type?
03:25 pierre-vigier joined 03:26 mst left, mst joined
MadcapJake How do errors pass data into these an exception class's attributes? 03:26
AlexDaniel shouldn't it be .WHAT ?
MadcapJake hey that could be it! 03:27
03:27 raiph joined
AlexDaniel MadcapJake: wanna try that yourself? 03:27
I mean fix, recompile, test, send pull request… :)
MadcapJake there's a lot of lower-case `what`s though, so maybe that's just how it's called inside rakudo core
AlexDaniel ahh
dunno then! 03:28
MadcapJake I think the error is actually happening where the string throws the error
03:29 yeahnoob left 03:30 yeahnoob joined 03:34 kid51 left
MadcapJake Here it is: github.com/rakudo/rakudo/blob/nom/....nqp#L5823 03:35
$target (in our case a string) apparently doesn't have a `name` attribute. 03:36
03:37 herby_ left
AlexDaniel MadcapJake: oh look 03:37
m: my Str $z = "hello"; my @x; sub a($foo) { say $foo }; a($z :exists) 03:38
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␤»
AlexDaniel so what happens when you pass something like 「"str"」 or 「42」?
TimToady maybe it just just use ~$target 03:39
AlexDaniel 「what => $target.name // $target」 ?
「what => $target.name // ~$target」 ?
geraud m: say $*REPO;
camelia rakudo-moar 677952: OUTPUT«inst#/home/camelia/.perl6/2015.11-339-g6779524␤» 03:40
geraud m: say $*REPO.repo-chain;
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)␤»
geraud hum... 03:41
MadcapJake yeah that's a good idea
TimToady AlexDaniel: I think // is too late for a missing method in nqp 03:42
hence the nqp::can
AlexDaniel right
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"
github.com/sergot/io-socket-ssl/bl...asic.t#L21
AlexDaniel MadcapJake: compile it and see if it helped 03:44
awwaiid b2gills: that is amazing
leedo if i make that "subtest sub {" instead of "subtest {" it passes
MadcapJake AlexDaniel: with this: 'perl Configure.pl --gen-moar --gen-nqp --backends=moar' 03:45
03:45 raiph left
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 )
AlexDaniel MadcapJake: I don't think that it matters for such a small changes. 03:46
s/s.*$// 03:47
MadcapJake ok cool
AlexDaniel says someone who has never contributed a thing…
MadcapJake lol, well all I'm adding is one character xD 03:48
*if* it works :P
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?
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!
AlexDaniel MadcapJake: IMO long string is better than “that” 03:50
03:50 dayangkun left
MadcapJake Yeah I agree 03:50
TimToady you probably want to stringify $/[0] instead of $target 03:52
dalek kudo/nom: 5b8c080 | TimToady++ | src/core/Rat.pm:
better undef/overflow on Rat ** Int
03:53
MadcapJake well make just finished so let me just see what happens first before I change to that
leedo m: sub cont(&sub) { say &sub.() }; cont { return "hello" };
camelia rakudo-moar 677952: OUTPUT«Attempt to return outside of any Routine␤ in block <unit> at /tmp/RyObZDqNU8:1␤␤»
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
otherwise we'd have return exceptions returning from the wrong routine all over the place 03:55
leedo github.com/sergot/io-socket-ssl/bl...asic.t#L21 so i guess this is not a good way to bail on a subtest
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?
TimToady no
that's a Match object
that we pull $target from 03:56
MadcapJake do I need to configure again or can I just run make this time?
TimToady just make
03:58 BenGoldberg left, BenGoldberg joined 03:59 BenGoldberg left 04:00 BenGoldberg joined
MadcapJake Here's the new error: 04:02
===SORRY!=== Error while compiling -e
You can't adverb "foofoofoo"
at -e:1
------> tions.new; G.parse("foofoofoo" :$actions⏏); say $actions.i
04:03 kaare_ left, BenGoldberg left, BenGoldberg joined 04:04 BenGoldberg left
AlexDaniel MadcapJake: cool, try something more complex 04:04
9 ** 9 :$actions
04:04 BenGoldberg joined
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
camelia rakudo-moar 677952: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ED8wo3F3XO␤Variable '$actions' is not declared␤at /tmp/ED8wo3F3XO:1␤------> 039 ** 9 :7⏏5$actions␤»
MadcapJake m: 9 ** 9 :actions
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␤␤»
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);␤»
AlexDaniel m: sub foo {}; foo(9 ** 9 :bar);
camelia rakudo-moar 677952: OUTPUT«Unexpected named parameter 'bar' passed␤ in block <unit> at /tmp/vAd3wWZWcO:1␤␤»
MadcapJake we need to find something that prints the "can't adverb that" error
AlexDaniel m: sub foo {}; foo((9**9) :bar);
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␤»
MadcapJake boom!
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)"
AlexDaniel cool
skids m: (1, :a :b).say # this syntax could probably be made to work better.
camelia rakudo-moar 677952: OUTPUT«(1 a => True)␤»
MadcapJake skids: we're trying to improve the error message
AlexDaniel MadcapJake: well… there is one thing that usually bothers me 04:07
m: sub foo {}; foo((9**9)␤ :bar);
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␤»
AlexDaniel MadcapJake: try this with a newline
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 ')' "
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?
AlexDaniel MadcapJake: I mean use real newline instead of ␤
MadcapJake oh lol
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
it might include them if I place a newline inside the parens
AlexDaniel MadcapJake: okay that's probably good enough
MadcapJake: yes, in which case it is probably ok, I'm not quite sure
MadcapJake yeah it does keep them
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
should I be running the roast thing too? 04:14
dalek Heuristic branch merge: pushed 119 commits to nqp/backlog by zhuomingliang
MadcapJake oops I shouldn't have `git add -A` a bunch of precomp stuff got added to the staging area :S 04:17
diakopter hm, needs to be ignored 04:18
MadcapJake yeah
AlexDaniel MadcapJake: 「make spectest」 should do the roast thing, as far as I know 04:19
MadcapJake ok thanks! 04:20
04:25 hankache joined
dalek p: 261e50c | (Jimmy Zhuo)++ | src/vm/jvm/ (6 files):
expose the backlog arg for listen
04:25
p: f86f15c | (Jimmy Zhuo)++ | tools/build/MOAR_REVISION:
bump moar version
p: 3e65897 | (Jimmy Zhuo)++ | src/vm/jvm/ (6 files):
Merge branch 'backlog'
p: 8b2f005 | (Jimmy Zhuo)++ | / (7 files):
Merge pull request #261 from perl6/backlog

Backlog
04:26 yeahnoob left
hankache morning #perl6 04:26
dalek p: 52ded1d | (Jimmy Zhuo)++ | tools/build/MOAR_REVISION:
bump moar version again
04:30
04:32 mohij joined 04:36 patrickz left
diakopter free certificates for everyone: letsencrypt.readthedocs.org/en/latest/ 04:37
04:39 vendethiel joined 04:40 rigsby joined 04:44 empT joined 04:45 hankache left
MadcapJake just passed the exception spec test! this takes quite a long time 04:46
04:48 empT left
JimmyZ could anyone help to merge github.com/rakudo/rakudo/pull/569 ? Thanks 04:48
04:48 adhoc left
diakopter MadcapJake: did you do TEST_JOBS=9 04:48
JimmyZ: does it break anything :) 04:49
JimmyZ diakopter: it doesn't yet
04:50 adhoc joined
MadcapJake diakopter: no, does that run tests in parallel 04:50
04:51 ab5tract left, ab5tract joined
diakopter yes 04:51
MadcapJake how do you figure out which test failed (it only gives the file and a number) 04:54
diakopter hafta run them individually 04:55
MadcapJake how do you do that? 04:56
AlexDaniel MadcapJake: something like 「perl6 SomeFolder/sometest.t」 I guess 04:57
MadcapJake I have to install Test? 04:59
diakopter it is already installed with rakudo
MadcapJake wait, do I need to pass a -I for Test?
diakopter no
MadcapJake not according to this build
diakopter the perl6-m shortcut does it for you
MadcapJake oh
nope same error 05:00
"Could not find Test"
diakopter what is your current directory and what command are you running
MadcapJake PWD=~/github/rakudo; CMD=./perl6-m t/spec/S32-array/abverbs.t 05:01
diakopter did you do `make install`
MadcapJake no
i want to leave my stable rakudo install alone 05:02
diakopter ah
well look in the Makefile for how it invokes the spectest
dalek kudo/nom: 9f5b94e | (Jimmy Zhuo)++ | src/core/IO/Socket/ (2 files):
expose the backlog arg for listen
05:03
kudo/nom: 8415dfa | (Jimmy Zhuo)++ | / (160 files):
Merge branch 'nom' into backlog

Conflicts: src/core/IO/Socket/INET.pm
kudo/nom: c981d28 | (Jimmy Zhuo)++ | tools/build/NQP_REVISION:
bump nqp version
kudo/nom: 8d6ac86 | (Matthew Wilson)++ | / (3 files):
Merge pull request #569 from zhuomingliang/backlog

Expose the backlog arg for listen
MadcapJake adding `-Ilib` worked
05:03 Ben_Goldberg joined 05:06 BenGoldberg left
MadcapJake this test failed: github.com/perl6/roast/blob/master...erbs.t#L56 05:06
05:08 Ben_Goldberg left, pierre-vigier left 05:09 Ben_Goldberg joined
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 left, Ben_Goldberg joined
AlexDaniel MadcapJake: was it failing before your change? :) 05:12
MadcapJake m: my @a = 'a'..'d'; @a[1]:zorp;
camelia rakudo-moar 8d6ac8: OUTPUT«Unexpected named parameter 'zorp' passed␤ in block <unit> at /tmp/8ijBqpN8Bj:1␤␤»
MadcapJake no idea, lets see
05:13 pierre-vigier joined 05:14 pierre-vigier left
AlexDaniel MadcapJake: no need to run the full suite, just this test :) 05:14
MadcapJake yeah for sure :D 05:15
05:16 peteretep left, Ben_Goldberg left 05:17 Ben_Goldberg joined, km3 joined, Ben_Goldberg left 05:18 Ben_Goldberg joined
MadcapJake haha those failing tests were already failing :P 05:18
05:20 sammers left 05:22 Ben_Goldberg left, Ben_Goldberg joined 05:23 Ben_Goldberg left 05:24 Ben_Goldberg joined
AlexDaniel MadcapJake: well, if you are sure then it's ok :) 05:24
05:28 Ben_Goldberg left 05:29 Ben_Goldberg joined
MadcapJake github.com/rakudo/rakudo/pull/617 05:29
AlexDaniel: ^^
AlexDaniel MadcapJake: next time you can just check this: github.com/coke/perl6-roast-data/b....out#L2425
MadcapJake oh cool, good to know! 05:30
AlexDaniel MadcapJake: personally I'd just leave 「// 'that'」 there, because why not 05:35
MadcapJake yeah but if the code I changed was the only thing depending on it, might make sense to purge it 05:37
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
MadcapJake ok well i'll make and run tests and make sure it's all good 05:39
this will double my lines modified in rakudo :D 05:40
tomorrow, I need to take some time to work on that linter, keeps crashing while I edit rakudo xD 05:41
05:41 skids left, rigsby left 05:42 khw left
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:44
05:46 geraud left 05:47 BenGoldberg joined, nige1 joined 05:48 Ben_Goldberg left, vendethiel left 05:51 xpen left 05:53 stmuk_ left 05:54 stmuk joined 05:55 BenGoldberg left, BenGoldberg joined 05:57 BenGoldberg left, BenGoldberg joined 05:58 BenGoldberg left 05:59 BenGoldberg joined
moritz MadcapJake: there's a Perl 6 community server tha you could use for that purpose 06:07
MadcapJake: hack.p6c.org/
MadcapJake oooo! 06:08
moritz MadcapJake: in essence, /msg me your desired username
06:09 BenGoldberg left 06:10 BenGoldberg joined, BenGoldberg left
dalek href="https://perl6.org:">perl6.org: 54887e7 | moritz++ | / (3 files):
use HTTPS for doc.perl6.org and design.perl6.org
06:10
06:11 BenGoldberg joined 06:15 xpen joined, pierre-vigier joined
dalek kudo/nom: bb93bd7 | (Jake Russo)++ | src/Perl6/Actions.nqp:
Improve X::Syntax::Adverb error message
06:17
kudo/nom: c079f89 | (Jake Russo)++ | src/core/Exception.pm:
Remove unnecessary "that" string
kudo/nom: 47d2daf | moritz++ | src/ (2 files):
Merge pull request #617 from MadcapJake/nom

Improve X::Syntax::Adverb error message
06:19 xpen left, lustlife` left, pierre-vigier left 06:20 lustlife` joined
MadcapJake AlexDaniel: ^^^ 06:20
06:20 Ben_Goldberg joined 06:21 bbarker`` left, bbarker`` joined
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␤»
AlexDaniel not yet :)
MadcapJake hehe, how does the perl6 irc bot get updated? 06:22
TimToady m: say .99**99**99
camelia rakudo-moar 8d6ac8: OUTPUT«Numeric underflow␤ in block <unit> at /tmp/HQXYrk8Lsy:1␤␤Actually thrown at:␤ in block <unit> at /tmp/HQXYrk8Lsy:1␤␤»
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␤␤»
TimToady m: say 1.01**-999999999999
camelia rakudo-moar 8d6ac8: OUTPUT«Numeric underflow␤ in block <unit> at /tmp/g930nGD36c:1␤␤Actually thrown at:␤ in block <unit> at /tmp/g930nGD36c:1␤␤»
AlexDaniel MadcapJake: pretty often
TimToady m: say 1.01**999999999999
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 BenGoldberg left
AlexDaniel MadcapJake: every hour for sure 06:23
06:24 empT joined, empT left
TimToady MadcapJake: it updates automatically every 20 minutes 06:24
MadcapJake haha that's awesome
TimToady currently starting at 08, 28, and 48
diakopter moritz: did you use letsencrypt certs?
TimToady so done about 3 minutes later
diakopter moritz: yes! good job 06:25
TimToady so your fix will be there at about :31 or so
06:25 pierre-vigier joined
MadcapJake TimToady: I'm stoked! B) 06:25
AlexDaniel m: say i**99999999999999999 06:26
camelia rakudo-moar 8d6ac8: OUTPUT«-0.484744915395865+0.874655570494955i␤»
AlexDaniel m: say i**99**99**99
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:28 ab6tract left
TimToady I didn't try to do anything with Complex 06:29
and there's no Complex ** Int candidate anyway, so you're getting overflow before it ever gets into Complex there
AlexDaniel heh 06:30
TimToady whether there *should* be an Int candidate, I dunno
06:32 km3 left
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␤»
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␤␤»
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 cgfbee left
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␤»
AlexDaniel actually, that's the old behavior 06:36
MadcapJake: I wonder if it should use quotes…
MadcapJake nuts is the name
TimToady I wouldn't worry about it
AlexDaniel TimToady: yeah, though I don't really like the inconsistency that we have now 06:37
sometimes the quotes are there, sometimes not
TimToady it doesn't matter
trying to make that consistent will merely make some things less readable
MadcapJake i would say that would be confusing as the quotes for the string are from the string
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
TimToady and it's a rare enough error that we won't have people comparing error messages to see if they're consistent
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
a type is capitalized, so I often remove the quotes on those in error message
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
TimToady if something could be a null string, then you start to think about quotes 06:40
we're mostly trying to make things easy for humans here 06:41
06:41 empT joined
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:41
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 :)
TimToady different things should look different
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
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
AlexDaniel or perhaps a set of helper functions to deal with that stuff
MadcapJake Yeah I understand where you're coming from
TimToady: definitely, I think that is the right way to do it
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
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
TimToady: I mean, obviously you don't want a 1 MB string interpolated into the expression
TimToady we'd want something gist-like, of course 06:46
though gist itself doesn't trim 1-meg strings
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)
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
diakopter m: say 1.WHICH
camelia rakudo-moar 47d2da: OUTPUT«Int|1␤»
diakopter m: say pi.WHICH
camelia rakudo-moar 47d2da: OUTPUT«Num|3.14159265358979␤»
diakopter for values with nice WHICHes, I think it should use those 06:48
TimToady and just ... anything longer than some # of chars
m: say (1,2,3).WHICH 06:49
camelia rakudo-moar 47d2da: OUTPUT«List|62994616␤»
TimToady that's not so nice
so I think .gist based is probably preferable
diakopter m: say pi.gist 06:50
camelia rakudo-moar 47d2da: OUTPUT«3.14159265358979␤»
TimToady that's obviously a number already :)
diakopter well in that case, surely it should say the constant name
AlexDaniel m: "foo\b\b\b\b\b\b\b\b\b\b\b\bbar".gist.say
camelia rakudo-moar 47d2da: OUTPUT«foobar␤»
diakopter DING DING DING DING DING 06:51
TimToady m: say "\a".ord
camelia rakudo-moar 47d2da: OUTPUT«7␤»
AlexDaniel m: "\a\a\a".gist.say # I thought that this should be DING?
camelia rakudo-moar 47d2da: OUTPUT«␤»
06:53 Ben_Goldberg left
AlexDaniel “Returns a string representation of the invocant, optimized for fast recognition by humans.” – gist 06:53
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
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”?
ShimmerFairy AlexDaniel: say "AB\bC" -> AC
AlexDaniel ShimmerFairy: right. Well, I'm just thinking that printing this stuff in a backtrace could possibly eat the whole thing 06:56
ShimmerFairy If you don't want control characters to affect the terminal, you use .perl, not .gist :) 06:57
AlexDaniel m: say pi.perl 06:58
camelia rakudo-moar 47d2da: OUTPUT«3.14159265358979e0␤»
AlexDaniel m: say (1,2,3).perl
camelia rakudo-moar 47d2da: OUTPUT«(1, 2, 3)␤»
TimToady well, but that's not gonna put the \b back in for you, probably
m: say "foo\b\b\bbar".perl 06:59
camelia rakudo-moar 47d2da: OUTPUT«"foo\b\b\bbar"␤»
AlexDaniel m: say "te\b\b\b\b\b\bst".perl
camelia rakudo-moar 47d2da: OUTPUT«"te\b\b\b\b\b\bst"␤»
TimToady well, maybe it will :)
AlexDaniel .perl is great
pierre-vigier I:Q
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
camelia rakudo-moar 47d2da: OUTPUT«"foo\$bar"␤»
TimToady could well be
but we'd still need to ... things that are too long
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
camelia rakudo-moar 47d2da: OUTPUT«8␤»
MadcapJake is off to bed.
TimToady it's actually a backspace in the string
MadcapJake g'night #perl6!
TimToady o/
AlexDaniel
.oO( one of my favorite characters! )
07:02
TimToady it would violate one-pass parsing to interpret the \b later
07:02 MadcapJake left
ShimmerFairy interpreted by the terminal/client/etc., is what I meant 07:03
AlexDaniel ShimmerFairy: it is correct 07:04
though a good question is why would you want to have \b inside of your string…
.oO( and why does perl6 even provide such escape… )
07:05
ShimmerFairy For the same reason I can type "\r\e[K", I suppose :) 07:06
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␤»
TimToady we don't believe in vertical tab
AlexDaniel yes
TimToady and we stole it in regex to match vertical whitespace of any sort
AlexDaniel we believe in backspace!
[Tux] test 50000 23.277 23.166
test-t 50000 20.983 20.872
csv-parser 50000 25.993 25.882
ShimmerFairy as this one language designer I've heard of once said, "vertical tab... whatever that means" :) 07:08
AlexDaniel ShimmerFairy: there are not many backslash sequences left though 07:09
design.perl6.org/S02.html#Backslash_sequences
ShimmerFairy ? 07:10
07:11 bjz joined
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:11
ShimmerFairy I'm still not sure what "There are not many backslash sequences left though" means 07:12
07:14 pierre-vigier left, TEttinger left
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 07:24 AlexDaniel left 07:32 TEttinger joined 07:39 WizJin left
b2gills vertical tab did make some sense for filling out forms with something like a dot-matrix printer 07:39
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 07:48 WizJin joined
empT should i expect a problem with "is cached" on a "multi sub"? 07:48
"Cannot invoke object with invocation handler in this context"
07:51 brrt joined
brrt good * #perl6 07:51
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:55
07:56 darutoko joined 08:05 FROGGS joined
moritz ChoHag: 'but' always works on a copy, 'does' works in-place 08:09
08:11 mohij left 08:17 rindolf joined
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:20 FROGGS left 08:22 FROGGS joined, RabidGravy joined 08:28 ely-se joined, freeze left 08:29 csd_ joined 08:30 freeze joined
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:32
08:34 csd_ left
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;
Following that statement, $foo always had Bar mixed in. 08:37
08:38 _mg_ joined 08:41 mrf_ left, mrf joined
moritz ChoHag: dunno 08:42
ChoHag: what type is $foo?
brrt moritz: is there a free day, say next week, for me to adventpost? 08:43
and ehm, i'm not sure what would be a nice topic for it?
ChoHag Str
moritz m: role Bar { }; my $foo = Any.new; $foo but Bar unless $foo ~~ Bar; say $foo ~~ Bar
camelia rakudo-moar 47d2da: OUTPUT«False␤»
ChoHag Hmm. 08:44
moritz ChoHag: ^^ doesn't seem to work here
brrt: 6th, 9th and 13th are free
m: role Bar { }; my $foo = Any.new; $foo does Bar unless $foo ~~ Bar; say $foo ~~ Bar
camelia rakudo-moar 47d2da: OUTPUT«True␤»
ChoHag So what *was* the code doing...
To be fair that may be why it didn't work.
nine grondilu: that should not be necessary
moritz ChoHag: creating a mix-in and immedately throwing it away 08:45
08:45 csd_ joined
ChoHag 'It' being the whole thing, not just that. 08:45
moritz brrt: github.com/perl6/mu/blob/master/mi...instorming
08:46 abraxxa joined
brrt thanks moritz :-) 08:47
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'.
brrt it's infrastructure after all
ChoHag Wtf is a type smiley?
08:49 FROGGS left, csd_ left
brrt ChoHag, iirc, it's the :D part of a declaration Int:D 08:49
ChoHag Ah
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.
brrt m: sub foo (Int:D $x) { say $x * 2; }; foo(3); foo(Int);
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␤␤»
brrt m: sub foo(Int $x) { say $x.perl; }; foo(3); foo(Int);
camelia rakudo-moar 47d2da: OUTPUT«3␤Int␤»
brrt thinks it's cute 08:51
Hotkeys don't forget the other smiley 08:52
:U
(and the kind of smiley :_ )
08:53 nige1 left
mrf o/ #perl6 08:53
08:53 FROGGS joined 08:56 pierre-vigier left
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:56
masak nadim: export the proto, perhaps? 08:57
masak is just guessing
08:57 pierre-vigier joined 08:58 Amnez777 left, Amnez777 joined
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:58
08:59 pierre-vigier left
nadim masak: exporting the proto, any example of that or an URL? 08:59
masak: still hanging around in Lund or did you move too?
09:01 pierre-vigier joined
ChoHag How can I conditionally use a module? 09:02
Or related - how similar are perl 5 and 6's compilation phases?
09:02 japhb left
brrt pretty similar 09:05
fairly sure we have a BEGIN
but i'm not sure we have a require
i never use modules really :-o
grondilu nine: I agree. That should not be necessary. Still.
nine grondilu: what error did you get? 09:07
09:09 japhb joined, guest1__ joined 09:10 rurban joined, guest1__ left 09:18 japhb left 09:20 nige1 joined 09:25 japhb joined 09:27 xpen_ joined
RabidGravy there is a "require" 09:27
you may need to call the "import" on the module too, if there are exported symbols 09:28
09:28 leont joined
RabidGravy i.e. "if $foo { require Foo; import Foo; }" 09:28
brrt cool 09:29
09:29 xpen_ left 09:30 xpen left
nadim ChoHag: and put the require in a try block too 09:35
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.
nadim given $bool seems to be always True. I was expecting this to work in a different way nopaste.linux-dev.org/?873966 . Where did I go wrong this time 09:38
grondilu irclog.perlgeek.de/perl6/2015-12-03#i_11649617
dalek osystem: 4de5272 | RabidGravy++ | META.list:
Add Chronic

  github.com/jonathanstowe/Chronic
09:41
leont grondilu: does that happen after an upgrade?
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
ChoHag I am detangle the code in nopaste.linux-dev.org/?873977.
grondilu yeah but where are the modules installed?
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.
grondilu I need to know what to remove and where
leont I just nuked my entire rakudo and rebuild, was the easiest way. I expect a more efficient way to exist 09:44
09:44 ely-se left
nadim I am getting the Bool blues! nopaste.linux-dev.org/?873978 09:44
El_Che Bool balls 09:45
ChoHag nadim: Looks like a bug to me, unless Bool is special in ways I don't understand. 09:46
09:46 zakharyas joined
leont ChoHag: code looks incomplete 09:47
nadim ChoHag: lots of special ways to learn it seems :) 09:49
masak nadim: `when $_ == True` works
nadim: but `when True` always succeeds, and *used to have a compile-time error*
m: given True { when True {} }
camelia ( no output )
masak not any more, it seems
El_Che isn't ~~ testing object identity or something
nadim that would have been nice
Hotkeys Jinkies 09:50
El_Che I have been bitten by ~~ a few times
Hotkeys m: say False ~~ True
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␤»
ChoHag It's incomplete but whole.
09:51 FROGGS left
ChoHag perl6 -IOne -MAll -e 'Base.new.act.say' 09:51
Nothing
But however I recombine All.pm into multiple files causes either compilation complaints or infinite loops.
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
leont I'm not seeing them load each other
nadim it is pretty weird that False ~~True, any one knows what went in the designers head just at that moment?
ChoHag They don't. I stripped the use statements out.
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?
nine grondilu: the list afther the in: would be usefull
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" } }
camelia rakudo-moar 47d2da: OUTPUT«T␤»
09:54 lustlife` left
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
Hotkeys m: given False { when .so { say "T" }} 09:55
camelia ( no output )
mst ChoHag: you know how we who debug on IRC get cranky about not being given complete code :)
Hotkeys nadim: if you're set on a given when you could try that
ChoHag How can the code be complete if it doesn't work?
I want to know how to complete it.
If I could complete it, there'd be nothing to ask.
09:56 snarkyboojum joined
dalek kudo/nom: 61a7089 | cygx++ | src/core/Main.pm:
Fix MAIN's usage message in case of slurpy hash parameters
09:56
kudo/nom: 15a6179 | lizmat++ | src/core/Main.pm:
Merge pull request #549 from cygx/slurpy-hash-usage

Fix MAIN's usage message in case of slurpy hash parameters
ChoHag It'll have to wait anyway. I have outdoor work to do before we're inundated with snow.
dalek kudo/nom: d834ab9 | donaldh++ | src/core/Main.pm:
Add support for USAGE arg help.
09:57
kudo/nom: 79f4eed | donaldh++ | src/core/Main.pm:
Pick the first defined arg declarator.
kudo/nom: 612f547 | lizmat++ | src/core/Main.pm:
Merge pull request #608 from donaldh/usage-arg-help

Add support for USAGE arg help.
09:58 espadrine joined, dj_goku left
nine grondilu: actually the whole output of bootstrap.pl and of your attempt at using panda may help even more 09:59
10:01 pierre-vigier left 10:02 pierre-vigier joined 10:03 donaldh joined 10:05 dj_goku joined, dj_goku left, dj_goku joined
nadim Hotkeys: sorry, I didn't get what you meant in your comment 10:08
10:13 bhm left 10:14 bhm joined 10:17 adhoc left
grondilu nine: I had posted it some time ago as well: gist.github.com/grondilu/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
RabidGravy it's really quite weird but I don't know whether RT it 10:18
10:18 ChoHag left 10:19 iH2O joined, ChoHag joined
nine grondilu: that one is already fixed. Are you using a current rakudo/nom and panda/master? 10:20
RabidGravy everything seems fine here after nuking everything and updating rakudobrew 10:21
nine++ # top work
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
though now that Shell::Command and cie are installed, I need to remove them as well
10:23 bbkr joined
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:24
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
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
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): gist.github.com/flussence/ed0b12992514d26afef0
stmuk flussence++ 10:27
10:29 FROGGS joined 10:30 zakharyas left
stmuk .tell flussence I see two pl6anet-atom.css 10:30
yoleaux stmuk: I'll pass your message to flussence.
stmuk .tell flussence should I use first or seconf? 10:31
yoleaux stmuk: I'll pass your message to flussence.
10:39 pierre-vigier left, leont left 10:40 flaviusb left
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:40
10:41 empT left 10:42 empT joined, empT left 10:47 andreoss joined
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:47
10:55 empT joined 10:56 bjz_ joined 10:57 bjz left 11:00 iH2O left, empT left
japhb .tell Zoffix Excellent advent post, very well done! 11:02
yoleaux japhb: I'll pass your message to Zoffix.
dalek kudo/nom: 734549a | lizmat++ | src/core/Buf.pm:
Allow List as template in pack, like in unpack
11:05
ast: 25424a4 | lizmat++ | S32-str/pack.t:
Add tests for List as template for pack
11:08 telex left 11:10 telex joined 11:11 empT joined, empT left 11:15 _mg_ left
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:16
lizmat decommute& 11:18
11:18 lizmat left
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? nopaste.linux-dev.org/?874148 11:19
gfldex El_Che: it is intended 11:20
El_Che ok, thx
11:20 ChoHag left 11:23 brrt left
El_Che gfldex: so to alternative would be an instance attribute? 11:24
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:25
11:27 empT joined 11:28 empT left, empT joined, empT left 11:29 empT joined, empT left
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␤»
gfldex El_Che: if you don't want static don't do static 11:31
11:32 lucasb joined, hudo joined
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
11:38 rurban left, pierre-vigier joined
bbkr vytas: thats DWIMness 11:39
11:40 rurban joined 11:44 empT joined 11:45 empT left, empT joined, empT left
vytas it's more like "when i have money: [*] buy a car" versus "when i have money, then I will buy a car" 11:45
grondilu weird error: "getlex: outer index out of range" 11:46
vytas nonetheless, thanks for great article
grondilu I'll try to golf it
vytas Zoffix ^
11:48 _mg_ joined
RabidGravy nine, the change in use/export/trait behaviour wasn't exactly as I stated earlier, I RT'd with rt.perl.org/Ticket/Display.html?id=126804 - it is actually breaking things in the ecosystem 11:50
11:54 edehont joined 11:56 empT joined 11:58 El_Che left 12:00 El_Che joined 12:01 empT left, rurban left
dalek p: fef6b98 | donaldh++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
Change nqp::mkdir on JVM to create all nonexistent directories.

This unbusts make spectest.
12:02
12:03 hudo left 12:08 cdg joined
colomon FROGGS: ping? 12:09
12:09 bjz joined 12:10 bjz_ left 12:12 pierre-vigier left, nige1 left 12:13 sufrostico joined 12:14 zengargoylew left, zengargoylew joined
grondilu $ echo -e "unit module A;\nour sub f is cached { rand };" > A.pm6 12:16
$ PERL6LIB=. perl6 -e 'use A; say A::f;'
getlex: outer index out of range in any enter at gen/moar/m-Metamodel.nqp:3763 in block <unit> at -e:1
it's the cached trait that is the issue 12:17
12:17 pierre-vigier joined
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 zengargoyle left
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
I'm not sure we've time to get all that fixed in the next weeks.
nine jnthn: this looks like it could use your input: rt.perl.org/Public/Bug/Display.html?id=126804 12:19
FWIW I can reproduce it here as described
12:19 zengargoyle joined
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."
jnthn Needs to be :$other-trait! no?
yoleaux 11:02Z <japhb> Zoffix: Excellent advent post, very well done!
12:20 cygx joined
nine jnthn: noticed that, too, but fixing that doesn't change the outcome 12:20
cygx ö/ 12:21
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)
RabidGravy jnthn, it doesn't make any difference to the behaviour
rindolf Hi all! Does anyone know what happened to "Planet Perl Six"? I cannot find it in web searches. 12:22
cygx rindolf: pl6anet.org/
jnthn nine, RabidGravy: I think soemthing's wrong, I don't see why it wouldn't work
Zoffix++ # nice advent entry! 12:23
Zoffix thanks
cygx we need to make docs.perl6.org/routine/open a bit more 'reality-aware'
donaldh "Missing serialize function for REPR ContextRef" on JVM golfs down to gist.github.com/donaldh/0cf1160b5fc87d4ba457 if anyone can offer any help
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
nine RabidGravy: can you bisect it?
rindolf cygx: hmmm... the page is too long, there's lacking "About" information, the style may be lacking - in general it seems crude.
12:25 cdg left 12:27 pierre-vigier left, bjz_ joined
cygx jnthn: should I make open(:bin) set :enc<utf8-c8>, and 'undocument' the rest of the missing features? 12:27
rindolf: it also misses the advent postings 12:28
12:28 bjz left
rindolf cygx: OK. 12:28
12:28 El_Che left
RabidGravy I think pl6anet.org is stmuk's baby I'm sure he would be happy for some help :) 12:29
12:30 pierre-vigier joined
jnthn cygx: If it's :bin I don't think we set any encoding, since you should read/write it... 12:30
12:31 domidumont joined
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
jnthn can't think of any recent change that is very likely to be to blame
cygx: Then it's wrong.
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
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)
jnthn bbl &
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
Zoffix dha++ # Brian d'Foy responded :) github.com/perl6/ye-olde/issues/2#...-161877228 12:34
12:35 pierre-vigier left
Zoffix Seems `panda smoke` tests just 19 dists and then freezes. 12:35
cygx btw, it appears that Pod6 does not parse formattings in table cells :( 12:37
eg design.perl6.org/S26.html#Formatting_codes
^ you need to scroll to the bottom, there are two ankers with the same id 12:38
12:38 profan left
stmuk Zoffix: there was a random user on twitter laughing at tablets.perl6.org 12:42
12:42 pierre-vigier joined, kid51 joined
Zoffix First time I see that subdomain 12:42
stmuk, what they were laughing at? :) 12:43
sufrostico Hi there 12:45
stmuk Zoffix: some doc work left tablets.perl6.org/tablet-5-io.html#sockets
Zoffix \o
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: github.com/perl6/mu/blob/master/mi...5/schedule ... but I don't have access to it.
someone here could help me with that ?
please 12:47
^-^
Zoffix sufrostico, sure. What do you need to add?
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
sufrostico, oh "don't have access to it"... right -_-
sufrostico, which date/title? 12:48
12:48 lestrrat left
sufrostico "9: Perl 6 and the wolf pack" 12:48
12:49 zakharyas joined
dalek : da96a62 | (Zoffix Znet)++ | misc/perl6advent-2015/schedule:
Book 9 Perl 6 and the wolf pack - sufrostico

  irclog.perlgeek.de/perl6/2015-12-04#i_11656648
12:49
Zoffix Done
sufrostico and here is the preview perl6advent.wordpress.com/?p=3031&...eview=true if anyone would like to provide feedback
12:50 rurban joined 12:51 Skarsnik joined, kid51 left
sufrostico thanks Zoffix 12:52
Zoffix sufrostico, no idea what a "loop sentence" is :) a loop block?
sufrostico ok, fixing..
12:53 lestrrat joined
Zoffix Looks good, other than that 12:53
sufrostico cool, thanks
12:54 uruwi left
Skarsnik Hello, can I add Websocket in module most wanted? x) 12:55
RabidGravy there is one isn't there? 12:56
github.com/tokuhirom/p6-WebSocket
12:57 kaare_ joined, pierre-vigier left
Skarsnik Only server ~~ 12:57
12:57 empT joined, empT left
RabidGravy ah 12:58
RabidGravy abandons bisecting on the gigabyte brix as likely to be doing it for the rest of the year 13:00
13:01 donaldh left, mr-foobar left 13:02 domidumont left, pierre-vigier joined, uruwi joined 13:04 pierre-vigier left 13:05 pierre-vigier joined 13:11 domidumont joined 13:13 empT joined 13:14 empT left 13:17 bbkr left
Skarsnik hm there is code for a client, need documentation maybe? x) 13:18
maybe should most-wanted should have a need-testing/work to separate existing stuff comparing to real need? 13:20
13:22 edehont left
RabidGravy nine, jnthn looks like 87288285f6f398ec7cba0900312ced4b580d79ed is the one what broke it :) Nothing obvious in there though 13:24
nine RabidGravy: that begs the question if it works without precompilation 13:25
RabidGravy: maybe it's not really a regression but a revealed precompilation bug 13:26
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?
RabidGravy nine, not quite sure how one would track that down 13:29
13:29 empT joined 13:30 empT left, empT joined, empT left
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
13:33 profan joined
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
RabidGravy nine, confirmed 13:39
timotimo Zoffix: i see a little incorrectness with your blog post :( 13:42
Zoffix: the text makes it sound like "await IO::Async::Socket.connect(..).then({ ... 13:43
})" awaits the connection promise and *then* the then thing gets attached
nine RabidGravy: can you add that to the ticket, please?
13:43 csd_ left
RabidGravy sure 13:44
Zoffix timotimo, doesn't it? 13:45
nine I'm afk for a couple of hours
timotimo Zoffix: method calls have tighter precedence than a gigantic amount of other things
Zoffix: you're actually awaiting the promise that gets returned by ".then" here.
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
13:46 empT joined
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
timotimo hah, all right :)
i didn't mean to sound like "you're wrong, here's five reasons why you're wrong"
13:47 ChoHag joined
colomon In attempt to install Inline::Perl5: 13:49
Attempt to free nonexistent shared string 'original' during global destruction.
Unhandled exception: Malformed UTF-8
*** Error in `/home/colomon/.rakudobrew/moar-nom/install/bin/moar': free(): invalid pointer: 0x0000000008be63d8 ***
(a lot of other “Attempt to free nonexistent shared string” messages as well.)
diakopter yoinks
13:50 empT left
colomon is finding Perl 6 very very frustrating this morning 13:54
DrForr I reported a few bugs last night myself. 13:55
Juerd Perl 6 is very unforgiving about malformed utf8 :)
colomon Juerd: note that the complaint comes while trying to install a major module that worked fine a week or two ago. 13:57
13:58 empT joined
Juerd colomon: That's impressive :) 13:58
13:58 empT left
colomon Does anyone have a suggestion for a GD-like module that doesn’t require Inline or Inline::Perl5? 13:58
13:58 empT joined, empT left
Juerd GD itself with NCI? 13:59
Not really ready-to-use
dalek rl6-roast-data: f9eba90 | coke++ | / (9 files):
today (automated commit)
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
colomon wait, perl6-GD is already using NativeCall, why is it also using Inline?
timotimo github.com/perl6-community-modules.../lib/GD.pm - doesn't use Inline 14:01
er
it *does* use inline. huh.
apparently to get the sizes of structs or something?
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.
timotimo who fixes that?
14:02 z8 joined
colomon it’s perl6-community-modules, we can fix it. 14:02
how do I do that in NativeCall?
Skarsnik do what? 14:03
colomon Skarsnik: github.com/perl6-community-modules.../GD.pm#L28
Skarsnik nativesizeof ?
14:04 raiph joined
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
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…»
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#
timotimo what do you use in NativeCall to get what your compiler thinks is "int"?
Skarsnik int32
cygx timotimo: arrays of structs, not arrays of pointers to structs
14:06 z8 left
timotimo oh, that's a good point 14:07
cygx timotimo: github.com/MoarVM/MoarVM/blob/mast...rray.c#L59
Skarsnik m: use NativeCall; class GDPoint is repr('CStruct') { has int32 $.x; has int32 $.y };
camelia ( no output )
timotimo right
cygx that's bad if you want to go by actual C semantics
timotimo well, in this case it's easy enough to have an array that's two times as big and contains ints
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 :␤»
Skarsnik m: use NativeCall; class GDPoint is repr('CStruct') { has int32 $.x; has int32 $.y }; my CArray[GDPoint] $a;
camelia ( no output )
Skarsnik The issue you can't create the array
timotimo you can not? just use malloc? 14:09
CArray of int32 would allow you to create one of the size you wish for by assigning to a high index
Skarsnik m: use NativeCall; class GDPoint is repr('CStruct') { has int32 $.x; has int32 $.y }; my GDPoint @a[2]; #could be cool 14:10
14:10 z8 joined
camelia ( no output ) 14:10
14:12 z8 left
Skarsnik timotimo, NC should provide malloc I think. to allow to write my Pointer[int32] $a; $a.alloc(); 14:14
14:14 empT joined
timotimo sub malloc($size) is native(Str) {*}; done :) 14:14
hm, $size, $count, right?
Zoffix m: say "{65/467*100}% of dists in ecosystem have files with @*INC"
camelia rakudo-moar 734549: OUTPUT«13.918630% of dists in ecosystem have files with @*INC␤»
14:14 empT left
timotimo ugh 14:14
14:15 empT joined, empT left
timotimo Zoffix: that should punch the kwalitee down :P 14:15
well, @*INC is only a one-time deprecation thing
so it probably has no reason to stay in Kwalitee
14:15 empT joined, empT left
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
timotimo Skarsnik: and actually, you can have Pointer[AStruct] and do pointer arithmetic on that
colomon is there NativeCall documentation somewhere? 14:18
flussence computer: tea, Earl Grey- ...wait, never mind
yoleaux 10:30Z <stmuk> flussence: I see two pl6anet-atom.css
10:31Z <stmuk> flussence: should I use first or seconf?
timotimo documentation is still in the zavolaj repo, but partially outdated i expect
abraxxa colomon: doc.perl6.org/language/nativecall 14:19
cygx note that I did make arrays of structs work in Native::LibC (cf github.com/cygx/p6-native-libc/blo...uctarray.t ), but it's all one big hack
it broke during the GLR, I I think it still has some issues
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
abraxxa The zavolaj git repository (where NativeCall is developed) should be changed 14:19
cygx abraxxa: NativeCall is developed in the rakudo repository 14:20
abraxxa cygx: I know, but the docs say otherwise
timotimo interesting 14:22
RabidGravy Zoffix, thanks for reminding me, that was what I was going to test next :)
14:22 edehont joined
cygx sadly, that's not the only place where the docs say things that are no longer (or even never have been) accurate :( 14:22
14:23 donaldh joined
[Coke] m: class A { method WHAT {π}} ; A.WHAT.say # DIHWIDT. 14:23
camelia rakudo-moar 734549: OUTPUT«(A)␤»
Zoffix RabidGravy, inc stuff? You got to dists that showed up: github.com/jonathanstowe/p6-Sys-Lastlog and github.com/jonathanstowe/p6-Sys-Utmp
colomon abraxxa++ # note that a search for NativeCall returns nothing.
abraxxa colomon: i also found it after a pointer from someone around here 14:24
timotimo cygx: yeah, docs are hard ;( 14:25
RabidGravy Zoffix, yeah I knew which ones - they use @*INC to locate the private .so files :)
it was supposed to be temporary until the compunit stuff settled down, but you know how things are ;-) 14:27
14:27 pyrimidi_ left 14:28 pyrimidine joined
[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␤␤»
cygx I'm fixing the documentation for &open right now, but I need to know how we want to handle :bin 14:29
currently, it's an alias for env => "utf8"
*enc
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
[Coke] Not worth changing at all. 14:31
14:31 empT left 14:32 empT joined, empT left
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␤ …»
colomon m: sub a($a, $b) { say $a.WHAT; }; a((1, 2), (2, 3)) 14:33
camelia rakudo-moar 734549: OUTPUT«(List)␤»
timotimo oh!
14:33 cdg joined
timotimo could be rakudobuggable 14:33
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 rurban left
[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
... can we get a WHATEVER? ;)
colomon List :$start(Int $x1 where { $x1 >= 0 }, Int $y1 where { $y1 >= 0 }) = (0, 0) 14:37
is getting me the error
Shape declaration with () is reserved;
please use whitespace if you meant a subsignature for unpacking,
or use the :() form if you meant to add signature info to the function's type
any hints at how to get that working in modern rakudo, or should I just ditch the fancy declarations? 14:38
14:38 CurtisOvidPoe joined
timotimo um, why is there a : before the $start? 14:38
oh, is this in a parameter list?
colomon yes
named parameter
CurtisOvidPoe I happened to stumble across this. Anyone able to answer the person? stackoverflow.com/questions/3408082...-in-perl-6
timotimo what's wrong about putting whitespace in front of the ( ) ?
colomon is not sure he likes the (perl6) GD user interface 14:39
timotimo: will that do the right thing?
vytas is it impossible to remove a module using panda or is it just not documented?
14:39 sufrostico left
timotimo i think so 14:39
well, maybe it has to be [ ] instead of ( ) ?
cygx m: Rat.new(71,10**50).nude.say
camelia rakudo-moar 734549: OUTPUT«(71 100000000000000000000000000000000000000000000000000)␤»
timotimo vytas: it's not yet implemented, but after "curli" has finally been merged, it's quite possible to implement that soon
cygx m: 0.00000000000000000000000000000000000000000000000000071.nude.say 14:40
camelia rakudo-moar 734549: OUTPUT«(71 99999999999999999322094867436162797646170844194406400)␤»
cygx so the 64bit limit is not enforced
not sure why we end up with that particular denominator
looks buggy to me
RabidGravy oh Find::Bundled is broken by this as well 14:41
14:41 hankache joined
Juerd We have .nude in the language but debate whether tau would be appropriate ;) 14:41
hankache o/ #perl6 14:42
14:42 skids joined
timotimo cygx: could very well be a bug, yeahn 14:42
it looks weird in any case. 14:43
[Coke] m: 0.00000000000000000000000000000000000000000000000000071.WHAT.say
camelia rakudo-moar 734549: OUTPUT«(Rat)␤»
AlexDaniel Juerd: in fact, we treat a macron as a superscript minus
[Coke] so, the bug is very likely in the .nude impl
stmuk /last itz
oops
cygx m: say 100000000000000000000000000000000000000000000000000e0 14:44
camelia rakudo-moar 734549: OUTPUT«1e+50␤»
14:44 _mg_ left
cygx m: say 100000000000000000000000000000000000000000000000000e0.Int 14:44
camelia rakudo-moar 734549: OUTPUT«100000000000000007629769841091887003294964970946560␤»
Juerd AlexDaniel: That's silly, but fun :)
AlexDaniel Juerd: if it works for macron, then why not τ :) 14:45
cygx [Coke]: no, looks like it's in the code that creates Rat values from literals 14:46
hankache m: say pi.WHAT;
camelia rakudo-moar 734549: OUTPUT«(Num)␤»
cygx (or perhaps not)
Juerd pi is defined as ....e0
hankache m: say pi.Rat; 14:47
camelia rakudo-moar 734549: OUTPUT«3.141593␤»
14:47 empT joined
hankache m: say pi; 14:47
camelia rakudo-moar 734549: OUTPUT«3.14159265358979␤»
Juerd m: say tau;
camelia rakudo-moar 734549: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4r7cwkixCK␤Undeclared routine:␤ tau used at line 1. Did you mean 'tan'?␤␤»
Juerd 1;0 juerd@cxie:~$ perl6 -e'say tau' 14:48
6.28318530717959
14:48 empT left
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␤»
cygx m: say pi.Rat*e # when is calculate like a pirate day again?
camelia rakudo-moar 734549: OUTPUT«8.53973494781382␤»
14:48 empT joined, empT left
timotimo ʇɐu 14:48
m: say ʇɐu
camelia rakudo-moar 734549: OUTPUT«5===SORRY!5=== Error while compiling /tmp/bAEjiPpGVQ␤Undeclared routine:␤ ʇɐu used at line 1␤␤»
timotimo m: say tau
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'?␤␤»
AlexDaniel m: sub foo (:$z ($y (Int $x where { $x > 3 }))) { say $z; say $y; say $x }; foo($z => [[25], ]);
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], ]);␤»
timotimo .u u 14:49
yoleaux U+0075 LATIN SMALL LETTER U [Ll] (u)
timotimo oooh, trololo.
AlexDaniel m: sub foo (:$z ($y (Int $x where { $x > 3 }))) { say $z; say $y; say $x }; foo(z => [[25], ]);
camelia rakudo-moar 734549: OUTPUT«[[25]]␤[25]␤25␤»
AlexDaniel m: sub foo (:$z ($y (Int $x where { $x > 3 } = 42))) { say $z; say $y; say $x }; foo(z => [[25], ]);
camelia rakudo-moar 734549: OUTPUT«[[25]]␤[25]␤25␤»
AlexDaniel m: sub foo (:$z ($y (Int $x where { $x > 3 } = 42))) { say $z; say $y; say $x }; foo();
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
Juerd m: say pi.Rat.nude 14:50
camelia rakudo-moar 734549: OUTPUT«(355 113)␤»
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␤»
AlexDaniel m: sub foo (:$z ($y (Int $x where { $x > 3 } = 42)) = [[100],]) { say $z; say $y; say $x }; foo(z => [[-20],]);
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⏏0520],]);␤»
AlexDaniel what?
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␤␤»
colomon oooo, have GD passing tests again. 14:54
Juerd colomon: Without inline?
colomon of course, the test looks very, very simple
Juerd: yes
the tests in the file don’t exercise most of the commands, they may still be broken. 14:55
Juerd That's wonderful :)
Probably great for performance too
colomon but this is at least a step in the direction of being able to do my $work. ;)
14:55 abraxxa left 14:56 hankache left, empT joined
colomon whoops, forgot to fix meta.info 14:56
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.
RabidGravy just so I'm clear, is there a documented best way of finding a co-installed .so file from $*REPO? 14:59
15:00 g4 left 15:01 empT left, csd_ joined
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
flussence yeah, looking at that feed generator it doesn't seem customisable in the slightest. oh well. 15:06
RabidGravy clearly someone needs to make the software in Perl 6 15:07
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
Good luck with that!
colomon Juerd: I’m not sure I actually need it for what I want to do.
Juerd I have no idea what you want to do 15:10
But I'd probably generate SVG and have something convert that to bitmaps :)
15:10 MadcapJake joined
MadcapJake .botsnack 15:11
any idea why perl6 can't find `liblinenoise.so`? 15:12
15:12 ir2ivps4 left
MadcapJake can't locate it either 15:13
yoleaux!
yoleaux MadcapJake!
flussence it ought to have been installed with the module
if it's not there, I guess curli ate it
colomon Juerd: hmmm, yeah, SVG::Plot might have worked for me too
MadcapJake yeah i think curli ate it
RabidGravy it is entirely possible that the curli thing hasn't been updated into that 15:14
MadcapJake "==> Successfully installed Linenoise"
timotimo MadcapJake: probably have to install the -devel thing, too
oh, wait, liblinenoise.so is in the Linenoise module?
MadcapJake what -devel thing?
oh yeah
timotimo yeah, not sure why we do that
flussence interesting, the module tries to catch the error but dies anyway
MadcapJake i apt-file and apt-cache searched, no liblinenoise in apt repos
timotimo huh
zengargoylew i somehow though linenoise was built-in but somehow needed the Linenoise.pm file to be activated. 15:15
cygx zengargoylew: it used to be built-in as a replacement for readline which got kicked out due to license issues 15:17
then, it moved out as well
zengargoylew ah
MadcapJake seems like something that should be builtin to me
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 github.com/MoarVM/MoarVM/commit/0b...ab3683fa8d
MadcapJake ahh
what would NativeCall need to wrap to get this functionality? 15:19
zengargoylew sorta looks like panda doesn't install .so files ATM. 15:20
MadcapJake where are modules installed?
Skarsnik well it should maybe try to use the distrib libnoise if installed?
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
Skarsnik Look if the JSON provide the file
*META
15:22 grondilu left
MadcapJake i now have a libnoise.so but *not* a liblinenoise.so, maybe that's the problem 15:22
timotimo o_O
MadcapJake no that couldn't be it xD
timotimo why is it called that
MadcapJake libnoise is a noise generating C++ library :P
RabidGravy the .so file should really be in the %?RESOURCES but that's NYI afaik
timotimo m) 15:23
right, that's not the right one for this task :D
leedo yeah the Linenoise module is rather broken for me as well. it installs, but repl won't launch :/
MadcapJake unless you wanted it to randomly generate history/tab completions xD
Skarsnik huuh
MadcapJake leedo: same here, says it's looking for native library liblinenoise.so 15:24
Skarsnik It should be liblinenoise.so.0 x)
RabidGravy I think there's something wrong with CompUnit::Repository::Installation.files
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?
leedo MadcapJake: strangely i can't `find . -iname '*noise*'` finds nothing in my rakudo install dir
MadcapJake how do you install the dev package of liblinenoise
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('/home/camelia/.perl6/2015.11-353-g734549a')␤Cannot unbox a type object␤ in block <unit> at /tmp/asiBrv4MlB:1␤␤»
leedo MadcapJake: i think the module ships with linenoise.c/h 15:27
cygx MadcapJake: just compile github.com/MoarVM/linenoise manually
skids Oh, I guess distros don't provide a package for it since everyone embeds it... hrm.
cygx the moar version has quite a few changes from upstream: github.com/antirez/linenoise/compa...rVM:master 15:28
MadcapJake cygx: how do I compile this? 15:29
cygx gcc -shared -o liblinenoise.so liblinenoise.c
probably 15:30
[Coke] I thought the point of the module was that we didn't need to manually compile things?
cygx ;)
[Coke]: it ir worked, sure
MadcapJake where do I put it that perl6 will find it?
cygx *if it
damn those keys - all right next to each other
15:30 andreoss left
MadcapJake this worked: "gcc -fPIC -shared -o liblinenoise.so linenoise.c" 15:31
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)
cygx MadcapJake: ETOOMUCHWIN32CODING - no -fPIC necessary on windows
|Tux| does anyone have plans for that?
MadcapJake cygx: not on windows
Skarsnik MadcapJake, yes it should work, but it's weird
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);
MadcapJake ahh
15:33 pierrot left
MadcapJake nicely gcc told me that i needed that flag :) 15:33
sweet! it works! 15:34
15:34 nadim left
MadcapJake this has been my biggest annoyance with the repl and I didn't even realize there was a solution already available! xD 15:34
|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?
Skarsnik still wait for someone to have a look at Rt #126645 and avoid having to install -devel package x)
It's panda or rakudo/Moar? since it's look like it's from Moar? 15:37
15:37 khw joined
zengargoylew yah, after panda install, there's nothing under .../install/share/perl6 that's the right size for my .so file. 15:37
it's getting created under the blib/lib build directory, but never makes it to the install 15:38
|Tux| hoelzro, yt?
cygx cu o/
15:38 cygx left 15:39 pierrot joined 15:41 pierre-vigier left
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:41
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
Skarsnik RabidGravy, Should the .so should be on the Meta.info to be installed?
RabidGravy moritz, is
m: for $*REPO.repo-chain -> $v { say $v.perl; say $v.files("foo").perl } 15:45
camelia rakudo-moar 734549: OUTPUT«CompUnit::Repository::Installation.new('/home/camelia/.perl6/2015.11-353-g734549a')␤Cannot unbox a type object␤ in block <unit> at /tmp/TLEp8HymDK:1␤␤»
RabidGravy Rakudobuggable?
zengargoylew then looked for file of same size under the install and ~/.perl6 directories... nothing matches.
RabidGravy moritz, if so I'll do it forthwith
leedo it looks like the author is aware github.com/hoelzro/p6-linenoise/issues/9 15:46
15:48 pierre-vigier joined
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:48
flussence Zoffix++ # wow, that advent post does *so much stuff* in barely any code 15:49
15:50 TEttinger left
mst can we stick rakudobrew prominently on rakudo.org/how-to-get-rakudo/ ? 15:50
I went www.perl6.org -> get -> that page
and making sure people have a fresh and shiny rakudo is gonna get real important soon
DrForr As we just ran into on #perl on the "other" network :)
15:51 TEttinger joined
RabidGravy moritz, 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
otherwise people will stop reading after the first sentence
15:52 donaldh left, donaldh joined 15:56 grondilu joined 15:57 sufrostico joined 15:58 empT joined
RabidGravy zengargoylew, I can confirm that panda isn't installing .so files like it used to 15:58
darutoko please help, why is this wrong? @!availible .= grep($_ != $value); 16:01
hoelzro [Tux]: I am now! 16:02
flussence darutoko: needs {}s around the grep statement
grep({$_ != $value})
hoelzro logs back
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.
|Tux| 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?
darutoko: that'd be @!available .= grep(* != $value)
darutoko no
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 ()
timotimo please show me
darutoko so I assumed it doesnt needed
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
[Tux]: heh, I don't know why I didn't add that =) 16:05
MadcapJake hoelzro: it wasn't installing the .so file though
|Tux| how does my code look like (except for the indentation and spacing)?
hoelzro MadcapJake: panda doesn't seem to do that since CURLI ='(
16:05 n0tjack joined
darutoko timotimo, first example 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
lucasb hoelzro: do you think MoarVM/linenoise repo should be removed to avoid confusion with your repo?
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
timotimo darutoko: the thing is that grep uses "smart match" semantics
ah. that's a good hint. we should make that much more explicit
lucasb hoelzro: ah, ok
hoelzro MadcapJake: I also wouldn't mind hearing your thoughts on how to inform new users "hey, install Linenoise for extra goodness"
darutoko timotimo, thank you for help 16:07
flussence we don't have a doc page for smartmatch
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")
flussence that probably needs fixing
darutoko timotimo, it would be great
hoelzro it looks like there was talk about distributing Linenoise with rakudo, which would be one way of solving the problem =)
well, the newbie introduction problem ;) 16:08
timotimo flussence: would you put that under "Tutorials" or "Syntax Features"?
flussence well there's doc.perl6.org/routine/~~
timotimo or even "API Docs" could have it
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
timotimo flussence: for a newbie, it won't be obvious that "Mu:U" means you can put any type, like "Int"
flussence timotimo: I'd say the section depends on how long the document ends up being :) 16:09
timotimo hah
16:09 empT left
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...
I'd go with syntax for now
MadcapJake hoelzro: something like this: gist.github.com/MadcapJake/33cda3864a7eb4c25ad6 16:10
lucasb wherever some documentation mentions linenoise, I would suggest to also mention rlwrap as an alternative 16:11
hoelzro lucasb: good idea
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
colomon Constraint type check failed for parameter '$x2' in sub-signature of parameter $end
in method line at /home/colomon/.rakudobrew/moar-nom/install/share/perl6/site/sources/4FD292E5F7738288ABE46C719CE4A081A5C0F0E5:135
(precomp making errors much less useful?)
flussence timotimo: will do
dalek c: edeb6ed | (Anthony Parsons)++ | WANTED:
Add smartmatch docs to the WANTED list
16:15
MadcapJake hoelzro: but it's just two lines at the beginning of a REPL (perhaps you could even just make it one)
flussence hm, I think something clever is needed to get the doc page for the ".." operator to work... 16:16
hoelzro MadcapJake: yeah, that's true 16:17
feel free to add that to Rakudo!
MadcapJake pull up the python repl, there's three lines of info
hoelzro fair point 16:18
lucasb the output of "perl6 --help" may also be a good place to mention REPL details
hoelzro lucasb: agreed
16:18 pierre-vigier left
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 :)
MadcapJake hoelzro: thanks, was just about to ask :)
stmuk I've been asked to do a short perl6 blog for an iT recuiter if anyone wants to comment on google docs goo.gl/fD8CVl
MadcapJake lucasb: lol, well then we could offer that too
hoelzro lucasb: having a -q analog would be a good idea
MadcapJake interestingly, -q isn't even listed in `python --help` 16:20
lucasb py3 only :(
MadcapJake ahh
16:20 FROGGS left
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
hoelzro then at least the REPL would continue, just with a warning 16:22
jnthn hoelzro: That's a catchable exception, no?
dj_goku .messages
ugexe can i load a non-core CompUnitRepo yet? wanting to work on fat packing...
hoelzro jnthn: iirc, it's not 16:23
I catch exceptions when loading Linenoise in Perl6::Compiler
jnthn m: use NativeCall; sub foo() is native('libyoudonothave') { }; foo()
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/sources/2FB6903EB8CAAB2ECB7B171E63C7EE2E569D9493:226␤ in me…»
jnthn m: use NativeCall; sub foo() is native('libyoudonothave') { }; try foo()
camelia ( no output )
jnthn Yes, but you'll get the exception on first call. 16:24
m: use NativeCall; sub foo() is native('libyoudonothave') { }; try foo(); say 'alive'; # just making sure :)
16:24 Actualeyes left
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.
MadcapJake hoelzro: github.com/rakudo/rakudo/blob/nom/...r.nqp#L155 16:25
hoelzro MadcapJake: I would add an else on L161
ugexe flussence: the loading would have to occur before regular modules get loaded
stmuk flussence: thanks I've added a 'glue' line
MadcapJake hoelzro: it looks like it's supposed to continue already
hoelzro MadcapJake: it does, but failing to load an .so causes MoarVM to exit() 16:26
it's not an exception, iirc
MadcapJake ahh
RabidGravy Zoffix, regarding the @*INC in those modules, currently can't fix because of two problems
jnthn hoelzro: I just showed you it was/
hoelzro er, sorry
I didn't see that
doing too much multitasking this morning
jnthn :)
jnthn just finished a 3 day concurrency class and is exhausted 16:27
RabidGravy beer is the answer
jnthn :)
Hotkeys I'm not a huge beer fan
although maybe I've just never had good beer
jnthn What about a small beer? :)
MadcapJake prefers hard cider/perry
Hotkeys oh jnthn
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;
camelia rakudo-moar 734549: OUTPUT«(Array)␤»
hoelzro how should panda leverage CURLI to install .so files?
stmuk how many days would the class in serial have been?
jnthn hoelzro: I think nine++ was working on making %?RESOURCES work
|Tux| Why does this return "(Array)" instead of "(IO::X)" ?
hoelzro should I have something for liblinenoise.so in META.info's provides section?
16:28 virtualsue joined
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? github.com/rakudo/rakudo/blob/nom/...r.nqp#L155
jnthn And you call .xx at the end of new
Hotkeys Currently in a lecture solely because I will get 2% bonus grade in this course just for attending
good stuff
hoelzro MadcapJake: I just realized; the CATCH block only wraps the loading of Linenoise
not the calls to linenoise()
|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;
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␤␤»
jnthn MadcapJake: hoelzro got it :)
hoelzro so Perl6::Compiler *thinks* Linenoise is ok
RabidGravy it definitely is catchable, that's how LibraryCheck works 16:30
hoelzro for some reason I thought it wasn't =/
[Coke] |Tux|: github.com/perl6/roast/blob/master...list.t#L21
jnthn |Tux|: you'll need more like my \obj = self.bless; obj.xx; obj } or so
|Tux|: Or just make xx return self
[Coke] there's an anon class that does a crappy job of half your request. :)
MadcapJake hoelzro: but there's a wrapper around the previous load view self.eval too 16:31
s/via/view/
hoelzro MadcapJake: I don't see it 16:32
hoelzro is looking at L256
MadcapJake hoelzro: github.com/rakudo/rakudo/blob/nom/...r.nqp#L124
oh, I was looking at where `use Linenoise;` was called
16:34 uruwi left
hoelzro there might be a sentinel call we can use from liblinenoise.so in that setup code 16:35
16:35 bpmedley left
|Tux| readline requires an object with REPR MVMOSHandle 16:36
maybe the pool I took a dip in is too deep :)
MadcapJake hoelzro: maybe linenoiseBeep or linenoiseHistoryLoad 16:37
hoelzro MadcapJake: history load, maybe 16:38
jnthn Everyone would love a beep on repl start ;)
MadcapJake hehe
Hotkeys nopls 16:39
MadcapJake I changed mine to a bell and it's quite a lot more soothing
ilmari xset b off # shuttup
MadcapJake sometimes I sit there and just make a little beat from the bell sounds xD
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:40
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:41
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?
MadcapJake lol that would be crazy
RabidGravy yeah 16:43
jnthn decommute &
MadcapJake hoelzro: what's the default history length for linenoise?
hoelzro looks like 100
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
which is annoying because I can never tell whether something is wrong or someone in irc is messing around or what
MadcapJake Hotkeys: ugh, maybe it's just a linux thing then because I haven't heard that sound for a while now.
Hotkeys no not the hardware bell 16:45
just a software sound but
windows uses it for everything
error messages, BEL characters
some games use it to say "hey you're joining a match"
Hotkeys looks at smite
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.
Hotkeys like, haptic feedback? @ flussence 16:47
stmuk gamer keyboards are nice and clicky
zengargoylew probably a moving part prone to breakage and drawing lots of current.
16:47 zakharyas1 joined
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
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:48 zakharyas left
Hotkeys my laptop keyboard is pretty decent though 16:49
modern thinkpad
16:49 domidumont left
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
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?!
yeah right!
16:52 ribasushi left
Hotkeys true 16:52
I want cool non-standard controls
MadcapJake yes me too! 16:53
I'm struggling to think of solid usecases but that always comes after you build it right? ;)
zengargoylew well, we did used to have TURBO buttons.. 16:54
Hotkeys yeah
I think this would count as basic research
MadcapJake Hotkeys: lol agreed!
Hotkeys maybe nobody will think of a use for a hundred years
who knows
MadcapJake if you haven't seen this yet, it's pretty awesome: www.youtube.com/watch?v=Y7aEiVwBAdk
Hotkeys at least we'll have cool nonstandard controls
MadcapJake Hotkeys: This is about principles!
Hotkeys I'll take a look when I get home
I'm in a lecture right now
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
Hotkeys speaking of atom
wtb better perl 6 highlighting 16:56
stmuk Brad Gilbert: thanks for feedback
b2gills Anyone else wish that Google Wave was still a thing, and that it hooked into GitHub? 16:58
RabidGravy most of the bits you'd need are open sourced now :) 16:59
MadcapJake b2gills: en.wikipedia.org/wiki/Apache_Wave
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␤»
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␤»
hoelzro MadcapJake: you're from WI? 17:04
MadcapJake yep! 17:05
hoelzro so am I!
which part?
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
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.
hoelzro b2gills: the driftless area? SW WI? 17:07
MadcapJake hoelzro: that is crazy!
stmuk b2gills: I couldn't see an obvious way .. maybe I'm being stupid
MadcapJake b2gills: there's a beautiful state park on the misssissippi called Wyalusing
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
b2gills South of La Crosse 17:08
hoelzro small world =)
MadcapJake I've only been through La Crosse a few times (mostly to head to Iowa)
17:09 Deepak joined
b2gills Have you stopped at Horsefalls in Lansing Iowa? 17:09
vytas how can i remove module previously installed by panda ? 17:10
gtodd vytas: I think you have to do that manually 17:11
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:12 lucasb left
gtodd panda --verbose --installed list 17:13
vytas: the panda help is sort of unclear it seems like it should be: panda list--verbose --installed 17:14
but that doesn't work
vytas gtodd, that gives git link for module that i want to remove :)
gtodd ahahahah
stmuk gtodd: I thought maybe an example section in the docs might help 17:15
b2gills MadcapJake: The cabin is right there: www.google.com/maps/place/43°28'02...°13'13.8"W
stmuk certainly the way the current help is structured implies the wrong syntax
gtodd mine shows git links and question marks etc.
17:16 zakharyas1 left
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:16
b2gills Yeah I have a relative that is on the other side of 35, south of the Lansing bridge 17:17
17:17 yqt joined
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:17
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.
stmuk I'm doing that until all the bugs are out of curli
precomp-singleprocess? how does that extend curli? 17:19
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:21
17:22 edehont left
MadcapJake haha yeah it's a crazy place! there's actually an interesting story I read recently about the creator of it. 17:23
17:24 xfix joined
MadcapJake b2gills: www.youtube.com/watch?v=nQrtFdYEEU...e=youtu.be 17:24
vytas stmuk, just logged a bug for that github.com/tadzik/panda/issues/256 17:26
TimToady m: say 42 ~~ Str
camelia rakudo-moar 734549: OUTPUT«False␤»
TimToady m: say 42 ~~ Bool
camelia rakudo-moar 734549: OUTPUT«0␤»
TimToady I think that's a harmless buglet, but a buglet nonetheless 17:27
17:28 leont joined 17:30 sufrostico left 17:31 Begi joined
stmuk hmm I'm not sure I'd use google docs for colab stuff again .. do gists allow that with a sane UI? 17:31
17:32 z8 joined
Zoffix You can fork a gist :) 17:33
ilmari but can you send a PR against the original one? 17:34
17:34 z8 left
vytas so by default modules are installed under ~/.perl6/<perl6version>/precomp/ which obbviously stores binary files.. 17:35
lucs Drives me nuts: doc.perl6.org autofocus in the search field! (I use the keyboard to navigate in the browser) 17:36
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
ilmari lucs: I hate pages that do that, unless the main purpose of the page is to search (e.g. search engine front page)
Zoffix chimes the "search field autofocus" bell
We should make that a drinking game. 17:38
lucs, what buttons are you trying to press exactly?
MadcapJake does nqp have the topic variable?
lucs Zoffix: None per se, I happen to use pentadactyl.
Zoffix well, there's your problem :P
vytas gtodd, i appreciate that, and it's only missing tooling around it, which will come with time.
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?
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.
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
Zoffix lucs, j :S
lucs mspo: Sure, or tab. but there's the annoyance.
mspo lucs: indeed 17:41
Zoffix lucs, well, just add a greasemonkey script to unfocus it
gtodd vytas: I think some fairly advanced things are being attempted with the module loading and versioning etc. so ...
mspo I often use space and command-stuff to move around too
17:41 llfourn left
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 :)
mspo so it does
Zoffix: I'm mostly annoyed that it breaks cmd-fwd and cmd-back
but I'll live
dalek kudo/nom: f4f505f | coke++ | docs/announce/2015.12.md:
Pull in near-final list from gist.

This includes many repos, CREDITS/AUTHORS files. We programatically cleaned up as many dupes as possible, then manually cleaned up some more.
17:42
vytas gtodd, sure, and I am happy about it, but I hope it gets fixed before Christmas :)
Zoffix lucs, you're not. The searchbox is big bikeshed around here. I'm planning to make it change colours randomly soon, to match bikeshed.com/
mspo what's powering it?
lucs Zoffix: Good to know you're taking care of important tasks like that :)
stmuk I added a search box to pl6anet.org/ in about 5 mins using a google service :) 17:43
surely it's not clever ajaxy goodness
[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)
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.
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 :)
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! :)
lucs :)
17:47 raiph left
stmuk . o O ( cgi-bin/search.p6 form submit ) 17:47
Zoffix Woooo \o/ My amazing repo-forking, branch-creating script worked from the first try. 17:48
Zoffix is about to shoot @*INC PRs
[Coke] lucs - hitting tab to get in the search box sounds like the sanest proposal so far. 17:49
17:49 raiph joined
gtodd Zoffix: by shoot you mean explain they no longer apply ? 17:49
[Coke] (right now tab goes to "Language", it seems)
Zoffix gtodd, by shoot I mean fix the failures and submit PRs
gtodd :-O
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
I started my first module, wrote first 11 lines and logged 6 bugs. admittedly nothing about Perl6 itself...
Zoffix gtodd, in 65 repos :) Though I think some are being my skill level to fix. 17:51
a/being/beyond/;
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 :)
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 :)
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.")
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:56 vytas left
gtodd vytas S11 and S22 17:57
oops
lucs zengargoylew: FWIW, I'll try to make a greasemonkey script, and share with anyone for whom it may be useful.
Zoffix So for ( @*INC ) -> $dir { ... } is now for ( $*REPO.repo-chain ) -> $dir { ... } ? Right? 17:58
gtodd Zoffix: :-D
Zoffix ?
RabidGravy something like thay yes
Zoffix k
17:59 espadrine left
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"␤»
Zoffix m: my $module; say $module.defined ?? "Y" !! "N"
camelia rakudo-moar f4f505: OUTPUT«N␤»
zengargoylew mostly just reads the POD from a repo clone nowadays... easier to ack :P
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␤␤»
RabidGravy BTW the RT#126806 is definitenly github.com/rakudo/rakudo/blob/nom/...on.pm#L198
18:03 Begi2 joined
RabidGravy I'd fix but I'm not sure whether $name should be required or should be some sensible default 18:04
18:05 Begi left
stmuk #126806 18:06
gtodd so something like /home/pluser/perl6/share/perl6/site/sources/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?
stmuk RT#126806
RT #126806
I thought there was an RT bot
MadcapJake Zoffix: can't you just use www.w3schools.com/tags/att_global_tabindex.asp
Zoffix MadcapJake, for what? 18:08
MadcapJake someone earlier was asking for tab to go to the search box
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
stmuk RabidGravy: yeah just read the ticket I was looking at that yesterday
Zoffix MadcapJake, sure, but that's not the problem at hand :)
MadcapJake ah, i guess i didn't follow enough of the convo 18:10
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 }
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
18:12 bbkr joined
RabidGravy Zoffix, that's why I said sort of like that ;-) 18:13
Zoffix :)
RabidGravy and the RT above is related as that's how you get the files
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-354-gf4f505f␤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␤»
Zoffix \o/
stmuk, fwiw, the logger makes URLs: irclog.perlgeek.de/perl6/2015-12-04#i_11658355
stmuk ah 18:15
MadcapJake hoelzro: I tried to change github.com/rakudo/rakudo/blob/nom/...r.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?
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 :-)
ooops
dalek kudo/nom: aa1906a | (Anthony Parsons)++ | src/core/CompUnit/Repository/FileSystem.pm:
Make META.info loading work again
kudo/nom: cb7c6f4 | niner++ | src/core/CompUnit/Repository/FileSystem.pm:
Merge pull request #618 from flussence/meta-read-fix

Restore META6.json loading in libpath
gtodd Zoffix: congrats!
18:16 _mg_ joined
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.
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;
flussence first real rakudo patch :D
18:19 El_Che_ joined
stmuk m: say $*REPO 18:20
camelia rakudo-moar f4f505: OUTPUT«inst#/home/camelia/.perl6/2015.11-354-gf4f505f␤»
stmuk m: say $*REPO.perl
camelia rakudo-moar f4f505: OUTPUT«CompUnit::Repository::Installation.new('/home/camelia/.perl6/2015.11-354-gf4f505f')␤»
MadcapJake hoelzro: it fails silently too, not sure where to look for the error
gtodd Zoffix: why is the "inst/" important 18:21
18:21 Deepak left
Zoffix gtodd, ?? 18:21
gtodd I mean he "$type"
mspo where are the docs for the unit keyword? 18:22
tony-o gtodd: specifies what kind of compunitrepo it is
gtodd errm the $type of install
18:22 edehont joined
tony-o mspo: they don't match what is implemented: design.perl6.org/S11.html 18:22
gtodd so if it it was not a compunitrepo the type would be sometehing else?
tony-o gtodd: there are different types of CURs, one is a file, one is an installation
18:23 uruwi left
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
nine Just better and much simpler than with @*INC
gtodd oh right I forgot about INC ... now gone so filesystem will just be a type of CUR now ?
Zoffix nine++ 18:24
tony-o gtodd: not file system, just file
it just specifies the structure of the CUR
gtodd ah ok ...
tony-o the CUR also must handle how it's finding files etc.
mspo so where does unit class fit in?
gtodd I was thnking of the earlier question about how to remove a module with panda 18:25
tony-o good luck
gtodd "manually" is sort of not the right response at this time :-D
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.
mspo Zoffix: okay
method vs sub, etc?
gtodd yayayou don't have to use the advanced module stuff
though ... I mean at this stage ...
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:'
gtodd I perl6 development as the rush towards christmas happens :) 18:27
flussence: I was thinkng the same thing :)
flussence (maybe it'd inspire someone to write a CUR to load git: URLs on-demand :)
gtodd :-D 18:28
ugexe flussence: been there done that
tony-o i had code to do that flussence, there isn't a mechanism to load custom CURs
we had it in zef for a while
flussence aww.
ugexe not the cloud loading for github 18:29
dalek kudo/nom: 587f700 | TimToady++ | src/Perl6/ (2 files):
generalize literal True/False smartmatch test

Moved the test from Grammar to Actions, and it now applies to all actions that call check_smartmatch. Also applies to first arg of grep and first.
TimToady ^^^ is for nadim++
gtodd so you are raining on cloud loading
ugexe but only because as you mention, there is no way to load an external compunit
18:29 edehont left 18:30 leont left
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
nine tony-o: should be entirely possible now
ugexe to make it work meant editing CompUnitRepo.pm6 manually
18:30 leont joined
ugexe to add $short-id = ExternalCompUnitRepo 18:30
tony-o can we use a custom CUR ? 18:31
or do we need end users to change syntax to load over the wire?
nine tony-o: CompUnitRepo (or what remains) is just a bit of convenience. You can add any CompUnit::Repository class to $*REPO
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 ?
nine BEGIN { class MyRepo does CompUnit::Repository { ... }; PROCESS::<$REPO> := MyRepo.new(..., :next-repo($*REPO)); } use Whatever;
ugexe how do you make sure the CUR is loaded before modules start getting loaded?
nine ugexe: BEGIN? 18:33
ugexe the module that begin is in still has to get loaded
Zoffix hm
18:33 cognominal joined
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
Zoffix: use lib '<whatever>' breaks precomp 18:34
ugexe it was discussed long ago to load via -CExternalCompUnit
18:35 uruwi joined
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.
cognominal in the absence of supersede what is the best way to redefine a method of the setting, short of compiling a modified setting?
Zoffix This problem sounds awfully familiar.
tony-o cognominal: you can monkey type it
Zoffix Ah: rt.perl.org/Public/Bug/Display.html?id=126718
cognominal tony-o, how? 18:37
ugexe can you &wrap it?
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:38
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
nine RabidGravy: I think it will be closely related to the solution for Module::Pluggable 18:39
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 leont left
cognominal * otherwise unmodified program 18:40
nine RabidGravy: %?RESOURCES is the only sane answer
tony-o cognominal: ah, augmenting isn't the right way to go 18:41
nine %?RESOURCES<linenoise.so>
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
i thought
nine Which I've got almost working. There's only an issue with precompiling modules that use %?RESOURCES and use other modules.
RabidGravy indeed, but being NYI and there being things in the ecosystem that used @*INC
tony-o not sure i'd consider hijacking .print to be superceding
RabidGravy ah okay
tony-o you can redirect $*STDOUT, though
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
ugexe: %?RESOURCES<images><icon.png>.slurp
ugexe yeah, that is different
RabidGravy nine++ # I'll leave you to it then
18:43 llfourn left, donaldh left
ugexe design.perl6.org/S22.html#%25%3FRESOURCE in the example the second group (libraries) isnt file related 18:44
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 ?
retupmoca nine: are filenames on disk going to get mangled for %?RESOURCES?
cognominal not sure that's possible either
tony-o retupmoca: it appears they already are
retupmoca the difficulty is that then we can't just load a dll file from %?RESOURCES on windows
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?
tony-o cognominal: you can do that fore sure
s/fore/for/ 18:46
retupmoca because it will refuse to load if the filename on disk doesn't end in .dll
nine retupmoca: yes, we will store them by their sha hash probably
retupmoca so to load windows .dll files, we will still need to copy them to a temp directory with the correct filename/extension?
nine retupmoca: and yes I know this sucks for shared objects. Not sure what the best solution is.
hoelzro MadcapJake: is your work in your rakudo fork?
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
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.
nine: even if the filename is different
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 : gist.github.com/cognominal/c7c21d63649e6c5bfcc5
RabidGravy can you do something with forks or whatever they are called? 18:50
in windows
flussence resource forks?
retupmoca nine: that should be enough to keep me happy :)
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
18:51 domidumont left
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
cognominal tony-o, that would be nice. 18:52
18:52 domidumont joined
RabidGravy ADS that's what I meant :) don't do windows much these days 18:52
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>␤»
gfldex cognominal: ^^^
easy things shout be ...
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␤»
tony-o m: my $out = $*OUT; $*OUT = class { method print (*@args) { $out.say($_) for @args; } }; print "hello\nworld";
camelia rakudo-moar 587f70: OUTPUT«hello␤world␤»
tony-o m: my $out = $*OUT; $*OUT = class { method print (*@args) { $out.say("LINE: $_") for @args; } }; print "hello\nworld";
camelia rakudo-moar 587f70: OUTPUT«LINE: hello␤world␤»
tony-o eh, you get it
Zoffix :o 18:55
MadcapJake hoelzro: hold on i'll push up to gh
[Coke] t/04-nativecall/13-union.t is failing on r-m on the mac.
tony-o cognominal: i quit working on this quite a while ago but here's the code in the repo: github.com/tony-o/perl6-template-p...ne.pm6#L40
cognominal if I use augment instead of supersede, my gist compiles modulo a typo. 18:56
MadcapJake hoelzro: github.com/MadcapJake/rakudo/blob/...mpiler.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
gfldex m: &print.wrap({put callframe(1).line, ':', $_ }); 1.print; 'Foo'.print; (1,2,3).print
camelia rakudo-moar 587f70: OUTPUT«3763:1␤3763:Foo␤3763:1 2 3␤»
gfldex you will have to find the right callframe tho
[Coke] (failing) ... but apparently only one time. :P
hoelzro MadcapJake: thanks, having a look 18:58
18:58 leont joined 18:59 hoelzro left, hoelzro joined
Zoffix huh? There's a P5 module in the ecosystem 19:02
zengargoylew heh, would be cool if a program could just have a /resources virtual file system 19:03
Zoffix weird. 19:04
RabidGravy on Linux that would be entirely doable with some fuse thing
Zoffix I ran a script that cloned repos and the cloned version of 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
zengargoylew yeah, that's sorta what i was thinking. :) that plus cgroup and namespaces and such...
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?
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
Hotkeys o7
Zoffix :S oh 19:07
RabidGravy I've got a couple of things that have P5 in one branch and P6
in another
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
Zoffix This is weird. If I go and look at my fork, it says it was forked from "santex" not "supernovus": github.com/zoffixznet/flower
Hotkeys you sneaky zoffix you
Zoffix Hotkeys, :)
19:08 nadim joined
Zoffix Ahhh. k, I figured it out :) 19:08
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"
nine, no idea, I'm just going through the batch of @*INC-using modules
19:10 espadrine joined
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:12 El_Che_ left
nine I guess I picked a bad time for my precomp issue with none of the guts hackers online... 19:14
mspo are BUILD and BUILDALL run regardless of success? I have a is required error but BUILD is still executed 19:15
[Coke] I think required happens after you've tried to build it. how could it know you haven't set it yet? 19:16
mspo compiler checks? 19:18
so where can I init my class outside of BUILD/BUILDALL that's compile-time safe 19:20
okay putting nextsame; as the very first part of BUILDALL seems to work
Hotkeys is there a way to get (and call) a function given a string (of the function name)? 19:23
would I need to use eval
er nvm I know what I'll do
flussence m: sub foo { say 'foo' }; my $fn = 'foo'; &$fn 19:24
camelia ( no output )
flussence m: sub foo { say 'foo' }; my $fn = 'foo'; &$fn()
camelia rakudo-moar 587f70: OUTPUT«Cannot find method 'CALL-ME'␤ in block <unit> at /tmp/nQN48LQpyf:1␤␤»
mspo although I just cargo-culted that nextsame. I don't really grok what it's doing
flussence m: sub foo { say 'foo' }; my $fn = 'foo'; &"$fn"()
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…»
flussence m: sub foo { say 'foo' }; my $fn = 'foo'; &("$fn").()
camelia rakudo-moar 587f70: OUTPUT«Cannot find method 'CALL-ME'␤ in block <unit> at /tmp/qtFLctWnRM:1␤␤»
flussence not as easy as I thought it'd be...
m: sub foo { say 'foo' }; my $fn = 'foo'; say &$fn
camelia rakudo-moar 587f70: OUTPUT«foo␤»
flussence m: sub foo { say 'foo' }; my $fn = 'foo'; say &$fn.WHAT 19:25
camelia rakudo-moar 587f70: OUTPUT«(Str)␤»
flussence m: sub foo { say 'foo' }; my $fn = 'foo'; say &$fn .WHAT
camelia rakudo-moar 587f70: OUTPUT«===SORRY!===␤Method call must either supply a name or have a child node that evaluates to the name␤»
flussence Wat
Hotkeys m: sub foo { say 'bar' }; my $fn = 'foo'; say &$fn
camelia rakudo-moar 587f70: OUTPUT«foo␤»
flussence gives up
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 19:34 zakharyas1 joined, zakharyas left
zengargoylew m: sub foo { say "bar" }; my $fn = 'foo'; &::($fn).(); 19:35
camelia rakudo-moar 587f70: OUTPUT«bar␤»
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"}.()
camelia rakudo-moar 587f70: OUTPUT«foo␤»
gfldex flussence: found it :)
tony-o m: sub foo { say 'foo'; }; my $fn = 'foo'; &::($fn);
camelia ( no output )
RabidGravy how do I get the sha1 that it uses as it isn't the filename as I just checked
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"}.()
camelia rakudo-moar 587f70: OUTPUT«False␤True␤»
rakudo-moar 587f70: OUTPUT«foo␤»
Hotkeys Why does this happen
moritz Hotkeys: because any($foo) is a one-value junction 19:39
m: m: my $foo = <% .>; say $foo.Str
camelia rakudo-moar 587f70: OUTPUT«% .␤»
moritz that's how the scalarized array stringifies
Hotkeys ah
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
moritz my any(@$foo) or any($foo.list)
Hotkeys m: my $foo = <% .>; say so "%" eq any($foo.list);
camelia rakudo-moar 587f70: OUTPUT«True␤»
Hotkeys i see
I'll probably use an array instead then 19:40
moritz that's what they are for :-)
19:42 El_Che joined
zengargoylew mark 19:45
19:45 cdg left
moritz swwp 19:45
Hotkeys Zoffix: it looks like your irc spy bot doesn't respond to server pings, might not spy for very long 19:46
19:46 jme` left, FROGGS joined
El_Che n 19:47
hi
moritz modules.perl6.org/ # another SSL-enabled site
FROGGS o/
moritz letsencrypt++
diakopter moritz++
moritz: there is a non-ssl-resources warning for some of them
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://
er, docs maybe
moritz ... if the CDN supports https
diakopter one of the ones you changed a few hours ago
moritz (me has no idea which resources are non-ssl)
dalek href="https://perl6.org:">perl6.org: 81b21e3 | moritz++ | / (4 files):
Link to HTTPS version of modules.perl6.org
19:50
diakopter hm does letsencrypt give wildcards
FROGGS nine: has there been progress about alternative bin installation paths in the last days?
moritz diakopter: don't think so, but I'm not sure
diakopter because docs.perl6.org doesn't work because the cert is for www
moritz diakopter: ah, I probably missed an alias name
mspo foo.perl6.org/ 19:51
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: paste.scsys.co.uk/502436?hl=on&...Format+it! 19:52
I stripped the logic to a minimum in the example
19:53 _mg_ left 19:54 nadim left
nine FROGGS: no. Working hard on %?RESOURCES support so modules find their .so files again 19:54
FROGGS nine: ahh, cool
nine: I'm still banging my head at star
nine FROGGS: though I could use some help with a weird precomp issue :/ irclog.perlgeek.de/moarvm/2015-12-04#i_11658637
dalek href="https://modules.perl6.org:">modules.perl6.org: 7148483 | moritz++ | templates/layouts/default.html.ep:
Load favicon from protocol-relative URL

  diakopter++
19:55
FROGGS nine: huh, what does trigger that?
19:55 nadim joined
FROGGS nine: is a BEGIN block or an EXPORT sub involved? 19:55
nine nope 19:56
[Coke] TimToady++
dalek ecs: fa15a69 | moritz++ | html/index.html:
index.html: Load camelia via protocol-relative URL
19:57
FROGGS nine: is that probably about the unit keyword?
nine: what happens if Test2.pm is: module Test2 { } ? 19:58
gfldex m: .say for MY::;
camelia rakudo-moar 587f70: OUTPUT«$=pod => []␤!UNIT_MARKER => (!UNIT_MARKER)␤EXPORT => (EXPORT)␤$_ => (Any)␤$! => Nil␤::?PACKAGE => (GLOBAL)␤GLOBALish => (GLOBAL)␤$¢ => Nil␤$=finish => (Mu)␤$/ => Nil␤$?PACKAGE => (GLOBAL)␤»
FROGGS or... maybe the use statement returns an MVMContext now?
gfldex what is $¢ ?
FROGGS m: say (use Test)
camelia rakudo-moar 587f70: OUTPUT«Nil␤»
nine FROGGS: removing unit keywords does not change the output. 19:59
moritz gfldex: the current cursor
19:59 zakharyas1 left
FROGGS nine: and the error stays also without the our sub? 19:59
nine FROGGS: it disappears when I comment out the %?RESOURCES access 20:00
FROGGS aha
still weird though
can I try that on nom?
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?
nine yes, patch should apply on nom
20:02 telex left 20:03 donaldh joined, _nadim joined
FROGGS building it... 20:04
20:04 telex joined 20:05 rurban joined
[Coke] "merry sixmas" 20:05
20:05 nadim left
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
Some details here gist.github.com/donaldh/0cf1160b5fc87d4ba457
Anyone know how this is avoided on MoarVM ?
[Coke] Anyone mind if we include http proxy support in panda before christmas by bundling the appropriate module?
nine donaldh: that may even be related to my current issue 20:08
20:08 _mg_ joined
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 espadrine left
donaldh Is it happening on Moar too? 20:08
[Coke] t/spec/S17-supply/syntax.t hanging on OS X under heavy load. 20:09
:(
20:09 cygx joined
cygx m: "rn".subst(:g, /./, { given ~$_ { when "r" { "\c[CR]" }; when "n" { "\c[LF]" } } }).chars.say 20:09
camelia rakudo-moar 587f70: OUTPUT«2␤»
cygx :( 20:10
donaldh Yup, same issue.
So Contexts are only supposed to be registered with the SC I think 20:11
[Coke] cygx: ... what are you trying to do?
donaldh And anywhere else, they should maybe be referenced by id.
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?
cygx [Coke]: github.com/cygx/p6-uni63 use .subst to de/encode strings, and synthetics do not round-trip 20:13
*uses
20:13 raiph left
[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␤»
cygx \o/ 20:14
[Coke] you could hit it with a stick..
20:14 _mg_ left, jervo joined 20:16 zengargoylew left
FROGGS nine: the output of 'perl6 --target=ast -I. Test1.pm' looks wrong 20:16
dalek ecs: 04c9c48 | moritz++ | html/index.html:
HTML: Link to HTTPS version of perl6.org
20:17
FROGGS I think...
moritz diakopter: doc.perl6.org/ is now free of warnings 20:18
20:18 _mg_ joined, darutoko left
jervo Is it possible to use roles with stub methods like interfaces? 20:20
I only found MyClass.^roles so far and it seems to instanciate the role 20:21
FROGGS jervo: a stubbed method in a role forces the class to implement that method 20:22
[Coke] Huge number of stresstest failures on OS X/moar. 20:24
dalek c: 6848ad0 | moritz++ | / (5 files):
Use HTTPS links where available
jervo FROGGS: yes, I get that. I'd to know if an object's class implements the Role.
20:24 _mg_ left
FROGGS jervo: just smartmatch the class or instance against the role 20:25
jervo FROGGS: ha.. shoul've thought of that! thanks!
RabidGravy m: role F {}; class G does F {}; say so G ~~ F 20:26
camelia rakudo-moar 587f70: OUTPUT«True␤»
moritz .tell lichtkind that tablets is now reachable via SSL too: tablets.perl6.org/
yoleaux moritz: I'll pass your message to lichtkind.
masak _nadim: hi -- sorry about not responding immediately. I thought the name rang a bell ;) 20:28
donaldh nine: do you have a solution? 20:32
masak _nadim: happy to have you here on the channel! :) guess news of Christmas brings you here ;) 20:33
donaldh nine: the slot is CompUnit::Handle.module_ctx 20:34
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 :␤»
MadcapJake the inner error has nothing printed in the `at` line
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
(iirc)
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.
[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…»
El_Che if someone saw my question (paste.scsys.co.uk/502436?hl=on&...rmat+it!): replacing a loop-earliest-more block by a loop-if_channel.poll-elsif_closed fixed the unwanted shared state between class instances.
MadcapJake [Coke]: in NQP
[Coke] m: try { die "what?" ␤ CATCH { say "died" }}
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 …»
[Coke] catch the exception.
_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.
ugexe El_Che: seems like it might be a bug to me... i couldnt figure out why it was happening in your original example
[Coke] nqp-m: { die "eek" ; CATCH { say "here?"} }
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/share/nqp/lib/NQPHLL.moarvm:panic:105)␤ from gen/moar/stage2/NQPHLL.nqp:528 (/home/camelia/rak…»
MadcapJake [Coke]: but it seems to not work in my patch github.com/MadcapJake/rakudo/blob/...r.nqp#L266
[Coke] nqp-m: { nqp::die("eek") ; CATCH { nqp::say("here?")} } 20:40
camelia nqp-moarvm: OUTPUT«here?␤»
[Coke] ^^
20:40 donaldh left
MadcapJake hoelzro: but it runs some parts of the try block, and just crashes at L257 20:40
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.
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
MadcapJake hoelzro: but that catch block runs, the code prior to the catch is what isn't running 20:42
20:44 _nadim left
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, domidumont left 20:48 _nadim left 20:49 _nadim joined
El_Che ugexe: any idea in what repo I should report the "bug"? in the doc because it doesn't work as described? 20:52
20:52 nowan left
RabidGravy El_Che it is possible the code changed under the doc 20:53
which exact example>
El_Che Let me link to the rewritten examples with the 2 behaviours: 20:54
RabidGravy: this is the "buggy" behaviour: paste.scsys.co.uk/502439?hl=on&...Format+it! 20:56
RabidGravy: expected behaviour: paste.scsys.co.uk/502442?hl=on&...Format+it! 20:58
RabidGravy: both are almost verbatim from the examples on doc.perl6.org/language/concurrency#Channels 20:59
MadcapJake hoelzro: no it doesn't crash but does it find linenoise? tab-completions/history don't work with my fork 21:02
hoelzro MadcapJake: try this patch: gist.github.com/hoelzro/f6ef23c1234377cf7b4e 21:03
nine Would it be ok to store the lexpad instead of module_ctx? 21:04
21:04 rindolf left
RabidGravy no that is definitel weird, not even sure how that could happen 21:05
FROGGS nine: what are you talking about? 21:06
MadcapJake hoelzro: ok running make now 21:08
21:08 _mg_ joined
hoelzro also, we should only be doing the if $ctx { ... } stuff if we have linenoise 21:09
either that, or unconditionally set up $!completions
21:11 nadim joined 21:12 nowan joined, cdg joined, cdg left, cdg joined
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:12
/run 21:13
hoelzro MadcapJake: I see you also have some experience with pygments; wanna help me improve the perl 6 pygments lexer? =)
nine FROGGS: 21:34 < donaldh> nine: the slot is CompUnit::Handle.module_ctx
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
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)
hoelzro I have, however, been taking notes on how Perl 6 has evolved since my last update
21:15 d^_^b joined, d^_^b left, d^_^b joined
hoelzro so it should be a matter of sanity checking my notes and applying the changes 21:15
21:15 _nadim left
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
and I didn't follow through with that =/
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?
FROGGS nine: using the lexpad instead might work
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
FROGGS nine: aye 21:17
nine FROGGS: that's why suddenly module_ctx in CompUnit::Handle is an issue
FROGGS nine: though Distribution::Resource.repo is in fact a CompUnitRepo, not a CompUnit::Repository
hoelzro MadcapJake: which `if` does it work inside?
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
nine FROGGS: you sure?
MadcapJake hoelzro: the one currently in master 21:18
hoelzro FROGGS, nine: how will one add files (ex. .so files) to %?RESOURCES?
FROGGS nine: rakudo/src/core/Distribution.pm:50: self.new(:repo(CompUnitRepo.new(%data<repo>)), :dist-id(%data<dist-id>))
flussence Hotkeys: the trick is writing your code so it doesn't *need* semicolons 😉
hoelzro MadcapJake: ah, if $!linenoise ?
MadcapJake yeah
nine CompUnitRepo.new creates CompUnit::Repository objects
FROGGS hoelzro: add them to META6.json? in the resource section 21:19
hoelzro FROGGS: ah, duh =/
thanks
timotimo tony-o: you around? shall we try to debug this problem? (though i may be intermittently AFK for a bit longer)
FROGGS nine: ohh, I see
hoelzro hmm...how will that work for .so/.dll? since it varies by OS
or will one have to generate a META.info file at install time?
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)
nine FROGGS: CompUnitRepo is just what's left of its former self
El_Che in case someone wants to comment on the Channel + (uwwanted) Class Instance shared state: 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
hoelzro that would be a good thing to test
esp. in light of the panda changes not installing liblinenoise.so
FROGGS hoelzro: we'll think about that 21:21
hoelzro graceful failure would be nice
FROGGS: cool, thanks!
MadcapJake yeah but I can't seem to decipher how to *not* get a try to fail, even with the so file present
hoelzro did you try my patch? 21:22
MadcapJake yeah
same problem, the problem is inside the sub $!linenoise
hoelzro hmm
what's the error you're getting?
MadcapJake silence :P
I think the catch is eating the error
but without the try/catch, it works xD 21:23
(except when the .so file is missing)
hoelzro how odd
so the CATCH gets nothing?
21:23 d^_^b left
[Coke] SILENCE1 21:23
MadcapJake the catch might be getting something, but I'm just ignoring it, I could print it of course :P 21:24
what's the nqp way to print an error?
hoelzro nqp::say("my error: " ~ $_);
MadcapJake $! or $_?
k
21:24 lestrrat left
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, _mg_ left
MadcapJake hoelzro: "cannot numify this" 21:28
[Coke] .seen soh_cah_toa
hoelzro interesting
yoleaux I haven't seen soh_cah_toa around.
FROGGS nine: ups, did sometihng silly
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 ;)
MadcapJake hoelzro: no the error is printed after that
FROGGS nine: np, I'm already at it :o)
hoelzro hmm
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, d^_^b left, d^_^b joined
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:31
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).
MadcapJake hoelzro: yeah i kind of thought that, but just wanted to try for good measure 21:33
is there an equivalent .WHAT in nqp?
dalek kudo-star-daily: aab1da6 | coke++ | log/ (2 files):
today (automated commit)
21:33 xtreak joined
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:33
which is properly strange 21:34
MadcapJake hoelzro: github.com/MadcapJake/rakudo/blob/...#L257-L260
El_Che RabidGravy: yes. That correct. And also, the second channel always get an empty result.
[Coke] .tell pmurias github.com/coke/perl6-roast-data/b...ummary.out Cannot find module 'tap', so everything dies.
yoleaux [Coke]: I'll pass your message to pmurias.
hoelzro MadcapJake: nqp::what 21:35
MadcapJake oh sweet! i'll give that a try then
FROGGS MadcapJake: 'say $a.WHAT' translates to 'nqp::say($a.HOW.name($a))' in nqp
hoelzro nqp::say(nqp::what($obj).HOW.name(nqp::what($obj)) can be handy
oh, that's good to know
MadcapJake: oh, where's Linenoise.pm located? 21:36
oh, I see the problem! 21:37
RabidGravy El_Che, it is therefore not a doc issue but an actual bug
hoelzro MadcapJake: github.com/MadcapJake/rakudo/blob/...r.nqp#L269
MadcapJake hmm, that's a good question, where will it look? I didn't `make install`, will it still look in the usual locations?
hoelzro see the problem?
MadcapJake do I need a ~
hoelzro yup =)
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
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
dalek p: e4912e9 | coke++ | t/qregex/rx_charclass:
Untodo passing test.

  (passes on moar, jvm, moar-nojit)
21:40
[Coke] sees the jvm is super unhappy again. 21:41
masak hoelzro: I keep forgetting about --ll-exception, too 21:42
21:42 vendethiel joined
hoelzro masak: that makes me feel a little better =) 21:43
MadcapJake: have you looked at jnthn's NQP and rakudo hacking presentation?
21:44 n0tjack left, Begi joined
MadcapJake hoelzro: no i should do that, where's it at 21:45
hoelzro github.com/edumentab/rakudo-and-nq...als-course
I also did a screencast about rakudo hacking, if you like screencasts
MadcapJake wow this is epic
timotimo i want to do screencasts, too 21:46
hoelzro www.youtube.com/watch?v=adUdmol7cLU
timotimo: I've been thinking about trying to do more
I think it would be easier if there were a few of us rotating
21:46 Begi2 left
timotimo mhm 21:46
hoelzro oh, duh, there are slides to go with that video
timotimo you will come up with topics? :) 21:47
hoelzro I can try =)
MadcapJake I'd be interested in doing some beginner Perl 6 screencasts
timotimo cool
hoelzro beginner ones are a good idea
timotimo do you have reasonable audio recording equipment?
hoelzro I do not =/ 21:48
ah, here are the slides: docs.google.com/presentation/d/1JV...uOwcs/edit
MadcapJake yeah actually I do, I have a nice condenser mic and a big boom stand
timotimo cool
21:48 Begi left
hoelzro is anyone doing adventofcode.com/? I thought walking through some of those using Perl 6 would be cool 21:48
timotimo i have a not completely cheap usb mic 21:49
MadcapJake hoelzro: I did day 3, and I'll do day 4 tonight
Zoffix Hotkeys, that's left as an exercise for the reader.
MadcapJake I did a grammar and actions class for day 3
hoelzro ha, same here!
I wasn't able to do 4 with Perl 6 =/
MadcapJake :D it seemed like the perfect fir
fit*
hoelzro well, I *could've*
MadcapJake I haven't looked at 4 yet 21:50
hoelzro but by my estimate, it would've taken about 5 hours to run =/
timotimo urgh
lets optimize that?
MadcapJake hoelzro: the proper stringified $!linenoise error :P "cannot invoke this object"
timotimo ah, md5 21:51
hoelzro \o/
timotimo: yeah, that was the bottleneck
timotimo did you fully parallelize it? 21:52
hoelzro it was so cool, too; I had the whole thing expressed as a lazy sequence
I don't think so
how would I do that?
hyper?
timotimo hyper, my friend
i wonder if you can shell out faster than our own md5 impl can go
hoelzro ='( 21:53
is Digest::MD5 pure perl6?
timotimo rthere is probably something with nativecall that can do md5
hoelzro that's what I'm thinking
timotimo there exists a pure p6 one
flussence the openssl module already in the ecosystem could probably have hash functions added 21:55
hoelzro *nod*
flussence if it doesn't already...
timotimo tighto
righto.
MadcapJake hoelzro: 'nqp::say($!linenoise.HOW.name($!linenoise));' prints NQPMu 21:57
hoelzro what about nqp::say($!linenoise.HOW.name(nqp::what($!linenoise))) ? 21:58
flussence huh, looks like OpenSSL just uses Digest::SHA
timotimo hm? why? 22:00
FROGGS .tell nine this is my patch which makes your example pass but breaks install_core_dist: gist.github.com/FROGGS/8d2235c0fdf5b70bd4be 22:01
yoleaux FROGGS: I'll pass your message to nine.
22:01 bzipitidoo joined
flussence github.com/sergot/openssl/blob/mas...ls.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
hoelzro =/
oh
well, $!linenoise might just be Mu
this is because of the "cannot invoke this" error?
MadcapJake yeah
hoelzro well, here's what happened 22:03
the Linenoise load failed, so $!linenoise is never initialized
so it defaults to Mu
timotimo mhm
hoelzro and you can't call Mu =)
timotimo die early
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": github.com/masak/007/blob/master/ROADMAP.md
(and if no-one's curious, I still did it.) :P
timotimo oooooh
masak also, I'm aware I'm up for p6advent tomorrow 22:05
timotimo uum masak
why go for 1.0.0
masak as I point out in paragraph 3... :)
timotimo why not get closer and closer to 0.0.7?
masak ahaha :P 22:06
MadcapJake hoelzro: I added comments showing the output github.com/MadcapJake/rakudo/blob/...#L257-L261
masak timotimo: the versions are mostly just internal, a way to semver ourslves a little, as it were.
hoelzro alright, that all makes sense
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"
timotimo: and v1.0.0 has a certain significance, for better or worse. 22:07
masak is also aiming to add a CHANGELOG file
jnthn Maybe v1.0.0 = we figured out everything needed for Perl 6 macros? ;)
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*
except that 007 has already surpassed that recently because it has Qtrees \o/
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.
[Coke] Does anyone have any NEW stuff that they think is going to land before Christmas? (because no)
masak just to be clear, we're not getting macros before Christmas :)
(in Perl 6)
timotimo macromas
[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.
timotimo macaroons
jnthn [Coke]: New features? No. New semantics? Well, some of the outstanding xmas RTs are about that.
bzipitidoo Few days ago, I was looking at some examples of guillemets in the perl6 docs, and now I can't find them. In doc.perl6.org/language/grammars , what does $/.make: $<pair>».made mean?
[Coke] masak: would you care to write up a prominent doc in the repo that notes features which are Experimental?
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
[Coke] ... which, for now, is macros?
jnthn: yes, that's fine.
jnthn I'll make sure to document supply/react/whenever before I do that.
timotimo we did not kick out earliest yet?
masak [Coke]: I'm not sure I know of any other features that are Experimental...
[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.
masak: me either, but you're only on the hook for that one. :) 22:14
timotimo is that in the ecosystem anywhere?
jnthn timotimo: No, I just remembered about it becaus somebody filed a bug report on it
:)
[Coke] we should also consider something like corelist.
timotimo oh!
[Coke] (assuming we have anything that meets that criteria)
RabidGravy jnthn, while you're care to look at El_Che's paste.scsys.co.uk/502439?tx=on&...rmat+it%21 ? something very strange there to my eye 22:15
while you're here that is
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?
moritz bzipitidoo: $<pair> is short for $/<pair> 22:17
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 :)
RabidGravy Is it getting rolled into react?
mspo do you need to use rx// to get the match object? 22:19
jnthn You already can .Supply a channel
So I think that whole method can become react { my $counter = 0; whenever $!file-in { say $counter++ } } 22:20
RabidGravy yeah
22:20 skids left
jnthn Which is a good bit neater :) 22:21
22:22 lucasb joined
RabidGravy yeah much nicer really 22:22
nine messages! 22:23
yoleaux 22:01Z <FROGGS> nine: this is my patch which makes your example pass but breaks install_core_dist: gist.github.com/FROGGS/8d2235c0fdf5b70bd4be
cygx jnthn: o/
jnthn: re &open, what is :bin supposed to do nowadays? 22:24
right now, it does nothing
(ie it's an alias for enc => "utf8")
El_Che jnthn: in that case, I wont fill a bug against rakudo. I documented the bug here though: github.com/perl6/doc/issues/223
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
and make a nicer example
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?
El_Che 23:18 < jnthn> RabidGravy: I suspect a closure handling bug, but given earliest is on the chopping block 22:26
I'm not inclined to look into it much more :)
23:18 < RabidGravy> Is it getting rolled into react?
23:19 < mspo> do you need to use rx// to get the match object?
23:19 < jnthn> You already can .Supply a channel
23:20 < jnthn> So I think that whole method can become react { my $counter = 0; whenever $!file-in { say
$counter++ } }
damn
sorr
y
jdv79 is there an echo in here? 22:27
flussence there's a print 22:28
masak jdv79: well, it is an echo chamber... :P
El_Che I hear brother, other, ther, er ... 22:29
jdv79 masak: what did you mean a few days ago about better or different when and default? 22:30
El_Che jnthn, RabidGravy: the react syntax looks neat. The earliest block isn't shorter (nor clearer) that the classic poll block, imho 22:31
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
masak jdv79: turns out that people were using `when` in unanticipated (but reasonable-in-retrospect) ways
jdv79: and I just found the story interesting.
lucasb I just tried to bootstrap panda and it is hanging on the "Testing JSON::Fast"... anyone knows anything about this?
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...
jdv79 oh ok
22:34 n0tjack joined 22:36 xfix left
lucasb perl6 -e 'use JSON::Fast; from-json(q/{ "a : false }/)' # can anyone test this, please? 22:38
RabidGravy [jonathan@coriolanus perl6]$ perl6 -e 'use JSON::Fast; from-json(q/{ "a : false }/)' 22:39
Invalid string index: max 13, got 14
Zoffix That's invalid json
Missing "
lucasb RabidGravy: thanks! that's different from my run... it just hangs
Zoffix
.oO( corio... anus? :S )
22:40
lucasb Zoffix: the intention is to test invalid json :)
it's on JSON::Fast's tests...
RabidGravy with the missing " supplied it works
22:40 kaare_ left
timotimo oh, that fails in JSON::Fast? 22:40
i mean, it hangs?
Zoffix Doesn't hang for me
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! :)
Failed to open file /home/timo/perl6/install/share/perl6/site/dist/D0C5662A2C583B8BBAA56ECBA9C9B7568841EFC3: no such file or directory
lucasb rakudo version 2015.11-357-g587f700 built on MoarVM version 2015.11-34-gc3eea17 <-- I'm here :)
timotimo well, that's not good
This is rakudo version 2015.11-323-gf0a96da built on MoarVM version 2015.11-23-gde68134 implementing Perl v6.b.
22:41 geraud joined
timotimo you're slightly ahead of me 22:41
let me get up to latest
jnthn cygx: Think I'm too tired to figure out :bin right now... 22:42
jdv79 masak: in Jul? that's not "recenntly" in my mind. 22:43
22:44 jj joined
jnthn cygx: Maybe it should just forbid doing string I/O 22:44
masak jdv79: I'm sorry, I'm a first-time parent. time has no meaning for me right now. 22:45
22:46 raiph joined
jdv79 haha 22:47
El_Che masak: so the baby thing is a metaphore for p6? :) 22:48
jnthn 'night, #perl6
cygx o/ 22:49
masak 'night, jnthn
El_Che bye jnthn
masak El_Che: no, there's an actual baby in my apartment.
he's very cute
El_Che masak: congratulations :-
:)
been there :) 22:50
I am still tired :)
hoelzro night jnthn
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
timotimo aha!
yes, it does
masak El_Che: thanks :) 22:54
timotimo aye, good luck and have fun with babby raising :)
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.
yoleaux nine: I'll pass your message to FROGGS.
masak for those of you with perl6advent access, there's now a scheduled tomorrow's advent post to review :D
Skarsnik damn porting p5 class to p6 is really nice x) 22:55
22:57 jabus joined
dalek kudo/nom: 4cecd01 | TimToady++ | docs/announce/2015.12.md:
Update credits with latest info

Updated with preferences from people who expressed one. Now with alternate orthographies where we could find them, and with non-breaking spaces in the middles of names so nobody has to get their name broken. An attempt to sort Cyrillic and Hebrew into reasonable spots.
22:57
masak Skarsnik: we're annoying that way, by being really nice :P 22:58
(in more senses than one)
masak is surprised to discover that he's the main commenter on perl6advent 23:00
flussence lucasb: hanging with 0% cpu or 100%?
Skarsnik <> replace (:?) for non capturing group?
23:00 jj left
cygx Skarsnik: [] 23:00
23:02 jabus left
lucasb flussence: 100% cpu 23:02
flussence ok, looks like it's not the hang I've been seeing in other modules then. Never mind... 23:04
dalek kudo/nom: 5e49279 | TimToady++ | docs/announce/2015.12.md:
expand Sgeo
23:05
lucasb timotimo: I just did 'git clone github.com/timo/json_fast.git JSON__Fast' on top of panda's bundled version and the issue persists
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.
yoleaux nine: I'll pass your message to FROGGS.
Skarsnik hm, Method 'post' not found for invocant of class 'HTTP::UserAgent' 23:06
, that's weird. Does that mean it does not find it or does not find a candidate?
timotimo lucasb: i'm not sure that'll help; wouldn't that confuse the fuck out of git? 23:07
lucasb: there's a script inside panda that you can supply "ext/JSON__Fast" to and it'll do the update properly for you
lucasb timotimo: ah, ok. I didn't know that. thanks 23:08
timotimo i'm surprised git didn't complain "that directory already exists" 23:09
lucasb I 'rm -rf' it first :)
timotimo ah!!
nine .tell FROGGS ok, my simple test works, but I still get the same failure in Inline::Perl5 :(
yoleaux nine: I'll pass your message to FROGGS.
Skarsnik Ooh post is new in UA xD 23:10
masak gets lost in old perl6advent posts 23:12
timotimo Invalid string index: max 12, got 260
HOW IN THE HELL %)
nqp-m: nqp::eqat("hi there", '"', 1000) 23:13
camelia ( no output )
timotimo oh, it doesn't throw when out of range!
perl6-m: use nqp; nqp::eqat("hi there", '"', 1000)
that explains it!
bleh. i don't want to put a bounds check in there :( 23:14
damn, all those eqats i use :|
perl6-m: use nqp; say nqp::eqat("hi there", '"', 1000).perl 23:16
well, all it can really do is say "no" 23:17
lucasb it says 0
23:17 DrPete_ left
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
timotimo m: say "test" 23:18
camelia rakudo-moar 5e4927: OUTPUT«test␤»
timotimo tha's it!
i'm a bit tired
m: use nqp; say nqp::eqat("hi there", '"', 1000).perl
camelia rakudo-moar 5e4927: OUTPUT«0␤»
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:22 n0tjack left
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␤␤»
cognominal m: my $code = { say 'hi' }; say ( 'a' ~~ / a $code/ ).perl # yet another corner case.
camelia rakudo-moar 5e4927: OUTPUT«hi␤P6opaque: no such attribute '$!pos'␤ in block <unit> at /tmp/UyXIGBhdRW:1␤␤»
timotimo cognominal: well, $code doesn't return a Cursor, so it asplodes
cognominal probably want a token or some such 23:24
yes
timotimo i wonder about the performance implications of emitting a typecheck there
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…»
timotimo yeah, you started a quote inside that token
also, the token floats in the air
Skarsnik my @tab; @tab.push({foo => "bar"}); say @tab.tail<foo>;
m: my @tab; @tab.push({foo => "bar"}); say @tab.tail<foo>;
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␤␤»
cognominal m: token { 'a' }; say ( 'a' ~~ / $code/ ).perl
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␤»
timotimo Skarsnik: i think you'll find that tail returns a list-like
cognominal oops
timotimo m: my @tab; @tab.push({foo => "bar"}); say @tab.tail[0]<foo>; 23:26
camelia rakudo-moar 5e4927: OUTPUT«bar␤»
cognominal m: my $code = token { a' }; say ( 'a' ~~ / $code/ ).perl
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…»
cognominal oops
m: my $code = token { 'a' }; say ( 'a' ~~ / $code/ ).perl
camelia rakudo-moar 5e4927: OUTPUT«Match.new(ast => Any, list => (), hash => Map.new(()), orig => "a", to => 1, from => 0)␤»
Skarsnik damn it's a bit sad for tail with no argument
cognominal at long last
Skarsnik *parameter
cognominal m: my &code = token { 'a' }; say ( 'a' ~~ / &code/ ).perl 23:27
camelia rakudo-moar 5e4927: OUTPUT«Nil␤»
Skarsnik I had expect to return the last when you don't put a number
23:27 csd_ left
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␤␤»
timotimo hmm hmm
cognominal I suppose &code means <?> & code
timotimo oh? 23:28
lucasb m: say <a b c>.tail
camelia rakudo-moar 5e4927: OUTPUT«(c)␤»
23:29 ggoebel7 left 23:30 ggoebel7 joined
Skarsnik hm, tail does not even work on my rakudo version. 23:30
lucasb I like this image, from that cool haskell book: s3.amazonaws.com/lyah/listmonster.png
Skarsnik root@testperl6:~/piko/Ferrel# perl6 -e ' my @tab; @tab.push({foo => "bar"}); say @tab.tail[0]<foo>;'
Cannot call tail(Array: ); none of these signatures match:
(Any:D $: Int:D $n, *%_)
timotimo Skarsnik: it's quite new 23:31
that must be before you could call tail with no argument
Skarsnik I would not mind a last x) 23:32
pff I hate you NC: This representation (P6str) does not support attribute storage 23:40
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␤»
masak \o/
timotimo m: my %*d = :val(1); say %*d.perl 23:44
camelia rakudo-moar 5e4927: OUTPUT«{:val(1)}␤»
timotimo m: my %*d = :1val; say %*d.perl
camelia rakudo-moar 5e4927: OUTPUT«{:val(1)}␤»
timotimo didn't we warn about %foo = { ... } at some point?
Skarsnik hm, wait a Str you get from a native like my $a = funcC(); does it get GC? 23:45
23:50 virtualsue left
lucasb m: my %*h = {a=>1,b=>2}; say %*h 23:51
camelia rakudo-moar 5e4927: OUTPUT«a => 1, b => 2␤»
lucasb m: my %h = {a=>1,b=>2}; say %h
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␤»
timotimo hah
lucasb seems the star makes a difference
timotimo lucasb: do you want to rakudobug this?
"assigning to a dynamic hash variable doesn't check for useless hash composer on RHS" or so
lucasb hmm.. can you do it? timotimo++ :)
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:52
23:53 pierre-vigier joined
geekosaur (also because a wrapped C string would be significantly different from a native Perl 6 Str) 23:54
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 23:56