»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by masak on 12 May 2015. |
|||
00:00
lizmat joined,
lizmat left
00:08
TEttinger joined
00:16
BenGoldberg joined
|
|||
BenGoldberg | m: (sub { [6, 7, 8] })->().perl.say; | 00:17 | |
camelia | rakudo-moar 6a1879: OUTPUT«5===SORRY!5=== Error while compiling /tmp/qbf1LzsYcHUnsupported use of ->(), ->{} or ->[] as postfix dereferencer; in Perl 6 please use .(), .[] or .{} to deref, or whitespace to delimit a pointy blockat /tmp/qbf1LzsYcH:1------> 3(sub { [6, 7…» | ||
GLRelia | rakudo-moar b1db8a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/9lsMzCSTlrUnsupported use of ->(), ->{} or ->[] as postfix dereferencer; in Perl 6 please use .(), .[] or .{} to deref, or whitespace to delimit a pointy blockat /tmp/9lsMzCSTlr:1------> 3(sub { [6, 7…» | ||
BenGoldberg | m: (sub { [6, 7, 8] }).().perl.say; | 00:18 | |
camelia | rakudo-moar 6a1879: OUTPUT«[6, 7, 8]» | ||
GLRelia | rakudo-moar b1db8a: OUTPUT«[6, 7, 8]» | ||
00:23
vendethiel left
00:34
cognominal joined
|
|||
ugexe | m: sprintf(1,2,3,4,5) # why doesn't this report the line number or what the problem is? | 00:35 | |
camelia | rakudo-moar 6a1879: OUTPUT«Directives specify 0 arguments, but 4 arguments were supplied» | ||
GLRelia | rakudo-moar b1db8a: OUTPUT«Directives specify 0 arguments, but 4 arguments were supplied» | ||
00:37
tinyblak joined
00:39
smls left
00:42
tinyblak left
00:46
llfourn joined
00:50
llfourn left
01:04
cognominal left
|
|||
[Coke] | its coming from nqp. | 01:06 | |
you can get a slight better error there if you run perl6 with --l | |||
--ll-exception, but you shouldn't have to. | 01:07 | ||
01:15
vendethiel joined,
seQui joined,
seQui left,
skids joined
|
|||
ugexe | heh thats how i discovered what the error actually was | 01:15 | |
01:17
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
BenGoldberg | m: srand(42); my @o = 0x202D.chr, 0x202E.chr; print @o.pick, $_ for ('A'..'Z','_').join.trans("ADFIJMNOQRUWYZ_XVTSPLKHGECB" => "Just Another Unibidi Hacker").comb; | 01:19 | |
camelia | rakudo-moar 6a1879: OUTPUT«Jreukscat H Anoithdiebri Un» | ||
GLRelia | rakudo-moar b1db8a: OUTPUT«J r e u k s c a t H A n o i t h d i e b r i Un» | ||
BenGoldberg | m: my @x = 'Just Another Perl/Bidi Hacker,'.comb; print(chr(8237) ~ @x.shift ~ chr(8238) ~ @x.pop) while @x; | 01:21 | |
camelia | rakudo-moar 6a1879: OUTPUT«J,ursetk cAanHo tihdeirB /Pler» | ||
GLRelia | rakudo-moar b1db8a: OUTPUT«J,ursetk cAanHo tihdeirB /Pler» | ||
BenGoldberg | m: srand(123); [ (0..9).pick xx 10 ]; | ||
camelia | ( no output ) | ||
GLRelia | ( no output ) | ||
01:21
tinyblak joined
|
|||
BenGoldberg | m: srand(123); [ (0..9).pick xx 10 ].say; | 01:21 | |
camelia | rakudo-moar 6a1879: OUTPUT«1 8 5 2 7 2 7 7 1 9» | ||
GLRelia | rakudo-moar b1db8a: OUTPUT«[1 8 5 2 7 2 7 7 1 9]» | ||
BenGoldberg | m: srand(123); [ (0..9).pick xx 10 ].say; | ||
camelia | rakudo-moar 6a1879: OUTPUT«1 8 5 2 7 2 7 7 1 9» | ||
GLRelia | rakudo-moar b1db8a: OUTPUT«[1 8 5 2 7 2 7 7 1 9]» | ||
BenGoldberg | m: my @o = 1, 2; print @o.pick for 1..10; | 01:23 | |
camelia | rakudo-moar 6a1879: OUTPUT«1121121212» | ||
GLRelia | rakudo-moar b1db8a: OUTPUT«1212211122» | ||
BenGoldberg | m: my @o = 1, 2; print @o.pick for 1..10; | ||
camelia | rakudo-moar 6a1879: OUTPUT«1111211211» | ||
GLRelia | rakudo-moar b1db8a: OUTPUT«1222121211» | ||
BenGoldberg | m: srand 1; my @o = 1, 2; print @o.pick for 1..10; | ||
camelia | rakudo-moar 6a1879: OUTPUT«1221112211» | ||
GLRelia | rakudo-moar b1db8a: OUTPUT«1221112211» | ||
BenGoldberg | m: srand(42); my @o = '<', '>'; print @o.pick, $_ for ('A'..'Z','_').join.trans("ADFIJMNOQRUWYZ_XVTSPLKHGECB" => "Just Another Unibidi Hacker").comb; | 01:25 | |
camelia | rakudo-moar 6a1879: OUTPUT«<J>r>e<u>k<s>c>a<t< >H> <A<n<o>i<t<h>d>i<e>b<r>i< <U>n» | ||
GLRelia | rakudo-moar b1db8a: OUTPUT«<J> >r< >e< >u> <k< >s> <c< <a> <t< > > <H> < > <A< >n< <o< >i> <t< >h> >d< >i> >e> <b> >r< <i> > < <U<n» | ||
BenGoldberg | m: print ++$ for 'abcd'.comb; | 01:26 | |
camelia | rakudo-moar 6a1879: OUTPUT«1234» | ||
GLRelia | rakudo-moar b1db8a: OUTPUT«1234» | ||
BenGoldberg | Why is GLRelia adding those spaces? | ||
m: srand(42); my @o = '<', '>'; print @o.pick, $_ for ('A'..'Z','_').join('').trans("ADFIJMNOQRUWYZ_XVTSPLKHGECB" => "Just Another Unibidi Hacker").comb; | 01:27 | ||
camelia | rakudo-moar 6a1879: OUTPUT«<J>r>e<u>k<s>c>a<t< >H> <A<n<o>i<t<h>d>i<e>b<r>i< <U>n» | ||
GLRelia | rakudo-moar b1db8a: OUTPUT«<J> >r< >e< >u> <k< >s> <c< <a> <t< > > <H> < > <A< >n< <o< >i> <t< >h> >d< >i> >e> <b> >r< <i> > < <U<n» | ||
01:34
larion left
|
|||
ShimmerFairy | m: say ('A'..'Z','_').join('').trans("ADFIJMNOQRUWYZ_XVTSPLKHGECB" => "Just Another Unibidi Hacker").comb.perl; | 01:54 | |
camelia | rakudo-moar 6a1879: OUTPUT«("J", "r", "e", "u", "k", "s", "c", "a", "t", " ", "H", " ", "A", "n", "o", "i", "t", "h", "d", "i", "e", "b", "r", "i", " ", "U", "n")» | ||
GLRelia | rakudo-moar b1db8a: OUTPUT«("J", " ", "r", " ", "e", " ", "u", " ", "k", " ", "s", " ", "c", " ", "a", " ", "t", " ", " ", " ", "H", " ", " ", " ", "A", " ", "n", " ", "o", " ", "i", " ", "t", " ", "h", " ", "d", " ", "i", " ", "e", " ", "b", " ", "r", " ", "i", " ", " ", " ", "U", …» | ||
ShimmerFairy | m: say ('A'..'Z', '_').join('').perl | 01:56 | |
camelia | rakudo-moar 6a1879: OUTPUT«"ABCDEFGHIJKLMNOPQRSTUVWXYZ_"» | ||
GLRelia | rakudo-moar b1db8a: OUTPUT«"A B C D E F G H I J K L M N O P Q R S T U V W X Y Z_"» | ||
ShimmerFairy | m: say ('A'...'Z', '_').join('').perl | ||
camelia | rakudo-moar 6a1879: OUTPUT«"ABCDEFGHIJKLMNOPQRSTUVWXYZ_"» | ||
GLRelia | rakudo-moar b1db8a: OUTPUT«"ABCDEFGHIJKLMNOPQRSTUVWXYZ_"» | ||
ShimmerFairy | m: say ('A'..'Z').join('').perl | ||
camelia | rakudo-moar 6a1879: OUTPUT«"ABCDEFGHIJKLMNOPQRSTUVWXYZ"» | ||
GLRelia | rakudo-moar b1db8a: OUTPUT«"ABCDEFGHIJKLMNOPQRSTUVWXYZ"» | ||
ShimmerFairy | BenGoldberg: the problem appears to stem from .join() and .. as part of a list of things | ||
m: say ('A'..'Z','_').join('~').perl; | 01:57 | ||
camelia | rakudo-moar 6a1879: OUTPUT«"A~B~C~D~E~F~G~H~I~J~K~L~M~N~O~P~Q~R~S~T~U~V~W~X~Y~Z~_"» | ||
GLRelia | rakudo-moar b1db8a: OUTPUT«"A B C D E F G H I J K L M N O P Q R S T U V W X Y Z~_"» | ||
ShimmerFairy | ^ clearer illustration | ||
m: say (|('A'..'Z'),'_').join('~').perl; | 01:58 | ||
camelia | rakudo-moar 6a1879: OUTPUT«5===SORRY!5=== Error while compiling /tmp/KDv3KPhcB8Arg-flattening | is only valid in an argument listat /tmp/KDv3KPhcB8:1------> 3say (|7⏏5('A'..'Z'),'_').join('~').perl;» | ||
GLRelia | rakudo-moar b1db8a: OUTPUT«"A~B~C~D~E~F~G~H~I~J~K~L~M~N~O~P~Q~R~S~T~U~V~W~X~Y~Z~_"» | ||
ShimmerFairy | turning the range into a Slip fixes the issue :) | ||
02:05
sufrostico left
02:15
noganex joined
02:18
noganex_ left
02:24
vendethiel left
|
|||
dalek | osystem: 7d356d5 | PerlJam++ | META.list: Add IO::Notification::Recursive |
02:34 | |
02:35
dj_goku_ joined
|
|||
skids | 6? wow. | 02:36 | |
yoleaux | 29 Aug 2015 21:33Z <ab6tract> skids: thanks for looking into it! I really appreciate it :) | ||
02:42
dayangkun joined
|
|||
BenGoldberg | m: srand(42); my @o = '<', '>'; print @o.pick, $_ for ('A'...'Z','_').join('').trans("ADFIJMNOQRUWYZ_XVTSPLKHGECB" => "Just Another Unibidi Hacker").comb; | 02:45 | |
GLRelia | rakudo-moar b1db8a: OUTPUT«<J>r>e<u>k<s>c>a<t< >H> <A<n<o>i<t<h>d>i<e>b<r>i< <U>n» | ||
camelia | rakudo-moar 6a1879: OUTPUT«<J>r>e<u>k<s>c>a<t< >H> <A<n<o>i<t<h>d>i<e>b<r>i< <U>n» | ||
BenGoldberg | m: srand(42); my @o = 0x202D.chr, 0x202E.chr; print @o.pick, $_ for ('A'...'Z','_').join.trans("ADFIJMNOQRUWYZ_XVTSPLKHGECB" => "Just Another Unibidi Hacker").comb; | 02:46 | |
camelia | rakudo-moar 6a1879: OUTPUT«Jreukscat H Anoithdiebri Un» | ||
GLRelia | rakudo-moar b1db8a: OUTPUT«Jreukscat H Anoithdiebri Un» | ||
BenGoldberg | ShimmerFairy++ | ||
ShimmerFairy | BenGoldberg: And that's probably intended new behavior, though I suppose there could be argument that Ranges should flatten in a list :P (I imagine <[A..Z_]> would be involved in that argument) | 02:47 | |
02:48
dayangkun left
03:03
CQ_ joined
|
|||
colomon | [Coke]: woah | 03:04 | |
03:05
CQ left,
CQ_ is now known as CQ
03:09
bin_005 left
03:12
llfourn joined
03:16
llfourn left
03:18
llfourn joined
03:23
llfourn left
|
|||
colomon | [Coke]: you up? | 03:31 | |
03:41
colomon_ left
03:51
aborazmeh left
03:54
colomon left
04:00
CQ left,
CQ joined
04:04
BenGoldberg left
04:07
aborazmeh joined,
aborazmeh left,
aborazmeh joined
04:11
average left
04:36
abaugher left
04:37
abaugher joined
04:46
llfourn joined
05:01
khw left
05:02
xenowoolfy joined
05:05
xenowoolfy left,
llfourn left
05:06
llfourn joined
05:19
aborazmeh left
|
|||
moritz | \o | 05:32 | |
m: say (flat 5).^name | |||
camelia | rakudo-moar 6a1879: OUTPUT«List» | ||
GLRelia | rakudo-moar b1db8a: OUTPUT«List» | ||
05:34
kaare_ joined
05:36
Sgeo joined
05:40
tinyblak left
05:57
rurban joined
|
|||
dalek | kudo/glr: 9a67ca9 | moritz++ | src/core/Str.pm: Hardcore flattening in Str.trans makes S05-transliteration/trans.t pass |
06:05 | |
06:05
cognominal joined
06:11
thou joined
06:28
thou left
06:31
FROGGS[mobile] joined
|
|||
FROGGS[mobile] | breakfast /o/ | 06:31 | |
good morning #perl6 | 06:32 | ||
dalek | ast/glr: 8b4b825 | (Jimmy Zhuo)++ | integration/99problems-21-to-30.t: fixed warning |
06:34 | |
06:53
lolisa left
|
|||
[Coke] waves from the flughafen. | 06:54 | ||
ShimmerFairy | I have to ask: is there a better way to debug rakudo's Perl6/ portion than to liberally sprinkle my own 'say' statements all over the place? :P | 06:58 | |
maettu waves from Olten. Thank you, heroes, for coming, and all you do for Perl 6! | 07:01 | ||
[Coke] | maettu: thank you! | 07:03 | |
ShimmerFairy | Also, fun fact that src/core/precedence.pm is *very* sensitive to changes in quoting constructs and their behavior :) (I've run up it a few times already) | 07:04 | |
07:10
darutoko joined
07:16
abaugher left
07:17
abaugher joined
07:20
rangerprice left
07:21
skids left
|
|||
cdc_ | smls++ # blog post | 07:21 | |
07:24
xfix joined
07:25
liztormato joined
|
|||
nine | ShimmerFairy: I use note ;) | 07:25 | |
maettu: thank you for everything! | |||
ShimmerFairy | is there note in nqp? I'm not sure. | ||
nine | Oh, I don't know that | 07:26 | |
timotimo | god damn it, timo | 07:27 | |
nine | timotimo! | ||
timotimo | get an alarm clock that doesn't shut itself off after 45 minutes | ||
(or a more annoying noise) | |||
nine | timotimo: we were just wondering | ||
still at breakfast btw | |||
timotimo | good | 07:28 | |
i just exited the shower | |||
07:28
liztormato left
07:30
llfourn left
|
|||
timotimo | i missed hoelzro departing, didn't i? his flight leaves at 10am? :( | 07:31 | |
07:32
liztormato joined
|
|||
hoelzro | timotimo: no, I'm still here! | 07:33 | |
I just have to leave the hotel at 10 | |||
timotimo | wow! | ||
hoelzro | much still here. | 07:34 | |
such haven't left yet | |||
timotimo | even though i'm euphoric because of the opportunity to say goodbye, i'll *still* put on clothes before i come rushing down | 07:35 | |
hoelzro | hahahha | ||
07:37
vendethiel joined
07:38
liztormato left
07:43
rindolf joined
07:45
abaugher left
07:46
abaugher joined
07:49
laben joined
|
|||
laben | \o #perl6 | 07:49 | |
07:50
FROGGS left
07:51
RabidGravy joined
07:56
virtualsue joined
07:58
FROGGS joined
08:00
vendethiel left
|
|||
laben | seems there's a problem with latest rakudo, it fails a subtest in t/01-sanity/19-say.t | 08:00 | |
08:01
llfourn joined
08:02
laouji joined
|
|||
FROGGS | laben: well, the output of say() has changes yesterday, so the test probably just needs adaption | 08:02 | |
08:04
vendethiel joined
|
|||
laben | those are written differently from normal tests, i don't understand how they test, but it seems the n°4 say of a list is not working correctly | 08:05 | |
m: ('ok', ' ', '4').say | 08:06 | ||
camelia | rakudo-moar 6a1879: OUTPUT«ok 4» | ||
GLRelia | rakudo-moar 9a67ca: OUTPUT«(ok 4)» | ||
laben | yep, that's it | ||
FROGGS | m: ('ok', '4').say | ||
camelia | rakudo-moar 6a1879: OUTPUT«ok 4» | ||
GLRelia | rakudo-moar 9a67ca: OUTPUT«(ok 4)» | ||
laben | but i dont know if it's intended. seems strange to include the parens | ||
FROGGS | it is intended AFAIK | ||
laben | m: ['ok', ' ', '4'].say | 08:07 | |
camelia | rakudo-moar 6a1879: OUTPUT«ok 4» | ||
GLRelia | rakudo-moar 9a67ca: OUTPUT«[ok 4]» | ||
laben | m: say gather { take 'ok'; take ' '; take '4'; } | 08:08 | |
camelia | rakudo-moar 6a1879: OUTPUT«ok 4» | ||
GLRelia | rakudo-moar 9a67ca: OUTPUT«(ok 4)» | ||
laben | how do i change what it expects so that it doesn't fail anymore? | 08:10 | |
FROGGS | since it is just saying it, and say calls .gist which adds parens, you can potentially just turn it into a listop | 08:11 | |
m: say 'ok', ' ', '4' | |||
camelia | rakudo-moar 6a1879: OUTPUT«ok 4» | ||
GLRelia | rakudo-moar 9a67ca: OUTPUT«ok 4» | ||
laben | n°5 is already like that | 08:12 | |
FROGGS | then remove number 4 | ||
laben | but wouldn't it be better to change what's expected from 4 to the current one? i could also add the array one | 08:13 | |
ShimmerFairy | those tests, AFAICT, are specifically designed to mimic proper test output as a sign of success, so I'm not sure the sanity tests are the right place for .gist behavior involving () and such :) | 08:14 | |
*for testing .gist behavior | |||
08:15
laouji left
|
|||
laben | ShimmerFairy: you mean remove the 4th test and check the ().say and [].say stuff in the roast testsuite? | 08:15 | |
ShimmerFairy | yeah | 08:16 | |
FROGGS | laben: then you would need is-run() from t/spec/packages/Test/Util.pm which exceeds the meaning of the sanity tests | ||
laben: there are tests in roast for that already | 08:17 | ||
laben: so you can just remove it from 'make test' | |||
laben | FROGGS: i see, but it's better if you do it yourself, as i don't have commit rights and making a PR just for removing a single line feels... wasteful | 08:18 | |
FROGGS | mkay | ||
dalek | kudo/nom: cb9b821 | FROGGS++ | t/01-sanity/19-say.t: remove test of say() that does not work with .gist, laben++ |
08:22 | |
FROGGS | ups | ||
wrong branch :S | |||
damnit | |||
hmpf | |||
and I made this on the github page to not have to change branches :/ | 08:24 | ||
laben | *phew* at least there was not much nocturnal (for my timezone) activities and panda still works fine | ||
dalek | kudo/glr: faeda44 | FROGGS++ | t/01-sanity/19-say.t: remove test of say() that does not work with .gist, laben++ |
08:25 | |
FROGGS | timotimo++ # is helping here | ||
dalek | kudo/nom: cf3b24c | timotimo++ | t/01-sanity/19-say.t: Revert "remove test of say() that does not work with .gist, laben++" Was supposed to be on the glr branch This reverts commit cb9b821b08095c6d4c1157085e7fc2084f2dd72d. |
08:26 | |
ShimmerFairy | FROGGS: to be fair, it's not like nom _needs_ that sanity test so much that it can't stand to lose it too :P | 08:27 | |
FROGGS | ShimmerFairy: :o) | 08:28 | |
ShimmerFairy | I'm just thinking, if we want to do something with branch structure post-Christmas or post-RC (which I've heard talk of before), and change our default/main development branch from "nom" as part of it, I think I'd like if it had a better name than boring ol' "master" :) | 08:29 | |
FROGGS | master-of-the-universe? | 08:30 | |
ShimmerFairy | ("doctor" comes to mind as an idea, though it has nothing to do with development, and everything to do with allying with the Doctor instead of the Master :P) | ||
FROGGS | hehe | ||
servant perhaps fits better the Perl 6 mood :o) | |||
ShimmerFairy | The Doctor is quite friendly, unless you're, say, a dalek. :) | 08:31 | |
(uh oh) | |||
FROGGS | m: use Test; say Test | 08:32 | |
camelia | rakudo-moar 6a1879: OUTPUT«(Test)» | ||
GLRelia | rakudo-moar faeda4: OUTPUT«(Test)» | ||
timotimo | hm | 08:37 | |
08:41
tinyblak joined
08:45
tinyblak left
08:46
virtualsue left
08:52
FROGGS left
|
|||
timotimo | ShimmerFairy: there is note in nqp! i was pleasantly surprised my own self when jnthn pointed that out ~a month ago | 08:53 | |
ShimmerFairy | timotimo: it's not in docs/ops.markdown; is it available as nqp::note() ? | 08:55 | |
09:00
FROGGS[mobile] left
09:09
mprelude joined
09:10
Loren joined
|
|||
timotimo | no, a regulär sub in the nqp setting | 09:16 | |
until then i used sayfh and getstderr | 09:17 | ||
froggs and me are hanging out at the train station now | |||
how many test files and tests are still to be fixed? | |||
09:21
brrt joined
09:22
whiskey-drinking joined
09:23
espadrine joined
|
|||
whiskey-drinking | :::Matrix::: $M = [[1, 2, 3, 4], [-20, 30, 40, 50], [33, 44, 55, 80], [-1, -20, -9, 0]]; $M[1,3] :delete; dd $M; #$M = [[1, 2, 3, 4], Any, [33, 44, 55, 80]] How to compress $M ? | 09:26 | |
09:39
whiskey-drinking left
|
|||
timotimo | in order to throw out parts, you have to use $M.splice | 09:39 | |
otherwise you can grep by *.defined | |||
09:40
perln00b joined
09:41
rmgk left,
rmgk_ joined,
rmgk_ is now known as rmgk
09:46
brrt left
|
|||
dalek | ast/glr: 16773a5 | (Stefan Seifert)++ | S03-sequence/misc.t: Fix test for invalid sequence not throwing exception due to lazyness |
09:58 | |
ast/glr: f57897f | (Stefan Seifert)++ | S06-other/pairs-as-lvalues.t: Remove no longer needed try statement modifier Somehow prevents the test from passing even though the functionality is now implemented. |
|||
kudo/glr: 433e265 | (Stefan Seifert)++ | src/core/List.pm: Fix binding a List to a Signature not recognizing Pairs as named args Parcel used to look for Pairs in its list and upgrade them to named arguments when being coerced to a Capture. Parcel has been replaced by List, so List needs to do the same now. Fixes :(:t($t), :m($m)) := (t => 1, m => 'a'); |
10:02 | ||
nine | And another one down :) | 10:03 | |
Just took a while till I had network again | |||
timotimo | hey nine | 10:04 | |
i regret that i couldn't say goodbye properly :| | |||
nine | timotimo: please clean up the fallout from your nom revert on glr. When we merge nom into glr we will merge that revert as well | ||
timotimo: will you be at YAPC? | |||
timotimo | i will not | ||
nine | a shame | ||
timotimo | oh, wha was the fallout? i just did what froggs asked me to and didn't pay attention :S | 10:05 | |
laben | nine: could it be Hash needs a treatment of the same style? if i understood moritz somewhat | ||
nine | laben: same treatment as what? | ||
laben | as List | ||
timotimo | when turning Hash into .Capture? | ||
laben | m: say \(Hash) ~~ :(*@a) | 10:06 | |
camelia | rakudo-moar cf3b24: OUTPUT«True» | ||
GLRelia | rakudo-moar faeda4: OUTPUT«Invocant requires an instance of type Hash, but a type object was passed. Did you forget a .new? in block <unit> at /tmp/6H7DJzCtdq:1» | ||
nine | m: my $t; my $m; :(:m($m), :t($t)) := {t => 1, m => 2}; say $t; | ||
camelia | rakudo-moar cf3b24: OUTPUT«1» | ||
GLRelia | rakudo-moar faeda4: OUTPUT«1» | ||
laben | say \(List) ~~ :(*@a) | ||
m: say \(List) ~~ :(*@a) | |||
camelia | rakudo-moar cf3b24: OUTPUT«True» | ||
GLRelia | rakudo-moar faeda4: OUTPUT«Invocant requires an instance of type List, but a type object was passed. Did you forget a .new? in block <unit> at /tmp/eTzmwvbjMm:1» | ||
laben | GLRelia not updated with your commit yet | 10:07 | |
nine | laben: completely different issue. You're creating a Capture there containing a Hash or List type object as single positional argument. My fix was for coercing a List to a Capture. | ||
laben | O.o sorry for the noise then, i thought you could have solved that. i dont understand much of this Capture/Binder stuff | 10:08 | |
timotimo | hm, wouldn't you want to reverse that ~~, laben? | ||
m: say :(*@a) ~~ \(Hash) | 10:09 | ||
camelia | rakudo-moar cf3b24: OUTPUT«False» | ||
GLRelia | rakudo-moar faeda4: OUTPUT«False» | ||
timotimo | m: say :(*@a) ~~ \(Array) | ||
camelia | rakudo-moar cf3b24: OUTPUT«False» | ||
GLRelia | rakudo-moar 433e26: OUTPUT«False» | ||
timotimo | m: say :(*@a) ~~ \(1, 2, 3) | ||
camelia | rakudo-moar cf3b24: OUTPUT«False» | ||
GLRelia | rakudo-moar 433e26: OUTPUT«False» | ||
timotimo | hm | ||
laben | isnt ACCEPTS implemented by the rhs? | ||
timotimo | it is | 10:10 | |
ah, so it'd be the other way around from :(...) := (...) | |||
laben | so i wanted to check if the signature accepts the capture, so i did capture ~~ sig | ||
10:10
rurban left
|
|||
laben | sorry the other way (?) | 10:10 | |
timotimo | heh | 10:11 | |
nine | FWIW the :(...) := (...) trick is probably what was meant in panda's code. | ||
laben | anyway it's how i golfed down "sub foo(*@a) {}; foo(Hash)" | ||
m: sub foo(*@a) {}; foo(Hash) | 10:12 | ||
camelia | ( no output ) | ||
GLRelia | rakudo-moar 433e26: OUTPUT«Invocant requires an instance of type Hash, but a type object was passed. Did you forget a .new? in sub foo at /tmp/VyNE52GmLM:1 in block <unit> at /tmp/VyNE52GmLM:1» | ||
laben | m: sub foo(*@a) {}; foo(List) | ||
camelia | ( no output ) | ||
GLRelia | rakudo-moar 433e26: OUTPUT«Invocant requires an instance of type List, but a type object was passed. Did you forget a .new? in sub foo at /tmp/v0WMtdBsuw:1 in block <unit> at /tmp/v0WMtdBsuw:1» | ||
laben | or maybe this way was clearer after all? | ||
nine | spectesting the fix | ||
laben: well at least it's clearer _why_ you would want to do that at all ;) | 10:14 | ||
dalek | kudo/glr: 68bb3ea | (Stefan Seifert)++ | src/core/List.pm: Fix binding type objects to slurpies Fixes say \(Hash) ~~ :(*@a) and sub foo(*@a) {}; foo(Hash) Thanks to laben++ and moritz++ for golfing and reporting! |
10:15 | |
laben | with nine++ around, bugs get little rest XD | 10:16 | |
nine | Turns out, even binder issues have rather mundane origins | ||
Still haven't done any work on my YAPC talk though :/ | 10:17 | ||
laben | i was reading where the exception came from and didnt understand why it considered that an invocant. godspeed nine++ for your talk! | ||
nine | Btw. I do have a fix for zip-latest.t. I would really like to understand the problem before committing that though. | 10:18 | |
10:18
llfourn left
|
|||
timotimo | i'd like to see how you fixed it | 10:19 | |
nine | More like worked around it :/ | ||
timotimo: $res.emit( ([,] @values).item ); in src/core/Supply.pm line 805 | 10:20 | ||
10:21
rurban joined
|
|||
nine | m: my @a = 1, 2; use nqp; say nqp::getattr(@a, List, '$!reified').WHERE; say nqp::getattr(@a.clone, List, '$!reified'); | 10:29 | |
camelia | rakudo-moar cf3b24: OUTPUT«P6opaque: no such attribute '$!reified' in block <unit> at /tmp/mLJpk2TGB2:1» | ||
GLRelia | rakudo-moar 68bb3e: OUTPUT«140333515000976IterationBuffer.new» | ||
nine | m: my @a = 1, 2; use nqp; say nqp::getattr(@a, List, '$!reified').WHERE; say nqp::getattr(@a.clone, List, '$!reified').WHERE; | ||
camelia | rakudo-moar cf3b24: OUTPUT«P6opaque: no such attribute '$!reified' in block <unit> at /tmp/YxKwBM6Tpd:1» | ||
GLRelia | rakudo-moar 68bb3e: OUTPUT«140052650100648140052650100648» | ||
nine | So much for cloning. The clone has the same $!reified! | ||
m: my @a = 1, 2; my $b = List.from-iterator(@a.iterator); say @a[0].WHERE; say $b[0].WHERE; | 10:37 | ||
camelia | rakudo-moar cf3b24: OUTPUT«Method 'from-iterator' not found for invocant of class 'List' in block <unit> at /tmp/bTycr2DHNC:1» | ||
GLRelia | rakudo-moar 68bb3e: OUTPUT«140213960216456140213960216456» | ||
nine | List.from-iterator manages to create a new $!reified buffer but assigns the same scalar containers. So when the value is changed in the array, it will be changed in the list, too. | 10:38 | |
.tell lizmat I figured out what's wrong with zip-latest.t! It's just that every way we tried to fix the issue hit an underlying bug. Array.clone re-uses the same $!reified buffer for the clone and List.from-iterator creates a new $!reified but uses the same scalar containers for the values. So they are still linked. | 10:39 | ||
yoleaux | nine: I'll pass your message to lizmat. | ||
timotimo | wow, the internet connection has re-appeared! | 10:41 | |
nine | timotimo: backlog's worth reading ;) | ||
timotimo | ah | 10:43 | |
ouch :) | |||
nine | Luckily things like .clone are specified very well with completely sufficient half sentences leaving almost nothing up to interpretation | 10:45 | |
timotimo | argh | ||
ShimmerFairy | m: say <a b>.WHICH | 10:49 | |
camelia | rakudo-moar cf3b24: OUTPUT«Parcel|(Str|a)(Str|b)» | ||
GLRelia | rakudo-moar 68bb3e: OUTPUT«List|(Str|a)(Str|b)» | ||
ShimmerFairy | m: say <a b>.map({$_}).WHICH | ||
camelia | rakudo-moar cf3b24: OUTPUT«List|57036352» | ||
GLRelia | rakudo-moar 68bb3e: OUTPUT«Seq|48375888» | ||
ShimmerFairy | I wonder if .map should be returning something with a different kind of WHICH like that. (I just broke a test because of it) | 10:50 | |
masak | good afternoon, #perl6 | 10:51 | |
yoleaux | 29 Aug 2015 12:34Z <[Coke]> masak: do we really need to fix 113954, or is it: DIHWIDT ? | ||
nine | ShimmerFairy: what WHICH would you expect? | ||
timotimo | froggs was right; as soon as i cross the border from swiss to germany, the quality of the mobile network drastically decreases | 10:52 | |
masak | [Coke]: it still looks worth fixing to me. | ||
ShimmerFairy | nine: the one that lets me compare things on === . I'm working on val() and broke something because my implementation breaks <a b> === <a b> :P | ||
masak | [Coke]: it's not nice to receive an usage message telling you to do what you just did. | ||
timotimo | oh, val! | 10:53 | |
that's cool | |||
ShimmerFairy | nine: I could fix my code of course, but it's something I noticed and am wondering about | ||
timotimo | i didn't even notice when the travel direction changed from forwards to backwards | 10:54 | |
ShimmerFairy | timotimo: hopefully I can merge my work back into nom and push it sometime soon. It's how I found out that src/core/precedence.pm _really_ doesn't like having the Q lang messed with :) | ||
vendethiel | o/, masak | 10:55 | |
10:56
JaderDias joined
|
|||
ShimmerFairy | m: sub infix:«☃☄» { } &infix:«☃☄» # this is the error message I got from precedence.pm, but not how the error happened. I did find this quirk in parsing while investigating it, though | 10:56 | |
camelia | rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/EHlE_2s09fUndeclared routine: infix:«☃☄» used at line 1. Did you mean 'infix:<☃☄>'?» | ||
GLRelia | rakudo-moar 68bb3e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/9_L4m7YwShUndeclared routine: infix:«☃☄» used at line 1. Did you mean 'infix:<☃☄>'?» | 10:57 | |
timotimo | the Q lang! are you going to change anything about how O works? | ||
oh, of course O uses < >, right? | |||
ShimmerFairy | add the missing semicolon, add an argument list, or use <>, and that quirk in parsing doesn't complain like that :) | ||
timotimo | oh, wait, o is in the grammar, not in the core setting | 10:58 | |
10:58
domidumont joined
|
|||
ShimmerFairy | timotimo: the issue I found was that the LongName assembler $*W method (forget its name) didn't account for the &val call wrapping <> and «» in my branch, unsurprisingly :) | 10:58 | |
timotimo: but my fix feels a bit hackish, since I'd prefer to make <longname> produce the same kind of ast <deflongname> does (<deflongname> will handle colonpair'd names with nibble_to_str, which I updated previously, but <longname> has no actions method currently) | 10:59 | ||
And that parsing quirk I showed up above? I've not investigated that yet, but it's weird for sure :) | 11:00 | ||
m: sub infix:<☃☄> { } &infix:<☃☄> | |||
camelia | ( no output ) | ||
GLRelia | ( no output ) | ||
ShimmerFairy | m: sub infix:<☃☄>($a, $b) { say "Where's the ;?" } &infix:<☃☄>(1, 2) | 11:01 | |
camelia | rakudo-moar cf3b24: OUTPUT«Where's the ;?» | ||
GLRelia | rakudo-moar 68bb3e: OUTPUT«Where's the ;?» | ||
ShimmerFairy | m: sub infix:<☃☄>($a, $b) { say "Where's the ;?" } 1 ☃☄ 2 # finally | ||
camelia | rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/hxK2XD_P4YStrange text after block (missing semicolon or comma?)at /tmp/hxK2XD_P4Y:1------> 3ix:<☃☄>($a, $b) { say "Where's the ;?" }7⏏5 1 ☃☄ 2 # finally expecting any of: …» | ||
GLRelia | rakudo-moar 68bb3e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/pbic0Ok2FfStrange text after block (missing semicolon or comma?)at /tmp/pbic0Ok2Ff:1------> 3ix:<☃☄>($a, $b) { say "Where's the ;?" }7⏏5 1 ☃☄ 2 # finally expecting any of: …» | ||
timotimo | the way we do levenshtein suggestions is fragile | 11:02 | |
11:02
domidumont left
|
|||
ShimmerFairy | timotimo: the issue is that <deflongname> normalizes colonpairs to trimmed, space-separated, and <>-surrounded colonpairs, but <longname> doesn't get that. So, like the error I've shown here, there are problems that arise from this | 11:03 | |
11:03
domidumont joined
|
|||
timotimo | it tries to match a longname and if something else is wrong and causes the match to fail, we immediately jump into the "suggest longname" token instead | 11:03 | |
ShimmerFairy | m: sub infix:«☃☄» { } &infix:<☃☄> # deflongname turns that into infix:<☃☄>, and they match, so this passes | ||
camelia | ( no output ) | ||
GLRelia | ( no output ) | ||
ShimmerFairy | m: sub infix:<☃☄> { } &infix:«☃☄» # longname isn't transformed, and the names don't match on account of the bracket change | 11:04 | |
camelia | rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/FumzqhKRdCUndeclared routine: infix:«☃☄» used at line 1. Did you mean 'infix:<☃☄>'?» | ||
GLRelia | rakudo-moar 68bb3e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Z30h8gJsPDUndeclared routine: infix:«☃☄» used at line 1. Did you mean 'infix:<☃☄>'?» | ||
timotimo | why can you do that without a ; in between? | 11:05 | |
i mean it's fine that we can define something with :«...» and call it with <> | 11:06 | ||
ShimmerFairy | timotimo: the most frustrating thing is that explain_mystery's thrown object can't be constructed during CORE (at least right after precedence.pm), and none of its named hash args are stringifiable by the fallback error handler. Took a while for me to think to throw a debug say in there to get at the problem. | ||
timotimo | i think i'm misunderstanding you | ||
ah, i see | |||
that's a bit tricky; maybe we're re-using longname where we shouldn't be | |||
damn, my ssh is so sluggish, i can't even see the last four line si've written | |||
will they ever arrive? who knows! | |||
ShimmerFairy | timotimo: the missing ; is what I'm interested in, and I definitely think it's an error that the brackets can't be mixed as syntactically appropriate :) | ||
I discovered the missing ; trick there purely as a result of a typo accidentally leaving it out (while playing in perl6 -e to golf an error I was getting) :P | 11:08 | ||
[ptc] | .oO( the train is flying, but the network is crawling... ) |
||
11:09
domidumont left
|
|||
ShimmerFairy | (And, like you can mix brackets, I think we should also be able to define "aliases" for operators, so that you can properly link unicode ops and their texas equivalents, and make overriding them easier (pick either form to override, instead of both or figuring out the right one to change)) | 11:10 | |
11:11
perln00b left
|
|||
dalek | kudo/glr: c6a428c | (Stefan Seifert)++ | src/core/Array.pm: Make sure that @arr.List creates a completely disconnected List @arr.clone creates a shallow clone that contains the same $!reified buffer, so changes to the original would change the clone as well. Just using List.from-iterator(self.iterator) would ensure that we get a fresh $!reified buffer, but the items still share the containers. So when we assign to the array items, we still change the list's items as well. We're now deconting the Array's values when pushing them into the new List's $!reified. This makes $list.Array.List a bit more symmetrical, since .Array itemizes all values. However, if the values were items to begin with, we now decont them anyway. So it's not completely symmetrical, but should hopefully give fewer surprises overall. |
11:12 | |
kudo/glr: 36ea477 | (Stefan Seifert)++ | src/core/Supply.pm: Fix Supply.zip-latest flattening the returned value. |
|||
nine | There's now only 2 GLR related spec test failures: Sequences do not yet throw the correct exceptions on invalid input and one of the advent tests is not properly GLRed yet. | 11:13 | |
vendethiel | wow! | ||
oetiker cheers | 11:15 | ||
timotimo | holy hell, that's very good! | ||
ShimmerFairy: could it perhaps be parsing the & as infix:<&> and then just infix:<snowman> afterwards? | 11:16 | ||
m: infix:<+>(1, 2) | |||
camelia | rakudo-moar cf3b24: OUTPUT«WARNINGS:Useless use of "infix:<+>(1, 2)" in expression "infix:<+>(1, 2)" in sink context (line 1)» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«WARNINGS:Useless use of "infix:<+>(1, 2)" in expression "infix:<+>(1, 2)" in sink context (line 1)» | ||
timotimo | m: sub test { } & infix:<+>(1, 2) | ||
camelia | ( no output ) | ||
GLRelia | ( no output ) | ||
timotimo | m: sub test { } &infix:<+>(1, 2) | ||
camelia | ( no output ) | ||
GLRelia | ( no output ) | ||
jdv79 | unbelievable | ||
ShimmerFairy | m: sub test { } & 5 | ||
camelia | ( no output ) | ||
GLRelia | ( no output ) | ||
timotimo | inconsievebel! | ||
ShimmerFairy | timotimo: that seems to be it. The error message still illustrates the longname/deflongname discrepancy, however :) | 11:17 | |
timotimo | yup | ||
ShimmerFairy | timotimo: by the way, to answer your question: my biggest change to the Q lang itself is making it so that it supports multiple "post-processing" adverbs; e.g. q:x:w used to be eqv. to q:w , but now is basically q[].run.words :) | 11:19 | |
timotimo | i don't know what the fallout from my reverted commit was :| | ||
11:19
rindolf left
|
|||
timotimo | is it just that the revert will be merged into glr later on? | 11:19 | |
ShimmerFairy | timotimo: and that's because <> and «» are q:w:v and qq:ww:v, respectively, so that kinda has to work :) | 11:20 | |
timotimo | ah, that's good. i think i stumbled upon that same problem when i wanted to implement :chomp | ||
[ptc] | nine++! # no. of GLR test failures | 11:21 | |
ShimmerFairy | timotimo: it wasn't easy. I ran into the precedence.pm fragility during that (though I managed to skirt around it until today), and for a while I had weird bugs with repeated usages of the same base construct that was fixed by parameterizing the role I made :P | ||
timotimo | 362880 test failures ?!?!? | 11:22 | |
jdv79 | ugexe: could you give a use case of the manifest/resources issue you mentioned last night. i don't get it. | ||
ShimmerFairy | nine: with my map question earlier, .map(...).eager does seem to get what I want, at least on GLR :) (on nom, where I am, I currently have to then convert it to the original type as well) | 11:23 | |
11:24
TEttinger left
|
|||
timotimo | i wonder if we still desire to turn Perl6::Grammar.O(...) into something that constructs the information at build time and serializes it into the .moarvm file rather than being run at INIT time during every startup | 11:27 | |
maybe i'll put in something that measures how much time it takes | |||
but i imagine it's pretty efficient | |||
[ptc] | tadzik: interesting issue I just found in File::Find | 11:29 | |
tadzik: my $etc-symlinks = find(dir => '/etc/', type => 'symlink', keep-going => True); gives the error Failed to get the directory contents of '/etc/.git': chdir failed: Unknown system error | |||
tadzik: I use etckeeper on my box, and it looks like `find` is barfing on the chdir instead of keeping going | 11:30 | ||
timotimo | however, it does allocate objects when it's run and if we can postpone the very first gc run for user code, we'll be able to offer completely free allocation for many short scripts | ||
[ptc] | tadzik: just thought you'd like to know :-) | ||
nine | timotimo: We're still almost two orders of magnitude away from perl 5's startup speed. Every bit helps. | ||
timotimo | fair enough | ||
though of course it's a good idea to improve expensive things first | 11:31 | ||
11:31
JaderDias left
|
|||
nine | of course :) | 11:31 | |
11:32
silug left,
telex left
|
|||
timotimo | i can -e '.say for 1..313' and it'll finish just after the very first GC run | 11:32 | |
interesting. -e '.say for 1 xx 302' is the same way, but the gc occurs a tiny bit earlier as you can see | 11:33 | ||
nine | There's not much to allocate for a simple for loop | ||
Not any more at least :) | 11:34 | ||
11:34
telex joined
|
|||
nine | Btw. I can now confirm that t/spec/S02-literals/numeric.t and t/spec/S17-procasync/many-processes-no-close-stdin.t do fail on nom, too. | 11:36 | |
.tell hoelzro You added many-processes-no-close-stdin.t to spectest data. Is it supposed to pass? It passes neither on nom nor on glr here. | 11:37 | ||
yoleaux | nine: I'll pass your message to hoelzro. | ||
JimmyZ | nine: there is a branch for it, and didn't get merged | 11:38 | |
iirc | |||
nine | So why is the spec test file run? | ||
11:38
whiskey-drinking joined
|
|||
whiskey-drinking | :::Matrix::: $M = [[1, 2, 3, 4], [-20, 30, 40, 50], [33, 44, 55, 80], [-1, -20, -9, 0]]; $M[1,3] :delete; dd $M; ### $M = [[1, 2, 3, 4], Any, [33, 44, 55, 80]] How to compress $M ? | 11:39 | |
nine | whiskey-drinking: sounds like you want splice | 11:40 | |
pink_mist | weren't you told that 3 hours ago? oh no, I see you quit right before being told that | 11:41 | |
nine | ShimmerFairy: S02-literals/numeric.t fails since your roast commit cf775d3ae9adfdb07c6b57a3d3f06f8439d7976c | 11:42 | |
ShimmerFairy | nine: yeah, I cleaned up some tests there that weren't testing the right thing | ||
nine | So why are those failing tests not fudged? | 11:43 | |
timotimo | net again | ||
nine: all the early .O's took 0.00326180458068848 | |||
^- think it's worth improving already? ;) | |||
nine, whiskey-drinking, an alternative is to $M = $M.grep(*.defined), that should also work | 11:44 | ||
nine | timotimo: that's 16 % of perl5's startup time | ||
timotimo | yeah, fair enough, but how much of perl6's? ;) | ||
once we reach 2x perl5's startup time, we can consider this | 11:45 | ||
until then, there's bigger fish to fry | |||
11:45
silug joined
|
|||
timotimo | well, or 10x perl5's, then it'll reach ~1% | 11:48 | |
all the curried binds took 8.58306884765625e-06 | 11:53 | ||
nine wonders what the margin of error of these measurements actually is | |||
timotimo | here's another potentially great saving! (once we've cut the startup time by a few exponents of 10) | ||
switching trains soon | |||
and t | |||
the second train ride will only be a few minutes | |||
then a minute by car, and a few hours by sofa :) | 11:54 | ||
[ptc] | timotimo: where are you atm? I just arrived at Franfurt West | ||
*Frankfurt | |||
timotimo | just about to reach karlsruhe hbf | ||
[ptc] | ah, ok, not far behind then :-) | 11:55 | |
11:55
rindolf joined
|
|||
dalek | line-Perl5/glr: 1048ed0 | (Stefan Seifert)++ | t/ (11 files): Test::done is now done-testing |
11:55 | |
[ptc] adds done-testing to his mental list of ecosystem deprecation tests | |||
11:56
wtw joined
12:02
whiskey-drinking left
|
|||
dalek | line-Perl5/glr: 186fb99 | (Stefan Seifert)++ | lib/Inline/Perl5.pm6: Adopt new Perl 6 semantics with regard to Sets |
12:03 | |
12:04
wtw left
|
|||
timotimo | iit is rather hit in Karlsruhe | 12:05 | |
just like in Olen | |||
olten | |||
ShimmerFairy | timotimo: what are the biggest offenders to rakudo's start-up time, do you know? | 12:06 | |
12:09
tinyblak joined
|
|||
timotimo | don't know | 12:10 | |
12:13
wtw joined
12:14
llfourn joined
12:17
smls joined
12:19
wtw left
12:22
kaare_ left
|
|||
timotimo | there's alot of stuff we deserialize, of course | 12:25 | |
that's mostly how we reach 60 megs of ram used for the empty program | |||
did you see the nfa_to_statelist branch? | 12:30 | ||
masak | what is deserialization at this point? is it just a memcpy? I recall people saying that at some point, it could be that. | 12:31 | |
mrf | 21qq | ||
ShimmerFairy | Huh, interestingly I currently fail on say val("42") cmp val("42") , saying it's an ambiguous call. I suppose I should go define some equality ops for the allomorphic types, then :P | ||
timotimo | that was a reaction to finding out that the single most common thing that got deserialized was NQPArray and a big chunk of those were the statelists that were serialized along with NFA objects and those are redundant with the NFA object itself | ||
masak: hm, deserialization decompresses things quite a bit; for example we implemented "varint" storage for things that are usually small numbers | 12:32 | ||
and cross-references between objects have to be restored post-deserialize | 12:33 | ||
or during | |||
12:33
BenGoldberg joined
12:34
dayangkun joined
|
|||
ShimmerFairy | question: should equality ops like === be defined between allomorphic types and their direct superclasses? That is, define IntStr === IntStr, IntStr === Int, and IntStr === Str? | 12:35 | |
12:38
Loren left
|
|||
laben | if i wanted to use X with a binary function, not an operator, how can i write it? the specs suggest .crosswith and .cross, but those methods dont exist | 12:38 | |
ShimmerFairy | m: sub foo($a, $b) { $a * $b }; say (1,2,3) X[&foo] (4,5,6) | 12:39 | |
camelia | rakudo-moar cf3b24: OUTPUT«4 5 6 8 10 12 12 15 18» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«(4 5 6 8 10 12 12 15 18)» | ||
ShimmerFairy | laben: ^ :) | ||
laben | oh cool | ||
12:40
Loren joined
12:41
domidumont joined
12:43
wtw joined
12:47
domidumont left
12:49
tinyblak left
12:50
tinyblak joined,
perl6_newbee joined
|
|||
dalek | line-Perl5/glr: 5c2bdb4 | (Stefan Seifert)++ | lib/Inline/Perl5.pm6: Fix passing on _no_ positional args when invoking a P6 method from P5 |%hash<non-existing> returns Any and no longer vanishes in an argument list. Have both keys fall back to [] to fix that case. |
12:50 | |
nine | Ok, Inline::Perl5 is GLR ready, too now. | ||
timotimo | \o/ | 12:51 | |
[ptc] | \o/ | 12:54 | |
13:01
dayangkun left
|
|||
[ptc] | how is rakudobrew going to handle not using nom anymore? I mean, if, after the glr merge, one wanted to build Rakudo-2015.07, rakudobrew would still need to know that it should get nom, but for later versions it would have to use glr (or hopefully master) | 13:02 | |
just trying to see if I can work out what the fallout will be from the glr merge on the ecosystem | |||
laben | [ptc]: i cant say anything about star releases, but on latest tip, panda and its deps, along with some other modules, work fine on glr | 13:11 | |
i'm trying to help maintainers fix up their modules to be ready for glr | 13:12 | ||
probably i should aim for all the star-include modules first | |||
ShimmerFairy | I just read that 'cmp' is supposed compare on "eqv semantics", yet the default implementation of 'cmp' in rakudo bases itself on stringified version of its arguments. Does the equivalent of 'leg' suffice for "eqv semantics" ? | 13:25 | |
[ptc] | laben: if you need help with updating the modules and submitting PRs, just let me know | ||
13:28
kaare_ joined
|
|||
laben | [ptc]: thanks. i would be grateful if someone else does the docs checking, as on my underpowered laptop it's quite the task. as of now i need to fixup Pod::To::Html | 13:29 | |
ShimmerFairy | (though I suppose you'd have to figure out what the 'eqv' versions of <, >, <=, and >= are to do 'cmp' justice :P) | 13:34 | |
13:35
Loren_ joined
13:37
Loren left
|
|||
laben | ShimmerFairy: iirc you said you would tentatively write a new version of the rakudo internal Pod::To::Text, or was it Pod::To::Html? | 13:39 | |
ShimmerFairy | laben: I don't recall saying anything about that, but for testing output it would almost certainly be Pod::To::Text, for simplicity's sake :) | 13:40 | |
laben | ShimmerFairy: sorry, i remembered wrong then, was it the pod parser then? | ||
ShimmerFairy | yeah, it's the parser I've been working on | ||
timotimo | [ptc]: if you ask rakudobrew for 2015.07, it'll fetch that tag | 13:43 | |
at that point, the branch won't matter :) | 13:44 | ||
laben | pod::to::html has not survived glr, investigating... | 13:46 | |
13:50
khw joined
|
|||
[ptc] | timotimo: hrm, that sounds good. Then hopefully I don't need to worry about how Travis builds Rakudo after the glr merge. | 13:52 | |
timotimo: Although it's probably pragmatic to restrict module builders and testers using Travis to the post glr merge versions... | |||
13:55
perl6_newbee left
|
|||
TimToady sitting in Barcelona airport | 13:58 | ||
ShimmerFairy | o/ | 14:02 | |
TimToady | with 30 minutes free WiFi, so generous of them | 14:03 | |
14:05
larion joined
14:07
araujo left,
araujo_ joined,
tinyblak left
14:08
araujo_ left
14:09
araujo_ joined
|
|||
timotimo | mhm | 14:10 | |
14:12
araujo_ left
|
|||
timotimo | for some people, it only takes 30 minutes of free wifi access to change the world | 14:12 | |
ShimmerFairy | Working on val() has brought up a couple interesting questions already. For example, should :{42 => "OK"}<42> return the string "OK"? :) | 14:13 | |
TimToady | ooh, val() :) | 14:16 | |
14:17
tinyblak joined
|
|||
ShimmerFairy | TimToady: most interesting bit so far, I think, has been the need to check for a &val QAST::Op in some places now :) | 14:17 | |
TimToady | excellent question, but I think the answer is that object hashes need an exact type match, and that's not one | 14:18 | |
unless we allow coercive types there | |||
14:18
araujo joined,
araujo left,
araujo joined,
araujo left
|
|||
masak | better not, I think. | 14:19 | |
ShimmerFairy | Too bad the spec is quite sparse on the allomorphic types. I've been going by a minimal implementation, preferring to let the mentioned Str/Int ambiguity (for IntStr, for example) run free in most places, only adding to pass the spectest. | ||
masak | when people are asking for object hashes, the probably expect to be opting into type discipline. | ||
coercing wouldn't be Least Surprise. | 14:20 | ||
TimToady | but I'm glad someone's working on that; I'll download the backlog in my 30 min and study it | ||
ShimmerFairy | String access still works though: | ||
$ ./perl6 -e 'say {42 => "OK"}<42>' | |||
OK | |||
masak | ShimmerFairy: yes, sure. | ||
TimToady | masak: I mean a hash declared with a coercive type, not with :{} | ||
ShimmerFairy | TimToady: the branch is still sitting on my computer, but I can push it publicly soon if you'd like :) | ||
masak | TimToady: ah, OK. | ||
14:21
rindolf left,
tinyblak left
|
|||
masak | interesting -- the way I understand bitsavers.trailing-edge.com/pdf/sta..._Aug76.pdf the assignment operator was introduced with Plankalkül in 1945. | 14:22 | |
TimToady | after all, {} is already effectively Str() | ||
masak | aye | ||
it's nice to have syntax to express the type of normal hashes nowadays ;) | |||
14:22
skids joined
|
|||
ShimmerFairy | For the record I'm fine with <42> keeping a mostly Stringy behavior in hash subscripting, this was just something that I thought of :) | 14:23 | |
14:23
araujo joined,
araujo left,
araujo joined
14:25
BenGoldberg left,
araujo left
14:26
BenGoldberg joined,
BenGoldberg left,
araujo joined,
BenGoldberg joined
14:27
araujo left
|
|||
laben | m: Buf(1) | 14:33 | |
camelia | rakudo-moar cf3b24: OUTPUT«Cannot invoke this object (REPR: Uninstantiable, cs = 0) in block <unit> at /tmp/NlQIYG7oLE:1» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«Cannot invoke this object (REPR: Uninstantiable, cs = 0) in block <unit> at /tmp/3kVTLMIYF2:1» | ||
laben | i guess this ^^^ is intended and i should use Buf.new, right? | ||
masak | the error leaves something to be desired, but yes, you're meant to use .new | 14:35 | |
laben | and how do i match a number or something against it? using ~~ /1/ gives another error | 14:36 | |
m: say so Buf.new(1,2,3) ~~ 1 # shouldn't this be true? | 14:37 | ||
camelia | rakudo-moar cf3b24: OUTPUT«False» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«False» | ||
laben | m: say so 1 ~~ Buf.new(1,2,3) # shouldn't this be true? | 14:38 | |
camelia | rakudo-moar cf3b24: OUTPUT«False» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«False» | ||
ShimmerFairy | m: say Buf.new(1,2,3).ACCEPTS(1) | 14:40 | |
camelia | rakudo-moar cf3b24: OUTPUT«False» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«False» | ||
14:41
BenGoldberg left
14:42
moyamo joined
14:46
moyamo left
|
|||
nine | There's no ACCEPTS in Buf's type hierarchy | 14:47 | |
14:49
moyamo joined
14:52
FROGGS[mobile] joined
|
|||
laben | m: say so 1 ~~ [1,2,3] | 14:52 | |
camelia | rakudo-moar cf3b24: OUTPUT«False» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«False» | ||
laben | m: say so 1 ~~ (1,2,3) | ||
camelia | rakudo-moar cf3b24: OUTPUT«False» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«True» | ||
FROGGS[mobile] | Hello from Berlin | ||
laben | what's up with this? ^^^ List.ACCEPTS has changed behaviour but Array's did not | 14:53 | |
ShimmerFairy | m: say (1,2,3){&infix:<,>()} | ||
camelia | rakudo-moar cf3b24: OUTPUT«» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«()» | ||
FROGGS[mobile] | the List behaviour feel too magical for me | ||
ShimmerFairy | I like how GLR doesn't let you get away with returning absolutely nothing there :P | 14:54 | |
FROGGS[mobile] | though, Ranges do the same | ||
ShimmerFairy | m: say (1,2,3).WHAT | ||
camelia | rakudo-moar cf3b24: OUTPUT«(Parcel)» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«(List)» | ||
ShimmerFairy | laben: well, considering one's a Parcel... :) | ||
laben | FROGGS[mobile]: i like that i can use Int ~~ List as searching if that List has that Int | ||
m: say so 4 ~~ (1,2,3) | 14:55 | ||
camelia | rakudo-moar cf3b24: OUTPUT«False» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«True» | ||
laben | wait ok, it's wrong | ||
FROGGS[mobile] | me too, but should it be that easy? | ||
in case it should, array should do the same | |||
ShimmerFairy | FROGGS[mobile]: if ∈ didn't force Sets, I'd be more up for using it | 14:56 | |
I mean, I know they're *set* operators, but they're just so useful for good ol' positionals too :) | |||
FROGGS[mobile] | aye | ||
ShimmerFairy | (well, at least the ones that don't require unique and/or unordered sets ☺) | 14:57 | |
I suppose .grep is sufficient in any case, though | |||
laben | it makes for longer code if i just want to search for a single item, i need to use first-index or something when i just want to know if it exists | 15:00 | |
nine | Right now List.ACCEPTS is a weird mix of Parcel's and Array's ACCEPTS behaviour. See github.com/rakudo/rakudo/commit/51b313b9 | 15:01 | |
FROGGS[mobile] | nine: hi, how many test files are left? | ||
nine | I wouldn't rely on it in any new code | ||
FROGGS[mobile]: 2 | |||
FROGGS[mobile] | holy cow! | 15:02 | |
that's awesome | |||
nine | There's now only 2 GLR related spec test failures: Sequences do not yet throw the correct exceptions on invalid input and one of the advent tests is not properly GLRed yet. | ||
moyamo | Hi, I'm new. I've looked at some of perl6's features and they seem really awesome! But, alas, I'm a python programmer and I've never used any version of perl before. I'm looking for a post/blog/website which tells me why I should use perl 6 over python from a python programmers perspective. | ||
nine | The rest are failures we also have on nom | ||
JimmyZ | moyamo: jnthn.net/articles.shtml wish you will like it :) | 15:04 | |
nine | moyamo: flaky internet here, so just the gist: we have real threading in Perl 6, real meta programming and actually helpful error messages ;) | ||
vendethiel | smls: I think Hash does Positional for PDL-like stuff | 15:05 | |
JimmyZ | moyamo: and pl6anet.org/ | ||
vendethiel | (smls++: i'm reading your blog post now) | ||
nine | moyamo: and a very friendly and helpful community :) | ||
JimmyZ | smls++ too, good post for SHR(Small Hash Refactor) ;) | 15:06 | |
nine is < 10 minutes from Linz now and will spend the rest of this lovely day away from any keyboard :) | |||
timotimo | moyamo: i was a python programmer before i started with perl6 :) | ||
moyamo | Thanks guys. I will read some of those articles! | 15:07 | |
timotimo | moyamo: and there's also Inline::Python which lets you use python modules and classes as if they were regular perl6 classes - including deriving from them and having python classes derive from your perl6 classes | ||
moyamo | timotimo: Wow, so all the python libraries are available to perl6 programmers? | 15:08 | |
timotimo | in theory :) | 15:09 | |
nine - who made Inline::Python and Inline::Perl5 and Inline::Perl6 - already made PyQt based applications work | |||
so i expect it'll allow you to do a whole lot of things | |||
we're still looking for volunteers to actually stress-test it, i suppose :) | |||
moyamo | Also, how mature is perl6? Will there ever be breaking changes? | 15:11 | |
FROGGS[mobile] | mature - not quite... breaking changes - likely | 15:12 | |
especially until christmas | |||
timotimo | we're very childish, and so is perl6 | ||
perhaps perl6 is less childish than we are | |||
FROGGS[mobile] | Perl 6 is not childish :o) | 15:13 | |
it is awesome in many many ways and focuses on the user | 15:14 | ||
timotimo | children and childish people are awesome in many ways, too! | ||
FROGGS[mobile] | so the compiler (rakudo) will guide you in the right directions if it can | 15:15 | |
moyamo | Haha, that sounds amazing. | ||
15:15
sftp joined
|
|||
timotimo | moyamo: have you ever been annoyed by python's "global" and "nonlocal" stuff? | 15:16 | |
because in perl6, we have explicit variable declarations that make that a non-issue | |||
laben | timotimo: i did not know about pyqt, that's amazing! how far along is it? | 15:17 | |
moyamo | Yeah, python in general has poor support for functional-style programming. | ||
timotimo | pyqt is very far along, but pyside is even better - at least from a license standpoint | ||
moyamo | I mean they removed reduce() in python 3!!! | ||
timotimo | if you enjoy going for functional-style programming, you'll find lots to like in perl6 | 15:18 | |
laben | timotimo: man, you dont know how much of a happy man you made me. i need to try it right NOW | ||
dalek | ast: 8fe513c | ShimmerFairy++ | S02-literals/allomorphic.t: Updating allomorphic tests. In particular coercing the allomorphic types for 'is' tests, since allomorphic types probably shouldn't implement === for an allomorphic type and one of its component types. |
||
ast: d47db92 | ShimmerFairy++ | S02-literals/listquote.t: Fix accidental pure string expectation Since the test in question isn't meant to test allomorphic types, I changed the tested key/value pair to not make an allomorphic type. |
|||
timotimo | good luck and have fun, laben :) | ||
ShimmerFairy | other things perl 6 has over python: case statments :P | 15:19 | |
laben | btw, this kind of stuff needs to be publicised, i really did not know about it and i wander through perl6 related sites every day | ||
timotimo | i wouldn't call "given/when" a "case statement", to be honest | ||
laben: that sounds like you're going to write an awesome blog post for us :) | |||
ShimmerFairy | timotimo: that's because it's a much improved case statement, silly :P | 15:20 | |
laben | once i got something interesting working, sure why not? i would also have to create blog, but why not? ^.^ | ||
15:20
thou joined
|
|||
moyamo | I'm guessing it's more of a pattern-match than a case statement? | 15:21 | |
timotimo | good assumption, yeah | 15:22 | |
blogs.perl.org/users/xiaoayfeng/201...-race.html - someone could comment here; i *believe* hyper and race are only implemented in rakudo/glr and perhaps only as a method | |||
ShimmerFairy | m: say (1,2,3).hyper | ||
camelia | rakudo-moar cf3b24: OUTPUT«Method 'hyper' not found for invocant of class 'Parcel' in block <unit> at /tmp/NxcZWbrYVw:1» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«HyperSeq.new» | ||
ShimmerFairy | m: say (1,2,3).race | ||
camelia | rakudo-moar cf3b24: OUTPUT«Method 'race' not found for invocant of class 'Parcel' in block <unit> at /tmp/CNcr4xEa0s:1» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«HyperSeq.new» | ||
laben | m: race (1,2,3) | 15:23 | |
camelia | rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/W87phuBAFKUndeclared routine: race used at line 1» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tNHC0JLJZiUndeclared routine: race used at line 1» | ||
timotimo | well, that was easy to check | ||
laben | lwp::simple seems to be fine with glr, advancing to json::rpc | 15:24 | |
15:28
GLRelia left,
CQ left
15:34
GLRelia joined
15:35
moyamo_ joined,
moyamo_ left
15:36
moyamo left
|
|||
ugexe | jdv79: run a smoke test that installs modules via CURLI until you get to 100+ distributions installed. then try reading it or writing it (from/to json) and note the difference in start up time when doing `perl6 -e 'use SomeModule'` | 15:44 | |
15:45
Guest73597 joined,
Guest73597 left
|
|||
timotimo | um, are we actually still using json for CURLI? | 15:47 | |
i thought froggs made it use serialized blobs instead? | |||
ugexe | jdv79: for writing you can even use the projects.json file (that lists all the project META.info in the ecosystem). read it in(fast enough), but then try to `to-json` it... it will take way longer than json::faster (other json modules are equally slow as the default, unless json::fast merged json::fasters code) | ||
timotimo | oh, right, i wanted to merge that | 15:48 | |
done | |||
jdv79 | huh, i thought reading was slower than writing | 15:53 | |
ugexe | no. but reading happens more often than writing (writing manifest only happens during install, reading happens every time you start perl6) | 15:54 | |
llfourn | how does one run all the tests in roast? | ||
ugexe | so going from less than 1 second for a CURLI to read a manifest with 1 or 2 modules installed to 5+ seconds for a CURLI that reads a manifest with 100+ modules installed is not good | 15:55 | |
timotimo | "make spectest", potentially with "TEST_JOBS=4" or so in your environment | ||
Ulti | blogs.perl.org/users/xiaoayfeng/201...-race.html | ||
llfourn | timotimo: works thanks :) | 15:56 | |
ugexe | the MANIFEST also has more levels in its structure. its possible the MANIFEST format itself could be changed to something less normalized but faster to parse (for now) | 15:57 | |
jdv79 | i tested out a simple embedded indexing scheme and it pays off, only because perl6 is slow with json | 16:03 | |
nine | FROGGS[mobile]: do you by chance still have my micro USB cable? | ||
jdv79 | same code in p5 is pretty much the same perf without of without out | ||
nine | I seem to remember giving it to you on Wednedday | 16:04 | |
jdv79 | went from about 350s to .5s for a simple lookup | 16:05 | |
16:05
smls_ joined
|
|||
ugexe | the first time it will read in everything | 16:05 | |
for MANIFEST | |||
16:05
smls left
|
|||
jdv79 | well, that's terrible | 16:05 | |
ugexe | im not sure if it can be avoided yet or not. with an index structure it could probably do better lazy loading by just reading the index on the first time (so it knows what modules are available to find) | 16:07 | |
16:07
araujo_ joined
|
|||
jdv79 learned json is fine with dup keys which is how i embeded the index. so long as your parser is ok with it you coudl ignore it and load the whole file and then tack down the tree as usual | 16:07 | ||
16:07
araujo_ left
16:08
araujo_ joined
|
|||
thou | Hi, everyone. Long time, no see. | 16:08 | |
16:09
araujo_ left
|
|||
thou | I have a problem with concurrency that I hope is just me doing it wrong, I hope someone could take a look: gist.github.com/softmoth/02341cdada4ab8593d94 | 16:09 | |
ugexe | jdv79: here is an example of the MANIFEST if you have no seen its structure: gist.github.com/ugexe/27f2c889b4f16a72fb9b | ||
thou | Problems: 1) `await @threads` is getting error `Type check failed in binding result; expected 'Any' but got 'Mu'`, and 2) it's returning from await before the shell() are done running. I tried using run() instead of shell(); I tried qq:x. I believe I tried Proc::Async, too, although I don't have that code handy. | 16:11 | |
16:14
araujo joined
|
|||
jdv79 | ugexe: gist.github.com/anonymous/706c3af232a8a97f7d20 # my lame json idx scheme:) | 16:14 | |
there has to be a better way | 16:15 | ||
maybe not json;) | 16:16 | ||
ugexe | right ProtoBuffers would be nice. but not human readable unfortunately. there is also the `noson` branch which was the start of a new serialization thing | ||
but hasnt seen any new work for awhile | 16:17 | ||
JimmyZ | thou: I think it may be await all(@threads) | 16:20 | |
thou | i tried using a for loop there, too, like: for @threads -> $p { note $p.perl; note $p.result.perl; note $p.status; } | 16:22 | |
JimmyZ | thou: well, I am not sure, but I think there were some examples in jnthn++'s slide | ||
thou | it didn't make any difference | ||
OK | 16:23 | ||
I have looked at the golf assistant code and other stuff in that little repo | |||
but maybe I have missed more relevant examples | |||
I thought may be rakudo had changed recently and I was doing it an old way; I tried using a Supply instead of a Channel, and running .start() on it, and then but was unable to get that to work right either. | 16:24 | ||
JimmyZ | thou: gist.github.com/jnthn/a56fd4a22e7c43080078 did you see this? | 16:25 | |
ugexe | for 1 you should look at @threads before the await and see what it actually contains. secondly you need to close your processes | ||
perl6 -e 'my $proc = shell("ls", :out); say $proc.out.lines; say $proc.exitcode;' | |||
flussence | m: for ^100 { my $a = uint64.Range.pick; say $a if $a < 0 }; say 'alive'; | ||
camelia | rakudo-moar cf3b24: OUTPUT«alive» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«alive» | ||
ugexe | $proc.out.close | 16:26 | |
flussence | ^that's really, really broken on my laptop (32bit) | ||
returns negative 64-bit numbers about half the time. | |||
oh whoops, the $a needs to be typed... | 16:27 | ||
thou | JimmyZ, yes but didn't study it carefully as I thought it wasn't in rakudo yet | 16:28 | |
flussence | m: for ^100 { my uint64 $a = uint64.Range.pick; say $a if $a < 0 }; say 'alive'; # what I meant to write | ||
camelia | rakudo-moar cf3b24: OUTPUT«-6917529026673274189-3458764512231658321-2305843007882882430-4611686016877458221-2305843007260574174-4611686018071566373-4611686017832710831-4611686016630798508-2305843007951234421-8070450531458385911-4611686016723298411-92…» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«-2305843007805648688-2305843008265573527-3458764511730771662-4611686016376510305-9223372036005487961-5764607522468752173-4611686017315072735-3458764512937388781-4611686017417858222-5764607522744592644-1152921503577231947-92…» | ||
thou | ugexe, let me try that. The @threads prior to await looks OK to me, they are Pending | ||
JimmyZ | thou: it is mostly there, in the nom branch | 16:29 | |
ugexe | JimmyZ: i think its in the glr branch now too | ||
JimmyZ | yes | ||
thou | cool, thanks | 16:30 | |
JimmyZ | flussence: it would be nice send it to RT :P | ||
thou | I appreciate both of your time, you've given me enough so I can at least try a few more things! | 16:31 | |
flussence | JimmyZ: I might do, if someone doesn't beat me to it (on the worst 3G connection ever atm) | 16:32 | |
looks like it's not 32bit-specific, at least... | |||
thou | I'll also try to make a condensed test case for the segfault I got w/ perl6-m (was when doing Shell::Command's rm_rf from multiple threads; chdir failed multiple times saying no such file or directory, and then at some point it segfaulted) | ||
ugexe | thou: zef uses Proc and Proc::Async a lot. it might contain useful examples for you (this is a wrapper to make proc and proc::async have the same api) github.com/ugexe/zef/blob/master/l...m6#L55-L66 | 16:34 | |
16:34
cognominal left
|
|||
thou | ugexe: I did look at your code earlier – I will spend a bit more time with that. I'll try to let you know how it goes if I solve it. | 16:34 | |
ugexe | later on elsewhere its await Promise.allof(Zef::Process.new(whatever).start for ^5) | 16:35 | |
JimmyZ | thou: I like segfault :P | 16:36 | |
ugexe | my legal ficticious business name is `segfaults` | 16:37 | |
it has not managed to segfault the irs unfortunately | 16:38 | ||
should have went with bobby tables | 16:39 | ||
thou | ugexe: I think allof() is not quite right for my needs, since I want to tolerate some failures ? | ||
ugexe | Promise.anyof() ? | 16:40 | |
thou | that would bail on the first success | ||
so it'd be more of a .map() or something | |||
ugexe | then its something like .grep(*) | ||
skids | Hrm.. push-exactly "returns the number of things pushed, or IterationEnd..." so... it either spits $n back at you or returns IterationEnd, but never tells you how many it pushed if it came up short. :-/ | 16:41 | |
zacts | is optimization of rakudo being worked on? | 16:46 | |
or is that a major goal for the release of a stable version of rakudo Perl6? | |||
skids | Yes and no: it is certainly being worked on (there is a LOT of work), but just enough optimization to get reasonable performance for the release. | 16:50 | |
16:51
BenGoldberg joined
|
|||
skids | The goal is primarily to get a relatively firm specification implemented with enough features to be useful, while not losing what performance we have. | 16:51 | |
(as far as I glean) | |||
nine | .tell FROGGS[mobile] do you by chance still have my micro USB cable? I seem to remember giving it to you on Wednesday | 16:55 | |
yoleaux | nine: I'll pass your message to FROGGS[mobile]. | ||
BenGoldberg | m: Buf.new(1..5).say; | 16:56 | |
camelia | rakudo-moar cf3b24: OUTPUT«Buf:0x<01 02 03 04 05>» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«Buf:0x<01 02 03 04 05>» | ||
BenGoldberg | m: (1..5).Buf.say; | ||
camelia | rakudo-moar cf3b24: OUTPUT«Method 'Buf' not found for invocant of class 'Range' in block <unit> at /tmp/pZZ82IikVQ:1» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«Method 'Buf' not found for invocant of class 'Range' in block <unit> at /tmp/D4SUczPVTS:1» | ||
BenGoldberg | m: (1..5, 6).Buf.say; | ||
camelia | rakudo-moar cf3b24: OUTPUT«Method 'Buf' not found for invocant of class 'Parcel' in block <unit> at /tmp/PgE09_BpcM:1» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«Method 'Buf' not found for invocant of class 'List' in block <unit> at /tmp/BJTgF6fizV:1» | ||
laben | m: my @a; @a.push(${a=>1, b=>"foo"}); dd @a; | 17:00 | |
camelia | rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/jcyWlVz7OAUnsupported use of ${a=>1, b=>"foo"}; in Perl 6 please use $(a=>1, b=>"foo")at /tmp/jcyWlVz7OA:1------> 3my @a; @a.push(${a=>1, b=>"foo"}7⏏5); dd @a;» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«@a = [{:a(1), :b("foo")},]» | ||
laben | m: my @a; @a.push({a=>1, b=>"foo"},); dd @a; | ||
camelia | rakudo-moar cf3b24: OUTPUT«@a = [{:a(1), :b("foo")}]<>» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«@a = [:a(1), :b("foo")]» | ||
laben | m: my @a; @a.push({{a=>1, b=>"foo"}}); dd @a; | ||
camelia | rakudo-moar cf3b24: OUTPUT«@a = [-> ;; $_? is parcel { #`(Block|63359848) ... }]<>» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«@a = [-> ;; $_? is parcel { #`(Block|54608384) ... }]» | ||
laben | m: my @a; @a.push(%{a=>1, b=>"foo"}); dd @a; | ||
camelia | rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/vGVdvmS36AUnsupported use of %{a=>1, b=>"foo"}; in Perl 6 please use %(a=>1, b=>"foo")at /tmp/vGVdvmS36A:1------> 3my @a; @a.push(%{a=>1, b=>"foo"}7⏏5); dd @a;» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«@a = [:a(1), :b("foo")]» | ||
17:00
trnh joined
|
|||
laben | m: my @a; @a.push(a=>1, b=>"foo"); dd @a; | 17:00 | |
camelia | rakudo-moar cf3b24: OUTPUT«@a = []<>» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«@a = []» | ||
laben | m: my @a; @a.push(%(a=>1, b=>"foo")); dd @a; | ||
camelia | rakudo-moar cf3b24: OUTPUT«@a = [:a(1), :b("foo")]<>» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«@a = [:a(1), :b("foo")]» | ||
JimmyZ | oh, i see is parcel in GLRelia | 17:01 | |
laben | i remember finding a way to push an hash avoiding flattening compatible with both nom and glr. does someone remember? | 17:02 | |
ugexe | m: my @a; my %x; %x<a> = 1; @a.push($%x); say @a.perl | 17:03 | |
camelia | rakudo-moar cf3b24: OUTPUT«[{:a(1)}]<>» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«[{:a(1)},]» | ||
laben | so it must be stored beforehand :/ | 17:04 | |
nine | m: my @a; @a.push: ${:a(1)}; say @a.perl; | 17:08 | |
camelia | rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/57_3p51fQLUnsupported use of ${:a(1)}; in Perl 6 please use $(:a(1))at /tmp/57_3p51fQL:1------> 3my @a; @a.push: ${:a(1)}7⏏5; say @a.perl;» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«[{:a(1)},]» | ||
nine | m: my @a; @a.push: ${ :a(1) }; say @a.perl; | ||
camelia | rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/edJWW5cEV2Unsupported use of ${ :a(1) }; in Perl 6 please use $( :a(1) )at /tmp/edJWW5cEV2:1------> 3my @a; @a.push: ${ :a(1) }7⏏5; say @a.perl;» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«[{:a(1)},]» | ||
laben | m: my @a; @a.push($%(a=>1, b=>"foo")); dd @a; | 17:09 | |
camelia | rakudo-moar cf3b24: OUTPUT«@a = [{:a(1), :b("foo")}]<>» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«@a = [{:a(1), :b("foo")},]» | ||
laben | found ^^^ | ||
17:10
thou left
|
|||
JimmyZ | m: my @a; @a.push(${a=>1, b=>"foo"}); dd @a; | 17:11 | |
camelia | rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/8l6Cm0JMh5Unsupported use of ${a=>1, b=>"foo"}; in Perl 6 please use $(a=>1, b=>"foo")at /tmp/8l6Cm0JMh5:1------> 3my @a; @a.push(${a=>1, b=>"foo"}7⏏5); dd @a;» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«@a = [{:a(1), :b("foo")},]» | ||
JimmyZ | m: my @a; @a.push($(a=>1, b=>"foo")); dd @a; | 17:12 | |
camelia | rakudo-moar cf3b24: OUTPUT«@a = [:a(1), :b("foo")]<>» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«@a = [(:a(1), :b("foo")),]» | ||
17:12
cognominal joined
17:14
pmurias joined
|
|||
pmurias | hi | 17:14 | |
17:14
thou joined
17:17
Loren_ left
|
|||
JimmyZ | m: sub foo(@a is copy) {1; } | 17:20 | |
camelia | ( no output ) | ||
GLRelia | ( no output ) | ||
17:25
pmurias left
|
|||
flussence | looks like RT #124294 already exists for native uints behaving weirdly | 17:26 | |
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=124294 | ||
flussence | all of uint{16,32,64} appear to behave as an int64 | 17:27 | |
JimmyZ | m: say my uint32 $ = 2**64; | 17:28 | |
camelia | rakudo-moar cf3b24: OUTPUT«Cannot unbox 65 bit wide bigint into native integer in block <unit> at /tmp/efOP2tRgvK:1» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«Cannot unbox 65 bit wide bigint into native integer in block <unit> at /tmp/HrPk5zbG29:1» | ||
JimmyZ | m: say my uint32 $ = 2**63; | ||
camelia | rakudo-moar cf3b24: OUTPUT«-9223372036854775808» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«-9223372036854775808» | ||
17:30
espadrine left
17:31
smls_ left
|
|||
laben | m: for ^3 {.say; next if $_ < 3; LAST {say "last"}} | 17:32 | |
camelia | rakudo-moar cf3b24: OUTPUT«012last» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«012» | ||
laben | that's a bug ^^^ right? | 17:33 | |
17:33
perl6_newbee joined
|
|||
laben | .tell FROGGS[mobile] the LAST phaser doesnt seem to fire when the last execution is finished with next, see "for ^3 {.say; next if $_ < 3; LAST {say "last"}}" | 17:37 | |
yoleaux | laben: I'll pass your message to FROGGS[mobile]. | ||
thou | laben: I think you're right | 17:40 | |
17:43
Sgeo left
17:45
llfourn left
18:00
araujo left
18:26
trnh left
18:28
cognominal left
18:35
perl6_newbee left
|
|||
masak | yes, that's a big. | 18:35 | |
bug* | 18:36 | ||
I don't think phasers are in place on GLR yet. | |||
18:37
liztormato joined
|
|||
nine | thez should be | 18:37 | |
18:37
oetiker left
|
|||
liztormato waves from Montpellier | 18:37 | ||
masak | hi, Montpellier! | 18:38 | |
vendethiel | \o liztormato | 18:39 | |
nine | liztormato: 2! | ||
vendethiel 's not sure what's supposed to be Montpellier's "typical food" | 18:40 | ||
18:41
liztormato_ joined,
liztormato left,
liztormato_ is now known as liztormato
|
|||
liztormato | (Having dinner just in reach of the wifi network) | 18:42 | |
masak | sounds very romantic :P | 18:43 | |
timotimo | hahaha | ||
18:43
rangerprice joined
|
|||
timotimo | the table barely illuminated by the wifi AP | 18:43 | |
masak | their signals touched, frazzled, and fell back, in a constantly changing dance of connectivity | 18:44 | |
timotimo | m: my $foo = loop { last } | 18:46 | |
camelia | rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Dbvw74CIALUndeclared routine: loop used at line 1» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«5===SORRY!5=== Error while compiling /tmp/URsGMQ0Zb1Undeclared routine: loop used at line 1» | ||
timotimo | m: my $foo = do loop { last } | ||
camelia | ( no output ) | ||
GLRelia | ( no output ) | ||
timotimo | m: await start loop { last } | ||
camelia | ( no output ) | ||
GLRelia | ( no output ) | ||
timotimo | hm | ||
18:49
liztormato left
|
|||
BenGoldberg | m: say away start loop { last }; say 'alive'; | 18:53 | |
camelia | rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/fyG1LLaQziUndeclared routine: away used at line 1» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4kQ_rRhIXeUndeclared routine: away used at line 1» | ||
BenGoldberg | m: say await start loop { last }; say 'alive'; | ||
camelia | rakudo-moar cf3b24: OUTPUT«sub last (|) { #`(Sub|41109952) ... }alive» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«sub last (|) { #`(Sub|56058424) ... }alive» | ||
18:59
[Sno] joined
|
|||
timotimo | promises awayyyyyy | 19:00 | |
19:01
liztormato joined
19:04
liztormato left
19:07
liztormato joined
19:10
liztormato left
19:17
kaare_ left
19:18
rurban left
19:22
xinming_ joined
|
|||
laben | mh, the Task::Star meta-module (github.com/tadzik/Task-Star/) is updated with the current updated modules, right? | 19:23 | |
i mean, "with the current _included_ modules" | |||
19:25
xinming left
19:28
domidumont joined,
dha joined
|
|||
moritz | yes | 19:35 | |
19:37
colomon joined
19:42
llfourn joined
|
|||
laben | well, i checked every module on that list except for p6doc, so i can give a report on their glr-compatibility status | 19:44 | |
i sent PR for xml::writer, svg, svg::plot, test::mock which bring them to glr-ready status | 19:45 | ||
json::rpc is mostly fixed, just need a fix for the LAST phaser not firing | |||
timotimo | awesome, laben :) | 19:46 | |
great work | |||
19:46
llfourn left
|
|||
laben | dbiish, pod::to::html and template::mustache (not on list but dep of bailador) need some work | 19:47 | |
dalek | rl6-roast-data: 31df4d7 | coke++ | / (9 files): today (automated commit) |
||
laben | thus bailador remains unchecked because of missing dep | ||
while digest::md5 is way too much for me with that obfuscated code, dont even know where to begin and seems broken badly | 19:48 | ||
[Coke] waves from the train to albany, catching up on a long day of backlog. | |||
laben | the modules i did not mention seem to work fine | 19:49 | |
19:50
ChoHag joined
|
|||
ChoHag | I have found odd behaviour with lazy maps which may or may not be a bug. | 19:50 | |
19:50
TEttinger joined
|
|||
ChoHag | m: my @l = 1,2,3,4; sub foo { my $r = False; say $r; @l .= map: { $_ eq 3 ?? { $r = True; $_ * 10 }() !! $_ * 2}; say $r }; foo # Normal | 19:52 | |
camelia | rakudo-moar cf3b24: OUTPUT«FalseTrue» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«FalseTrue» | ||
ChoHag | m: my %l = a=>(1,2,3,4); sub foo { my $r = False; say $r; %l<a> .= map: { $_ eq 3 ?? { $r = True; $_ * 10 }() !! $_ * 2}; say $r }; foo # weird | ||
camelia | rakudo-moar cf3b24: OUTPUT«FalseFalse» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«FalseFalse» | ||
ChoHag | m: my %l = a=>(1,2,3,4); sub foo { my $r = False; say $r; %l<a> .= map: { $_ eq 3 ?? { $r = True; $_ * 10 }() !! $_ * 2}; say %l; say $r }; foo # force evaluation | 19:53 | |
camelia | rakudo-moar cf3b24: OUTPUT«Falsea => 2 4 30 8True» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«Falsea => (2 4 30 8)True» | ||
[Coke] | (backlog) (master vs. "better name") I would really rather we didn't go with a cute naming scheme, but instead used a bog standard naming convention. thanks. | ||
laben | for the modules commonly used (IMO) that i checked: XML, Compress::Zlib::Raw, Compress::Zlib, String::CRC32 (with a PR), TestML, YAML, Config::INI, File::Directory::Tree and File::Temp work fine | ||
ChoHag | So if a list is mapped, it's evaluated then and there, if a hash element is a list and that is mapped, it's done lazily. | 19:54 | |
laben | Slang::Tuxic seemed fine at a first look, but while working on Text::CSV (which is pretty b0rken) i have come to think it causes some (new?) issues of precedence | ||
ChoHag | (Or array or whatever) | 19:55 | |
Is that in some way by design? It certainly threw me by surprise. | |||
laben | m: ({say "1"},{say "2"},{say "3"}).map($_.()) | 19:56 | |
camelia | rakudo-moar cf3b24: OUTPUT«Cannot find method 'Any' in block <unit> at /tmp/gVLaOoV7dg:1» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«Cannot find method 'Any' in block <unit> at /tmp/dQcCQy24Me:1» | ||
[Coke] | masak - my concern with 113954 is that ... how do you escape the strings? what shell syntax do you use? | 19:57 | |
ChoHag | And if it is by design, how can I force waiting until the map has finished? | ||
laben | m: ({say "1"},{say "2"},{say "3"}).map({$_.()}) | ||
camelia | rakudo-moar cf3b24: OUTPUT«123» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«123» | ||
[Coke] | (we have MANY choices in that regard, and are likely to guess wrong) | ||
masak | [Coke]: yes, that's true. but not escaping is going to be wrong everywhere. | ||
[Coke]: and usually people who are not on bash tend to know how to translate bash's stuff to their shell's strange syntax. :) so I don't see it as much of an issue. | 19:58 | ||
in reality, the two "shells" we have to relate to are bash and COMMAND.COM | |||
[Coke] | masak: I don't see it as a real world issue. why would you have a command argument with spaces in it? are you a ... masakist? | ||
ChoHag | masak: cmd.exe | 19:59 | |
If you're going to accomodate COMMAND.COM you should accomodate sh and probably csh too. | |||
[Coke] | masak: and I assume you don't just want spaces fixed, but ANY invalid shell character. | ||
Seems like a good thing for a module to have to worry about. :) | 20:00 | ||
masak | [Coke]: I don't remember *why* I filed this ticket. but I agree with my past self that we should try to avoid error messages that amount to "you did X, please correct this by doing X instead" | ||
[Coke] | masak: We can't solve this in the generic case without a lot of work. Are you ok with just dealing with spaces? | ||
even though no sane developer would EVER use that? | 20:01 | ||
masak | [Coke]: in a way, we already "translate" a lot of things to shell. :$name becomes --name, Bool $e becomes -e etc | ||
[Coke]: I think I'm OK with just dealing with spaces. | |||
[Coke] | please add that to the ticket. | ||
masak | [Coke]: I don't remember the background of the ticket, so I won't argue about the "sane developer" bit :) | ||
[Coke] | (not using nom post glr) - we don't have a plan yet, but my expectation is that glr will merge into nom before we think about switching away from using nom as master. | 20:02 | |
ChoHag | Why must all developers be considered sane? | ||
[Coke] | btw, it was great to see everyone this week! | 20:03 | |
20:04
darutoko left
|
|||
ChoHag | You might as well just say what real developers do, or true developers, and the next thing you know everyone's in a kilt without undies. | 20:04 | |
(Though I agree with you, just not your reason) | |||
skids | Besides, crazy people need languages too, otherwise we would just have grunts instead of song lyrics. | 20:05 | |
DrForr | Well, I am lredy... minus the kilt :) | ||
[Coke] | I'm clearly not saying masak's insane - just unreasonable! ;) | ||
dha | DrForr - congrats on the new p::tp6 release. | ||
DrForr | Oh, thanks. | ||
[Coke] | only about 2.5 hours before I can collapse on my own sofa. | ||
ChoHag | (Although if there were a Shell::QuoteArguments module already extant I wouldn't agree with you) | ||
dha | And FYI, I am wearing my new The Search For Weng Weng t-shirt. :-) | 20:07 | |
DrForr | I haven't given it much of a thrashing yet, the big thing was getting Moose => P6 partial conversion out the proverbial door. And more yak hair on the floor. | ||
tadzik | laben: wellll | ||
laben: when I remember :) | |||
DrForr | Still jealous :) | ||
[Coke] | ooh, down to 1,033 tickets. doing another glr run to see if I can match the lack of failures reported earlier... | ||
dha | Yeah... sorry. :-) | ||
DrForr | No worries. Are the DVDs good too? | ||
dha | Haven't watched them yet. | ||
But they came from Australia! | 20:08 | ||
ChoHag | (And if there were, the answer would be simple: use the canonical shell in the current environment - if you're not using bash or cmd.exe, you know what you're doing or you shouldn't be and deserve the confusion) | ||
DrForr | Hoo boy, I get to into Liz's final act before the close... | ||
[Coke] | I am not a fan of the stalled status.... but I'm stalling 61602 | ||
DrForr | (fatal.) | ||
ChoHag sleeps | 20:10 | ||
If someone decides whether the above is a bug or not, and/or how to work around it, .tell me. | |||
DrForr | s/into/lead into/ | ||
20:10
ChoHag left
|
|||
dha | Good luck with that! | 20:10 | |
jdv79 | the glr is interesting to try to adapt code to | ||
laben | tadzik: oh, no hurry, i think we're in a pretty good shape actually. generally speaking modules only require much time of investigation and one or two "flat" added or explicit anti-flattening in places like a push. panda was an exception due to the amount of code and stuff that needed to be done | 20:11 | |
what is really breaking actually is IMO reckless use of now-broken list semantics, which is showing in some parsing modules | 20:12 | ||
jdv79 | i am a little concerned when something i dump what i think should be a hash and i see (my hash % =...) sometimes and {...} others | ||
laben | oh and Image::PNG::Portable works fine too | 20:14 | |
dha | So, I have a question that may seem unreasonable or offensive, although I really don't mean it to be... | ||
[Coke] | dha: fire away. | ||
20:15
mvuets joined
|
|||
dha | So, there's supposed to be a release candidate of p6 soon, and an actual release for christmas. | 20:15 | |
colomon | m: say <:13<01>/:13<07>> | ||
camelia | rakudo-moar cf3b24: OUTPUT«:13<01>/:13<07>» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«:13<01>/:13<07>» | ||
[Coke] | yes. we're committed to the christmas relese. the larry's-birthday rc is a nice to have. | 20:16 | |
dha | Is the documentation going to be in sufficient shape for someone who isn't already in the Perl 6 world to be able to use it? | ||
[Coke] | (though I'm sure we'll have a rc months in advance of christmas) | ||
jdv79 | probably not;) | ||
dha | Yeah... Do we consider that a problem at all? :-) | ||
[Coke] | probably not with currently volunteer efforts, no. | ||
jdv79 | do we have a choice might be a better question | ||
laben | oh and i actually got the wrong digest module, i was talking about Digest, while what's required by Task::Star is Digest::MD5 which i'm gonna check real quick | 20:17 | |
dha | Right. Well, that's kind of my deeper question. Is anyone actually actively working on that aspect of things? | ||
[Coke] | dhyup | ||
dha | I know there was a recent post about reorganizing the docs. | ||
[Coke] | dha: we're not hiding volunteers in the back, no | ||
jdv79 | loose them now! | 20:18 | |
dha | [Coke] - :-) | ||
Hm. Ok. 'Cause I'm thinking of trying to work on some of it, but I'm just wanting to get a picture of just how out in the reeds I'd be... :-) | 20:19 | ||
[Coke] | Yes, getting the docs polished is something that hopefully will happen before xmas; we have lots of people working on it, but of course could use more. more volunteers to write docs or proof docs would be appreciated. | ||
20:19
oetiker joined
|
|||
[Coke] | dha: if you're looking for a manager to tell you which parts of the docs to work on, that's probably not going to happen. | 20:19 | |
colomon | m: say <:13<01>/:13<07>>.Str, “Hmmm" | ||
camelia | rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/h1x1sIRB5CUnable to parse expression in smart double quotes; couldn't find final '”' at /tmp/h1x1sIRB5C:1------> 3say <:13<01>/:13<07>>.Str, “Hmmm"7⏏5<EOL> expecting any of: s…» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«5===SORRY!5=== Error while compiling /tmp/StssNTjFvdUnable to parse expression in smart double quotes; couldn't find final '”' at /tmp/StssNTjFvd:1------> 3say <:13<01>/:13<07>>.Str, “Hmmm"7⏏5<EOL> expecting any of: s…» | ||
dha | Ok. | 20:20 | |
colomon | m: say <:13<01>/:13<07>>.Str, 1 | ||
camelia | rakudo-moar cf3b24: OUTPUT«:13<01>/:13<07>1» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«:13<01>/:13<07>1» | ||
pink_mist | dha: become the manager :P | ||
colomon | oh | ||
jdv79 | could the ny perl mongers muster an explicit effort? | ||
dha | I guess I'll just start hacking at it and bother people with lots of questions. :-) | ||
jdv79 | at least now there's a goal post in view | ||
[Coke] | dha - that sounds like a great plan. (seriously) - thank you for taking an interest and pitching in, it will definitely help! | 20:21 | |
dha | jdv79 - It's worth a shot. I'm also planning to do a talk for them on this kind of subject, so maybe that would work. | ||
colomon | can someone with a working moar nom check and see if S02-literals/numeric.t has two test files there? | ||
DrForr | I'm tempted to write something along the lines of a post taking a nontrivial module and converting by hand to P6 so people can see what's involved, but that might scare people off... | ||
20:21
rurban joined
|
|||
dha | [Coke] - Thanks. I definitely want to help out, but sometimes it's hard to really get traction. | 20:21 | |
jdv79 | DrForr: maybe do it in chunks like a series. might be a bit much in one hit. | 20:22 | |
laben | colomon: you mean in the roast suite or what? | ||
DrForr | Oh, yah, probably. | ||
20:22
mvuets` joined
|
|||
colomon | laben: yes | 20:22 | |
dha | DrForr - I don't remember if I got anywhere with it before getting sidetracked to working on the docs, but go wild: github.com/dha/Test-Simple-perl6 | ||
:-) | |||
20:23
FROGGS[mobile] left
|
|||
DrForr | Nod. I might end up getting inspired during the conference, or at least use it as an excuse to procrastinate rewriting slides :) | 20:24 | |
dha is tempted to try and get an idea of how much isn't documented yet, but that might be scary... | |||
laben | colomon: i dont understand what you mean by "two test files" | ||
colomon | two tests fail | ||
my typing not so good at the moment. | 20:25 | ||
laben | ok, testing now | ||
20:25
mvuets left
|
|||
colomon | it’s about 23:25 in Olten right now, right? and I woke up at 5 am their time… | 20:26 | |
pink_mist | 22:25 I think (that's in CEST right?) | ||
20:27
rindolf joined
|
|||
colomon | pink_mist: you’re right, I thought my laptop was in Chicago time but it’s in Michigan time. | 20:27 | |
laben | colomon: it's not latest nom (by two days i think) but it has two fails yes | ||
colomon: test 17 and test 18 | |||
[Coke] | I'm still seeing 12 glr failures. | ||
colomon | laben: okay, that’s exactly what I’m getting. so that’s not a GLR regression. | ||
20:28
mvuets`` joined
|
|||
colomon | [Coke]: link? | 20:28 | |
laben | if you need other, just ask, im not gonna remove it anytime soon | ||
[Coke] | github.com/coke/perl6-roast-data/b....out#L5688 | ||
colomon | I got 6 for my spectest run, and that was individual *tests*, not files. | ||
[Coke] | I suspect people are not running the stress tests. | ||
colomon | [Coke]++ laben++ | ||
[Coke]: oh, good point, I’m certainly not. | 20:29 | ||
[Coke] | colomon: yes, tests, not files. | ||
well, check that link for ome more failures to work on. :) | |||
colomon | is that make fulltests ? | ||
ooo, integration/advent2012-day04.t may be interesting. :) | |||
[Coke] | that output is from t/spec/test_summary -magic-args | ||
20:30
darutoko joined
|
|||
[Coke] | colomon: here's the invocation: github.com/coke/perl6-roast-data/b...glr.sh#L32 | 20:30 | |
20:31
mvuets` left,
darutoko left
|
|||
colomon | m: say [1], -> @p { [0, @p Z+ @p, 0] } ... * | 20:31 | |
GLRelia | rakudo-moar 36ea47: OUTPUT«Cannot .elems a lazy list in block <unit> at /tmp/2RqxpKL7xl:1Actually thrown at: in block <unit> at /tmp/2RqxpKL7xl:1» | ||
camelia | rakudo-moar cf3b24: OUTPUT«1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1 1 10 45 120 210 252 210 120 45 10 1 1 11 55 165 330 462 462 330 165 55 11 1 1 12 66 220 495 792 924 792 495 220 66 12 1 1 13…» | ||
laben | btw, on nom i get two failures on S03-sequence/misc.t as well, but the test numbers are 23 and 24, not 28 and 29. maybe more tests were added in glr? | 20:32 | |
[Coke] | down to 5 failing test files. | ||
colomon | m: my $a = [1], -> @p { [0, @p Z+ @p, 0] } ... *; | ||
camelia | ( no output ) | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«===SORRY!===Type check failed in binding @p; expected 'Positional' but got 'Int'» | ||
colomon | ah, there we go | ||
m: my $a = [1,], -> @p { [0, @p Z+ @p, 0] } ... *; | 20:33 | ||
camelia | ( no output ) | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«===SORRY!===Type check failed in binding @p; expected 'Positional' but got 'Int'» | ||
colomon | m: my $a = [1,], -> \p { dd p } ... *; | 20:34 | |
camelia | ( no output ) | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«(timeout)@tail = [1]@tail = Any@tail = Any@tail = Any@tail = Any@tail = Any@tail = Any@tail = Any@tail = Any@tail = Any@tail = Any@tail = Any@tail = Any@tail = Any@tail = Any@tail = Any@tail = Any@tail = A…» | ||
colomon | um... | ||
m: my $a = [1,], -> $p { dd $p } ... *; | 20:35 | ||
camelia | ( no output ) | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«(timeout)$p = [1]$p = Any$p = Any$p = Any$p = Any$p = Any$p = Any$p = Any$p = Any$p = Any$p = Any$p = Any$p = Any$p = Any$p = Any$p = Any$p = Any$p = Any$p = Any$p = Any$p = Any$p = Any$p = …» | ||
20:35
virtualsue joined
|
|||
[Coke] | The connection on the train is too slow. signing off, catch folks later. | 20:36 | |
20:36
TEttinger left
|
|||
colomon | o/ | 20:36 | |
laben | m: my @p = 1,2,3; dd [0, @p Z+ @p, 0] | 20:37 | |
camelia | rakudo-moar cf3b24: OUTPUT«$ = [1, 3, 5, 3]» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«[3, 3]» | ||
laben | m: my @p = 1,; dd [0, @p Z+ @p, 0] | ||
camelia | rakudo-moar cf3b24: OUTPUT«$ = [1, 1]» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«[1, 1]» | ||
laben | m: my @p = 1,2; dd [0, @p Z+ @p, 0] | ||
camelia | rakudo-moar cf3b24: OUTPUT«$ = [1, 3, 2]» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«[2, 2]» | ||
colomon | also umm.... | ||
laben | m: my @p = 1,2,3; dd [0, (@p Z+ @p).flat, 0] | ||
camelia | rakudo-moar cf3b24: OUTPUT«$ = [0, 2, 4, 6, 0]» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«[0, (2, 4, 6).Seq, 0]» | ||
20:38
BenGoldberg left
|
|||
colomon | laben: it should be (0, @p) Z+ (@p, 0) | 20:38 | |
I mean, possibly with flats | |||
laben | m: my @p = 1,2; dd [|(0, @p) Z+ |(@p, 0)] | ||
camelia | rakudo-moar cf3b24: OUTPUT«5===SORRY!5===Arg-flattening | is only valid in an argument listat /tmp/fREVwWLzpM:1------> 3my @p = 1,2; dd [|7⏏5(0, @p) Z+ |(@p, 0)]Arg-flattening | is only valid in an argument listat /tmp/fREVwWLzpM:1------> 3my @p = 1,2; d…» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«[2, 2]» | ||
laben | m: my @p = 1,2; dd [(0, @p).flat Z+ (@p, 0).flat] | ||
camelia | rakudo-moar cf3b24: OUTPUT«$ = [1, 3, 2]» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«[1, 3, 2]» | ||
laben | this ^^^ ? | ||
m: my @p = 1,2,3; dd [(0, @p).flat Z+ (@p, 0).flat] | 20:39 | ||
camelia | rakudo-moar cf3b24: OUTPUT«$ = [1, 3, 5, 3]» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«[1, 3, 5, 3]» | ||
colomon | that’s the right computation for the next step of the pascal’s triangle, yes. | 20:40 | |
I don’t think that will fix the problem with binding to @p, though? | |||
20:40
itz joined
|
|||
laben | m: say [1] -> @p { [(0, @p).flat Z+ (@p, 0).flat] } ... * | 20:41 | |
camelia | rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/IxF653RDqJUnexpected block in infix position (missing statement control word before the expression?)at /tmp/IxF653RDqJ:1------> 3say [1]7⏏5 -> @p { [(0, @p).flat Z+ (@p, 0).flat]  expecting…» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«5===SORRY!5=== Error while compiling /tmp/d0ggZ2zsd7Unexpected block in infix position (missing statement control word before the expression?)at /tmp/d0ggZ2zsd7:1------> 3say [1]7⏏5 -> @p { [(0, @p).flat Z+ (@p, 0).flat]  expecting…» | ||
laben | m: my \a = [1] -> @p { [(0, @p).flat Z+ (@p, 0).flat] } ... * | ||
camelia | rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/RGRWtgH_6uUnexpected block in infix position (missing statement control word before the expression?)at /tmp/RGRWtgH_6u:1------> 3my \a = [1]7⏏5 -> @p { [(0, @p).flat Z+ (@p, 0).flat]  expec…» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4XyO2tZWB6Unexpected block in infix position (missing statement control word before the expression?)at /tmp/4XyO2tZWB6:1------> 3my \a = [1]7⏏5 -> @p { [(0, @p).flat Z+ (@p, 0).flat]  expec…» | ||
laben | m: my \a = [1], -> @p { [(0, @p).flat Z+ (@p, 0).flat] } ... * | ||
camelia | ( no output ) | ||
GLRelia | ( no output ) | ||
laben | m: my \a = [1], -> @p { [(0, @p).flat Z+ (@p, 0).flat] } ... *; say a | 20:42 | |
GLRelia | rakudo-moar 36ea47: OUTPUT«Cannot .elems a lazy list in block <unit> at /tmp/k8MA7zOw11:1Actually thrown at: in block <unit> at /tmp/k8MA7zOw11:1» | ||
camelia | rakudo-moar cf3b24: OUTPUT«1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1 1 10 45 120 210 252 210 120 45 10 1 1 11 55 165 330 462 462 330 165 55 11 1 1 12 66 220 495 792 924 792 495 220 66 12 1 1 13…» | ||
20:42
llfourn joined
|
|||
jdv79 | ok, how does one create a Hash[Hash] ? | 20:43 | |
laben | colomon: the problem seems to be that .gist or whatever is called by say tries to .elems instead of actually iterating. i would say it will need to be Seq/Iterator -ified | ||
colomon | m: my $a = (1).Seq, -> \p { dd p } ... *; | 20:44 | |
camelia | rakudo-moar cf3b24: OUTPUT«Method 'Seq' not found for invocant of class 'Int' in block <unit> at /tmp/L2gXQFfUQ0:1» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«Method 'Seq' not found for invocant of class 'Int' in block <unit> at /tmp/O9YExDCnOf:1» | ||
colomon | m: my $a = [1].Seq, -> \p { dd p } ... *; | ||
camelia | rakudo-moar cf3b24: OUTPUT«Method 'Seq' not found for invocant of class 'Array' in block <unit> at /tmp/bbMFazT9Je:1» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«(timeout)@tail = (1).Seq@tail = Any@tail = Any@tail = Any@tail = Any@tail = Any@tail = Any@tail = Any@tail = Any@tail = Any@tail = Any@tail = Any@tail = Any@tail = Any@tail = Any@tail = Any@tail = Any@tail…» | 20:45 | |
jdv79 | nm, got it | ||
laben | m: my \a = [1], -> @p { [(0, @p).flat Z+ (@p, 0).flat] } ... 126; say a | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«Type check failed in binding @p; expected 'Positional' but got 'Int' in block <unit> at /tmp/XBKGOucWNi:1» | ||
camelia | rakudo-moar cf3b24: OUTPUT«1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1 1 10 45 120 210 252 210 120 45 10 1 1 11 55 165 330 462 462 330 165 55 11 1 1 12 66 220 495 792 924 792 495 220 66 12 1 1 13…» | ||
laben | m: my \a = [1,], -> @p { [(0, @p).flat Z+ (@p, 0).flat] } ... 126; say a | 20:46 | |
GLRelia | rakudo-moar 36ea47: OUTPUT«Type check failed in binding @p; expected 'Positional' but got 'Int' in block <unit> at /tmp/mpTL27cgCW:1» | ||
camelia | rakudo-moar cf3b24: OUTPUT«1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1 1 10 45 120 210 252 210 120 45 10 1 1 11 55 165 330 462 462 330 165 55 11 1 1 12 66 220 495 792 924 792 495 220 66 12 1 1 13…» | ||
laben | m: my \a = $[1], -> @p { [(0, @p).flat Z+ (@p, 0).flat] } ... 126; say a | ||
camelia | rakudo-moar cf3b24: OUTPUT«Use of uninitialized value of type Any in numeric context in block <unit> at /tmp/KLlhaS2r2g:1===SORRY!===Type check failed in binding @p; expected 'Positional' but got 'Any'» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«Type check failed in binding @p; expected 'Positional' but got 'Int' in block <unit> at /tmp/0APU2BQEJN:1» | ||
20:46
llfourn left,
domidumont left
20:47
yqt joined
|
|||
colomon | I wonder which @p is the problem there — the very first iteration or the second? | 20:48 | |
virtualsue | back from olten | 20:49 | |
colomon | \o | 20:50 | |
20:51
mvuets joined
|
|||
laben | m: sub f(@p) { dd @p; [(0, @p).flat Z+ (@p, 0).flat] }; dd f(f(f(f(f([1]))))); | 20:52 | |
camelia | rakudo-moar cf3b24: OUTPUT«[1]<>[1, 1]<>[1, 2, 1]<>[1, 3, 3, 1]<>[1, 4, 6, 4, 1]<>[1, 5, 10, 10, 5, 1]» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«[1][1, 1][1, 2, 1][1, 3, 3, 1][1, 4, 6, 4, 1][1, 5, 10, 10, 5, 1]» | ||
laben | m: sub f(**@p) { dd @p; [(0, @p).flat Z+ (@p, 0).flat] }; dd f(f(f(f(f(1))))); | 20:53 | |
camelia | rakudo-moar cf3b24: OUTPUT«(1)(1, 1)(2, 2)(2, 2)(2, 2)[2, 2]» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«[1][[1, 1],][[2, 2],][[2, 2],][[2, 2],][2, 2]» | ||
20:53
mvuets`` left
|
|||
dha | ok. Attempts to figure out what C<state> does or how state variables work lead down a series of twisty passages, all alike (in that they do not give answers). :-| | 20:53 | |
20:54
mvuets` joined
|
|||
laben | m: sub f(@p) { dd @p; [(0, @p).flat Z+ (@p, 0).flat] }; for ^9 {FIRST {my \a = f([1])}; \a = f(a); LAST { dd a }} | 20:55 | |
camelia | rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/hks2n0gSw4Preceding context expects a term, but found infix = insteadat /tmp/hks2n0gSw4:1------> 3 }; for ^9 {FIRST {my \a = f([1])}; \a =7⏏5 f(a); LAST { dd a }}» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«5===SORRY!5=== Error while compiling /tmp/pa7mVm87C1Preceding context expects a term, but found infix = insteadat /tmp/pa7mVm87C1:1------> 3 }; for ^9 {FIRST {my \a = f([1])}; \a =7⏏5 f(a); LAST { dd a }}» | ||
masak | 'night, #perl6 | ||
laben | m: sub f(@p) { dd @p; [(0, @p).flat Z+ (@p, 0).flat] }; for ^9 {FIRST {my \a = f([1])}; a = f(a); LAST { dd a }} | ||
camelia | rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tRQUsVSmbIPreceding context expects a term, but found infix = insteadat /tmp/tRQUsVSmbI:1------> 3] }; for ^9 {FIRST {my \a = f([1])}; a =7⏏5 f(a); LAST { dd a }}» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«5===SORRY!5=== Error while compiling /tmp/AXmIapnvJAPreceding context expects a term, but found infix = insteadat /tmp/AXmIapnvJA:1------> 3] }; for ^9 {FIRST {my \a = f([1])}; a =7⏏5 f(a); LAST { dd a }}» | ||
20:57
mvuets left
|
|||
laben | .tell FROGGS the LAST phaser doesnt seem to fire when the last execution is finished with next, see "for 1 {LAST {say "last"};next}" | 21:00 | |
yoleaux | laben: I'll pass your message to FROGGS. | ||
laben | with that, JSON::RPC could work fine on glr | 21:01 | |
laben is going to bed right now | |||
have a good rest, #perl6 | |||
colomon | good night! | ||
21:01
laben left
21:06
frobisher joined
21:07
colomon left
21:08
dha left
21:14
rarara_ joined
|
|||
rarara_ | what is the difference between 'do for' and 'map' ? | 21:15 | |
21:16
salyavin joined,
frobisher left
|
|||
timotimo | in glr, no longer anything IIUC | 21:17 | |
21:17
salyavin is now known as dha,
lizmat joined
|
|||
rarara_ | m: @r = do for ^10 {$_ + 1; }; @g = map {$_ + 1; } ^10; say @r.perl, @g.perl; | 21:18 | |
camelia | rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/PoEbqn8LRQVariable '@r' is not declaredat /tmp/PoEbqn8LRQ:1------> 3<BOL>7⏏5@r = do for ^10 {$_ + 1; }; @g = map {$_» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«5===SORRY!5=== Error while compiling /tmp/zElWz1eWgyVariable '@r' is not declaredat /tmp/zElWz1eWgy:1------> 3<BOL>7⏏5@r = do for ^10 {$_ + 1; }; @g = map {$_» | ||
rarara_ | m: my @r = do for ^10 {$_ + 1; }; my @g = map {$_ + 1; } ^10; say @r.perl, @g.perl; | ||
camelia | rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/EWDQaE8xk5Missing comma after block argument to mapat /tmp/EWDQaE8xk5:1------> 030 {$_ + 1; }; my @g = map {$_ + 1; } ^107⏏5; say @r.perl, @g.perl;» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«5===SORRY!5=== Error while compiling /tmp/byx3NDKXr1Missing comma after block argument to mapat /tmp/byx3NDKXr1:1------> 030 {$_ + 1; }; my @g = map {$_ + 1; } ^107⏏5; say @r.perl, @g.perl;» | ||
21:18
xfix left
|
|||
rarara_ | m: my @r = do for ^10 {$_ + 1; }; my @g = map ({$_ + 1; }, ^10); say @r.perl, @g.perl; | 21:19 | |
camelia | rakudo-moar cf3b24: OUTPUT«Cannot call map(Parcel); none of these signatures match: (&code, *@values is rw) (Whatever, \a) (&code, Whatever) in block <unit> at /tmp/nAtlpERxZk:1» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«Cannot call map(List); none of these signatures match: (&code, *@values is rw) (Whatever, \a) (&code, Whatever) in block <unit> at /tmp/UEsiNcVDR6:1» | ||
rarara_ | giving up, map seems evil | ||
21:20
lizmat_ joined,
BenGoldberg joined
|
|||
rarara_ | m: my @r = do for ^10 {$_ + 1; }; my @g = map ({$_ + 1; }, @r); say @r.perl, @g.perl; | 21:22 | |
camelia | rakudo-moar cf3b24: OUTPUT«Cannot call map(Parcel); none of these signatures match: (&code, *@values is rw) (Whatever, \a) (&code, Whatever) in block <unit> at /tmp/WoSfdBceNo:1» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«Cannot call map(List); none of these signatures match: (&code, *@values is rw) (Whatever, \a) (&code, Whatever) in block <unit> at /tmp/kSRmuYr5F5:1» | ||
rarara_ | what am i doing wrong? sorry if it is trivial | ||
21:23
lizmat left,
rurban left
|
|||
dha | m: my @r = do for ^10 {$_ + 1; }; my @g = @r.map: {$_ +1;}say @r.perl;say @g.perl; | 21:24 | |
camelia | rakudo-moar cf3b24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/l41BMsDzauStrange text after block (missing semicolon or comma?)at /tmp/l41BMsDzau:1------> 3^10 {$_ + 1; }; my @g = @r.map: {$_ +1;}7⏏5say @r.perl;say @g.perl; expecting any of: …» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«5===SORRY!5=== Error while compiling /tmp/PrKHG38NuoStrange text after block (missing semicolon or comma?)at /tmp/PrKHG38Nuo:1------> 3^10 {$_ + 1; }; my @g = @r.map: {$_ +1;}7⏏5say @r.perl;say @g.perl; expecting any of: …» | ||
rarara_ | my @r = do for ^3 {$_ + 1; }; my @g = map ({$_ + 1; }, 0,1,2,3); say @r.perl, @g.perl; | ||
dha | hm. | 21:25 | |
rarara_ | m: my @r = do for ^3 {$_ + 1; }; my @g = map ({$_ + 1; }, 0,1,2,3); say @r.perl, @g.perl; | ||
camelia | rakudo-moar cf3b24: OUTPUT«Cannot call map(Parcel); none of these signatures match: (&code, *@values is rw) (Whatever, \a) (&code, Whatever) in block <unit> at /tmp/jmBf8YaedU:1» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«Cannot call map(List); none of these signatures match: (&code, *@values is rw) (Whatever, \a) (&code, Whatever) in block <unit> at /tmp/T5SjlPq0_q:1» | ||
dha | m: my @r = do for ^10 {$_ + 1; }; my @g = @r.map: {$_ +1;};say @r.perl;say @g.perl; | ||
camelia | rakudo-moar cf3b24: OUTPUT«[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]<>[2, 3, 4, 5, 6, 7, 8, 9, 10, 11]<>» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«[1, 2, 3, 4, 5, 6, 7, 8, 9, 10][2, 3, 4, 5, 6, 7, 8, 9, 10, 11]» | ||
dha | ooh. | ||
not sure why the non-method version isn't working, though. | |||
m: my @r = do for ^10 {$_ + 1; }; my @g = map {$_ + 1; }, @r; say @r.perl, @g.perl; | 21:27 | ||
camelia | rakudo-moar cf3b24: OUTPUT«[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]<>[2, 3, 4, 5, 6, 7, 8, 9, 10, 11]<>» | ||
GLRelia | rakudo-moar 36ea47: OUTPUT«[1, 2, 3, 4, 5, 6, 7, 8, 9, 10][2, 3, 4, 5, 6, 7, 8, 9, 10, 11]» | ||
dha | Seems it doesn't like the parens... | ||
I know P6 tends towards not using parens, but I didn't think in a case like this it would forbid them. | |||
rarara_ | :) | ||
dha | So... that seems to be the issue. As to *why*... No idea. :-) | 21:28 | |
hm. the error indicates the parens are creating a Parcel or a List. that might be a clue. *shrug* | 21:29 | ||
timotimo | [ptc]: ^5 | ||
21:30
lizmat_ is now known as lizmat
|
|||
jdv79 | after a bit of triage the glr makes sense. or at least it becomes more mechanical and somewhat sensical. | 21:30 | |
oh, i meant more sense and more sensical. | |||
TAP has a bit of LTA output. i forgot to s/done/done-testing/ and i get "... All x subtests passed" in red and then later on the lack of plan complaint | 21:36 | ||
21:36
mvuets`` joined
|
|||
jdv79 | maybe it should be in yellow or appended with "but..." | 21:36 | |
21:37
mvuets` left,
mvuets joined
21:40
mvuets`` left,
woolfy joined
|
|||
woolfy | Greetings from Montpellier. | 21:42 | |
_itz_ | is yapc in .fr this year? | 21:43 | |
woolfy | FR is in between SW and ES | 21:45 | |
21:45
telex left
|
|||
woolfy | SW -> car -> FR -> ES -> yapc (~~3 days) | 21:45 | |
_itz_ | ah | 21:46 | |
21:46
telex joined
|
|||
rarara_ | woolfy that region of france is nice | 21:47 | |
_itz_ noticed Swiss Army Knife chocolate bars at the Airport - just the thing for scaring security with | 21:48 | ||
21:48
mvuets left
|
|||
_itz_ | err frightening even | 21:49 | |
woolfy has image in mind of itz eating a chocolate swiss army knife and airport security is not being very much impressed... so itz each 17,4 chocolate swiss arme knifes at the same time, and suddenly everybody is in awe and calls for Guinnes Book of World Records... | 21:56 | ||
21:57
frobisher joined,
dha left
|
|||
timotimo | woolfy: what's that hotel called again that you'll be in tonight? | 21:58 | |
21:58
frobisher is now known as dha
21:59
dha left
22:15
rindolf left
22:20
itz left
22:26
itz joined,
rindolf joined
22:32
larion left
22:33
RabidGravy left
22:36
rarara_ left
22:39
larion joined
22:43
llfourn joined
22:47
llfourn left
23:00
lizmat left
23:01
lizmat joined
23:04
vendethiel left,
woolfy left
|
|||
thou | Can anyone verify this buggy behavior? gist.github.com/softmoth/edc6b60c1b787e0f9b33 With --workers=1 it works fine, but with --workers=2 there are a variety of problems, including getting moarvm to segfault. I am on OS X. | 23:07 | |
I had problems on a linux machine, too. | |||
23:13
yqt left
|
|||
ugexe | on osx there is a bug. s/await $promise/$promise.result; await $promise/ might fix it | 23:15 | |
you are trying to run shell commands (rm_rf, likely chdir from that) from within processes with no shell? | 23:20 | ||
23:21
tinyblak joined
|
|||
thou | ugexe: I'm not sure what you mean with that question. The threads spawned by start { ... } don't have a shell? | 23:22 | |
I'm not sure why that would matter; do the threads share a common $*CWD? | |||
ugexe | run(<<rm -rf $top>>); my $proc = run(@cmd, :!err) | 23:23 | |
23:23
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
thou | ^ That one shouldn't matter in this case, since it is in the create-junk case, and the problems are showing up when junk already exists. | 23:26 | |
23:26
tinyblak left
|
|||
thou | I changed await @threads to for @threads -> $promise { $promise.result; dd await $promise; } | 23:29 | |
still got a segfault | |||
ugexe | are you trying to use run inside separate threads? | 23:31 | |
thou | yes | 23:32 | |
ideally I'm trying to do 5 parallel workers that each do: remove a dir if it exists, and then call system('svn') | 23:33 | ||
ugexe | that doesnt work yea. something about passing handle back from a thread? i dont remember for sure anymore. you need Proc::Async | ||
thou | okay | 23:34 | |
ugexe | but that doesnt help you with Shell::Command | ||
thou | so that's a known issue, don't mix Proc and start {...} | ||
ugexe | yeah. same reason :merge segfaults it i believe | 23:35 | |
thou | well, okay | 23:36 | |
that's not important, I can easily just use rm -rf | |||
I just wanted to report the bug if it's useful | |||
i.e., hopefully not allow moar to segfault | |||
dalek | p: a6139b0 | hoelzro++ | tools/build/MOAR_REVISION: Bump MOAR_REVISION For close_stdin on exit fix |
23:40 | |
kudo/nom: 5ba44fc | hoelzro++ | tools/build/NQP_REVISION: Bump NQP_REVISION For close_stdin fix in MoarVM |
23:41 | ||
hoelzro | o/ from Chicago | ||
yoleaux | 11:37Z <nine> hoelzro: You added many-processes-no-close-stdin.t to spectest data. Is it supposed to pass? It passes neither on nom nor on glr here. | ||
hoelzro | nine: I just forgot to bump (NQP&MOAR)_REVISION; I just took care of that | ||
thou | ugexe: on github.com/ugexe/zef/blob/master/l...m6#L45-L46 , since there's a separate supply for stdout and stderr, using .act() won't prevent a race between the two supplies on $!stdmerge, I think | 23:43 | |
23:44
dayangkun joined
23:45
Sgeo joined
23:47
itz left
|
|||
ugexe | because the underlying process is still available to tap directly | 23:48 | |
23:50
aborazmeh left
23:52
aborazmeh joined,
aborazmeh left,
aborazmeh joined
23:55
virtualsue left
|
|||
thou | ugexe: it seems the process could emit on stdout, say, and while that .act({}) closure is running, the process could continue and emit on stderr, and then both closures could be trying to update $!stdmerge simultaneously. | 23:55 | |
unlikely, I guess | 23:56 | ||
but possible | |||
ugexe | if you dont want them merged in the positions they actually occured, then you just tap $!stdout and $stderr. one maintains order. one does not. | 23:59 |