»ö« 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«140456942620344544183685441836854418368» | ||
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)0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051…» | ||
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)0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051…» | ||
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/p3STxOeh78Unsupported use of a negative -1 subscript to index from the end; in Perl 6 please use a function such as *-1at /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:1Actually 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:1Actually 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:1Final 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/r8QDQ45JviYou can't adverb thatat /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/BZPQv9bmrhYou can't adverb thatat /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«AnyAnyCannot 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/ySVLNZQa1FYou can't adverb $zat /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/ED8wo3F3XOVariable '$actions' is not declaredat /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/4xy2oGX8qRVariable '$actions' is not declaredat /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/QtKxwQj5plYou can't adverb thatat /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/hmdVsw4txLYou can't adverb thatat /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/UZZFGPuPKdYou can't adverb thatat /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:1Actually 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:1Actually 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:1Actually 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:1Actually 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:1Actually 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/pcA8m8hwCcYou 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/PcMKNCq1ZwYou 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/AH0E3BqqDkYou can't adverb nutsat /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/kdQvTrO5OXUnrecognized 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/vutGuliuVIYou 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:1Actually 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«6Parameter '$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«3Int» | ||
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 TrueFalseTrue» | ||
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«01» | ||
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 UIntat /tmp/gI1ANjSSzO:1------> 3ss GDPoint is repr('CStruct') { has cint7⏏5 $.x; has cint $.y };Malformed hasat /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/MyKH6b9c9dAn exception occurred while parameterizing CArrayat /tmp/MyKH6b9c9d:1Exception 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«barfLabel.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/eOLu3CIeFkStrange 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/4r7cwkixCKUndeclared 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/bAEjiPpGVQUndeclared routine: ʇɐu used at line 1» | ||
timotimo | m: say tau | ||
camelia | rakudo-moar 734549: OUTPUT«5===SORRY!5=== Error while compiling /tmp/aP2W7_XfwTUndeclared 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/i7ksiCEeEhVariable '$z' is not declaredat /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/skvLKoKHoFUnable 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/mcVDsNYgcZVariable '$module:defined' is not declaredat /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 contextAny of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block at /tmp/S7qXhldiUs:1Cannot 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-gf4f505finst/home/camelia/rakudo-m-inst-2/share/perl6/siteinst/home/camelia/rakudo-m-inst-2/share/perl6/vendorinst/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«helloworld» | ||
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: helloworld» | ||
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:13763:Foo3763: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/RW5OVRUBlfName must begin with alphabetic characterat /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:1Actually 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«FalseTrue» | ||
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/rjNEFbev9gAn exception occurred while evaluating a constantat /tmp/rjNEFbev9g:1Exception 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/MVAW58FUa0Two terms in a rowat /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_fGZConfusedat /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«hiP6opaque: 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«hiP6opaque: 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/U3kJgqtpArUnable 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:1Actually 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/liJVqrHvCrVariable '$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/OSoYxsl327Unable 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 => 1val => 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 %ha => 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 |