»ö« 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:11
tinyblak joined
00:21
Peter_R left
00:45
tadzik left,
tadzik joined
00:48
llfourn joined
00:53
llfourn left
01:00
llfourn joined,
skids joined,
skids left,
skids joined
01:03
cognominal joined
01:04
llfourn left
|
|||
timotimo | it seems like "use trace" damages something in this script | 01:06 | |
so i'll try to golf a little test | |||
01:12
BenGoldberg joined
01:35
dj_goku left
|
|||
timotimo | ah, seems to be glr-only | 01:38 | |
so i'll gist it rather than rakudobugging it | |||
gist.github.com/timo/0b64637e8b7bda922bea | 01:40 | ||
dha | So, out of curiosity, where would be the best place to look for info on the GLR? | 01:42 | |
timotimo | the gist jnthn worked inside of at the beginning has a whole lot of comments and also some short test cases at the bottom | 01:43 | |
01:44
AlexDaniel joined
|
|||
dha | Ah. And where's that? | 01:45 | |
timotimo | gimme a sec | 01:46 | |
gist.github.com/jnthn/aa370f8b32ef98e4e7c9 | |||
dha | Thanks. | 01:47 | |
timotimo | yw | ||
AlexDaniel | m: say 2 ** 268435456; | 01:48 | |
camelia | rakudo-moar ab73b0: OUTPUT«(timeout)» | ||
AlexDaniel | oh really | ||
timotimo | does that surprise you? :) | ||
AlexDaniel | it does | 01:49 | |
because | |||
m: say 2 ** 99999999999999999999999999999999999 | |||
camelia | rakudo-moar ab73b0: OUTPUT«0» | ||
timotimo | interesting | ||
could be something libtommath does | |||
AlexDaniel | the interesting part that 268435456 prints 0 on my pc | ||
but I'm on 32-bit, I guess | |||
ShimmerFairy | timotimo: I found an issue the other day where nqp::pow_n return Inf, and then I did nqp::mul_n(0, Inf) -> NaN :P | 01:50 | |
timotimo | poor you; rakudo-m isn't so hot on 32bit | ||
AlexDaniel | why that? | ||
timotimo | no jit | 01:51 | |
AlexDaniel | besides the lack of JIT? | ||
ok, well, it is not so bad without JIT | |||
timotimo | all our integer registers are 64bit, too | ||
AlexDaniel | I care about startup time more | ||
timotimo | not 100% sure how x86_32 performance gets hit by using 64 bit numbers all over the place | ||
AlexDaniel | I tell you, it's OK | 01:52 | |
timotimo | OK | ||
i don't mean to bother you | |||
i'd also say we may have a bit of a lack of testing for 32bit platforms, but i don't know that for sure | |||
AlexDaniel | .oO(“how to find a bug in rakudo? Well, just take a huge number and put it into any function. Do you see any bugs? No? Increase the number!”) |
01:55 | |
dha | TEST TO FAILURE! | 01:56 | |
AlexDaniel | exactly | 01:57 | |
well, that's how I found this one: rt.perl.org/Public/Bug/Display.html?id=125784 | |||
although it is about really small numbers | |||
so it should be “increase the number of digits” | 01:58 | ||
02:00
telex left
02:02
telex joined
|
|||
AlexDaniel | It also feels like regression | 02:02 | |
what was the command to run something on older versions? | 02:03 | ||
ugexe | fetch, precompile, and test working on a glr branch with some help from json::tiny where json::pretty doesnt work yet. install/smoke tomorrow | ||
AlexDaniel | I feel like we will get something different if we try the same code on 3-month old rakudo | ||
ugexe | from json::fast rather | ||
timotimo | star: say "hi" | 02:04 | |
camelia | star-m 2015.03: OUTPUT«hi» | ||
timotimo | this is a bit older | ||
AlexDaniel | star: say 2 ** 99999999999999999999999999999999999 | ||
camelia | star-m 2015.03: OUTPUT«0» | ||
AlexDaniel | okay, whatever | ||
I was just stupid enough not to try that earlier | 02:05 | ||
it was probably the first thing that I ever tried running in perl6 | |||
with a smaller amount of digits, of course… | 02:06 | ||
ugexe | you could find some 3 month old commit and do `rakudobrew build moar 34afwhatever` if youre feeling frisky | 02:08 | |
AlexDaniel | no-no, 2015.03 is good enough | ||
thanks | |||
02:10
abaugher left
|
|||
AlexDaniel | m: say 'x' if; | 02:12 | |
camelia | rakudo-moar ab73b0: OUTPUT«5===SORRY!5===Whitespace required after keyword 'if'at /tmp/ix2__2_iKj:1------> 3say 'x' if7⏏5;Whitespace required after keyword 'if'at /tmp/ix2__2_iKj:1------> 3say 'x' if7⏏5;Whitespace required after keyword 'if'at…» | ||
AlexDaniel | m: say 1 if ; | ||
camelia | rakudo-moar ab73b0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3E2OrviEssMissing semicolonat /tmp/3E2OrviEss:1------> 3say 1 if 7⏏5;» | ||
AlexDaniel | m: say 1 with ; | ||
camelia | rakudo-moar ab73b0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/cP049uzzzcConfusedat /tmp/cP049uzzzc:1------> 3say 1 with 7⏏5;» | ||
AlexDaniel | I wonder why the errors are so different | 02:13 | |
ShimmerFairy | "Missing semicolon" is interesting, and "Confused" isn't helpful. In both cases I think a "missing conditional" message would be nicer. | 02:14 | |
AlexDaniel | sure, but I think that I already submitted the if thing a few weeks ago | ||
02:15
MadcapJake left
|
|||
AlexDaniel | I mean, opened a ticket about it | 02:15 | |
ShimmerFairy | The if; thing is because immediately after that keyword the parser checks for whitespace (which is required to avoid issues with doing, say, if(cond) ), so that for me is an expected error. | 02:29 | |
AlexDaniel | with(cond) ? | ||
m: with(1) { say 42 } | 02:30 | ||
camelia | rakudo-moar ab73b0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/NSTfLdeQlZUnexpected block in infix position (missing statement control word before the expression?)at /tmp/NSTfLdeQlZ:1------> 3with(1)7⏏5 { say 42 } expecting any of: infix …» | ||
AlexDaniel | what? | ||
ShimmerFairy | m: if(1) { say 42 } | 02:31 | |
camelia | rakudo-moar ab73b0: OUTPUT«5===SORRY!5===Word 'if' interpreted as 'if()' function call; please use whitespace instead of parensat /tmp/mo_ocs6Nzp:1------> 3if7⏏5(1) { say 42 }Unexpected block in infix position (two terms in a row)at /tmp/mo_ocs6Nzp:1-----…» | ||
ShimmerFairy | m: unless(1) { say 42 } | ||
camelia | rakudo-moar ab73b0: OUTPUT«5===SORRY!5===Word 'unless' interpreted as 'unless()' function call; please use whitespace instead of parensat /tmp/WptPdxZ9Ua:1------> 3unless7⏏5(1) { say 42 }Unexpected block in infix position (two terms in a row)at /tmp/WptPdxZ9…» | ||
ShimmerFairy | m: without(1) { say 42 } | ||
camelia | rakudo-moar ab73b0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/7JkqB4q4vpUnexpected block in infix position (missing statement control word before the expression?)at /tmp/7JkqB4q4vp:1------> 3without(1)7⏏5 { say 42 } expecting any of: infix…» | ||
AlexDaniel | well-well… | ||
ShimmerFairy | Looks like with/without are missing some () checks :) | ||
02:33
noganex_ joined
02:36
noganex left
02:39
dha left
|
|||
AlexDaniel | m: say '../../../../../../../../../../../../test'.IO.dir | 02:46 | |
camelia | rakudo-moar ab73b0: OUTPUT«Failed to get the directory contents of '/home/camelia/../../../../../../../../../../../../test': chdir failed: Unknown system error in any at /home/camelia/rakudo-inst-1/share/perl6/runtime/CORE.setting.moarvm:1 in block <unit> at /tmp/gmjoxJFInQ…» | ||
AlexDaniel | oh | 02:47 | |
it does not even need that sort of trickery | |||
m: say 'test'.IO.dir | 02:48 | ||
camelia | rakudo-moar ab73b0: OUTPUT«Failed to get the directory contents of '/home/camelia/test': chdir failed: Unknown system error in any at /home/camelia/rakudo-inst-1/share/perl6/runtime/CORE.setting.moarvm:1 in block <unit> at /tmp/YAVrapeOSz:1Actually thrown at: in b…» | ||
AlexDaniel | is that trace LTA or not? | ||
ShimmerFairy | well, camelia runs under RESTRICTED if I recall correctly, so IO-ish stuff can't really be tested on camelia. | 02:49 | |
AlexDaniel | well, I get the same thing on my machine | 02:51 | |
haha, here is a fun one | 02:53 | ||
m: say ('a' x 970).IO.open; | |||
camelia | rakudo-moar ab73b0: OUTPUT«Failed to open file /home/camelia/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa…» | ||
AlexDaniel | well, it is not visible here | ||
but really it says “name too l” | 02:54 | ||
should be “long”, but it does not fit | |||
so if we go even further… | |||
m: say ('a' x 1000).IO.open; | |||
camelia | rakudo-moar ab73b0: OUTPUT«Failed to open file /home/camelia/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa…» | ||
ShimmerFairy | I get a malformed UTF-8 error :) | ||
AlexDaniel | yea | ||
surprisingly, camelia has no problem with that | 02:55 | ||
m: say ('a' x 10000).IO.open; | |||
camelia | rakudo-moar ab73b0: OUTPUT«Malformed UTF-8 at line 1 col 1033 in block <unit> at /tmp/8ss2h3ctqB:1» | ||
AlexDaniel | oh ok, it always needs more digits | ||
02:58
aborazmeh joined,
aborazmeh left,
aborazmeh joined
03:01
llfourn joined
|
|||
AlexDaniel | interesting how it is col 1033 on camelia, but col 1029 on my pc | 03:01 | |
same code | |||
aaah | |||
different path!! | |||
ok, obvious | |||
03:05
llfourn left
|
|||
AlexDaniel | m: say 'foo foo foo'.subst(/foo/, "bar", :nth(Inf)); | 03:06 | |
camelia | rakudo-moar ab73b0: OUTPUT«Cannot coerce Inf or NaN to an Int in block <unit> at /tmp/jO66bXi3eN:1Actually thrown at: in block <unit> at /tmp/jO66bXi3eN:1» | ||
AlexDaniel | cannot coerce Inf or NaN, yeah. What about -Inf? | 03:07 | |
m: say 'foo foo foo'.subst(/foo/, "bar", :nth(-Inf)); | |||
camelia | rakudo-moar ab73b0: OUTPUT«foo foo foo» | ||
AlexDaniel | is it a bug? | ||
03:15
aborazmeh left
|
|||
BenGoldberg | m: (-Inf).Int.say | 03:17 | |
camelia | rakudo-moar ab73b0: OUTPUT«Cannot coerce Inf or NaN to an Int in block <unit> at /tmp/m4c2HYJg9f:1Actually thrown at: in block <unit> at /tmp/m4c2HYJg9f:1» | ||
ShimmerFairy | Inf and NaN have never really worked as Ints. | ||
AlexDaniel | BenGoldberg: ok, but why -Inf works? | 03:18 | |
BenGoldberg | m: my $minf = -Inf; 'foo foo foo'.subst(/foo/, "bar", :nth($minf)).say; | ||
camelia | rakudo-moar ab73b0: OUTPUT«foo foo foo» | ||
BenGoldberg | I would guess that subst is testing whether the arg is less than zero, and if so, not coercing to Int. | 03:19 | |
AlexDaniel | hmmmm that actually makes sense | ||
not a bug then | 03:20 | ||
m: say ''.succ.succ.succ.succ; | |||
camelia | rakudo-moar ab73b0: OUTPUT«» | ||
AlexDaniel | I'm not sure that this one is correct | ||
BenGoldberg | m: ''.pred.say | 03:21 | |
camelia | rakudo-moar ab73b0: OUTPUT«Decrement out of range in block <unit> at /tmp/kN7mqD7hDm:1Actually thrown at: in block <unit> at /tmp/kN7mqD7hDm:1» | ||
AlexDaniel | but I can't say that it is incorrect… | ||
I'm a bit worried that it might cause infinite loops | |||
ShimmerFairy | m: 'foo foo foo'.subst(/foo/, "bar", :nth(-2)).say; | ||
camelia | rakudo-moar ab73b0: OUTPUT«foo foo foo» | ||
AlexDaniel | since some code can expect that a string will be changing | ||
BenGoldberg | m: my $i = i; 'foo foo foo'.subst(/foo/, "bar", :nth($i)).say; | 03:22 | |
camelia | rakudo-moar ab73b0: OUTPUT«Earlier failures: Can not convert 0+1i to Real: imaginary part not zero in block <unit> at /tmp/hMtcNLxfpk:1Final error: Cannot call Real(Failure: ); none of these signatures match: (Mu:U \v: *%_) in block <unit> at /tmp/hMtcNLxfp…» | ||
AlexDaniel | ha! That's a good one | ||
I've not tried that anywhere | |||
BenGoldberg | . o O (please replace the (0+i)th occurance of /foo/ with "bar" --> totally funny) | 03:24 | |
03:25
cognominal left
|
|||
AlexDaniel | and I bet that there is a function somewhere that will actually attempt to do something like that | 03:25 | |
PerlJam | weird | 03:28 | |
:nth($negative_number) should die | 03:29 | ||
AlexDaniel | m: say "x".indent: 9999999999999999999999999999999999999999999999 | 03:31 | |
camelia | rakudo-moar ab73b0: OUTPUT«repeat count > 1073741824 arbitrarily unsupported... in block <unit> at /tmp/DyvYVeDRDt:1» | ||
AlexDaniel | oooh, riight! Let's add more digits!!! | ||
ShimmerFairy | PerlJam: yeah, I saw a check for it in Str.match , but I guess it's not getting caught? | ||
AlexDaniel | m: say "x".indent: 9999999999999999999999999999999999999999999999999999999999999999999999999; | ||
camelia | rakudo-moar ab73b0: OUTPUT«repeat count (-1) cannot be negative in block <unit> at /tmp/Tt_fkQcA_f:1» | ||
03:32
gfldex left
|
|||
AlexDaniel | m: say 'xx'.chop(10) | 03:36 | |
camelia | rakudo-moar ab73b0: OUTPUT«» | ||
AlexDaniel | m: say 'xx'.chop(9999999999999999999999999999999999999999999999999999999); | ||
camelia | rakudo-moar ab73b0: OUTPUT«xx» | ||
PerlJam | AlexDaniel: are you rakudobugging these if they're not already? | 03:41 | |
AlexDaniel | PerlJam: most of it | 03:42 | |
PerlJam | AlexDaniel++ | 03:43 | |
AlexDaniel | PerlJam: I did not report :nth that should actually die, should I do that? | ||
PerlJam | probably | ||
AlexDaniel | PerlJam: can you point me to the relevant source code? | 03:44 | |
PerlJam | For what exactly? | ||
AlexDaniel | the check for negative numbers in subst | ||
PerlJam | src/core/Str.pm line 606 is where the check is that should catch it IMHO | 03:46 | |
(though it's slightly erroneous in that the conditional is checking for < 1, but the fialure says "negative match". It forgets about 0) | |||
03:47
lizmat joined
|
|||
ShimmerFairy | PerlJam: then it should talk about only allowing positive values :P | 03:47 | |
AlexDaniel | PerlJam: thanks | ||
ShimmerFairy | (since :0th doesn't mean anything with the :st/:nd/:rd/:th adverbs) | 03:48 | |
03:51
kaare_ left
03:53
tinyblak left,
BenGoldberg left
03:55
inokenty left
04:06
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
AlexDaniel | m: say chr 999999999999999999999999999; | 04:10 | |
camelia | rakudo-moar ab73b0: OUTPUT«chr codepoint cannot be negative in block <unit> at /tmp/TVBVh1Yy8e:1» | ||
labster | AlexDaniel: quit finding integer overflow errors, you're making us look bad :P | 04:17 | |
AlexDaniel | I'm making us look good | ||
I bet that today or tomorrow someone will pick these tickets | 04:18 | ||
labster | Yeah, they're pretty obvious. And great test candidates. | ||
AlexDaniel | I keep thinking though | 04:19 | |
WHY AM I THE FIRST ONE TO TRY ALL THAT STUFF? | |||
but yeah, it happens :) | |||
labster | :T in signatures is dead right, and :U refers to a type object (not undefined) now? | ||
AlexDaniel | no idea | 04:20 | |
labster | You're the first one to to try it because the domain of a programming language is huge, and we're just trying to get correct stuff to work right. | ||
ShimmerFairy | labster: yeah, :U and :D have had a type object/object instance distinction for a long time now | 04:21 | |
labster: the only spec'd difference was that Int:U would accept Failures and Int:T wouldn't, but the Failure type (at least nowadays) would never pass an 'Int' constraint regardless of the smiley. Which meant :T was NYI and redundant. | 04:22 | ||
AlexDaniel | m: say Inf.base(16); | 04:23 | |
camelia | rakudo-moar ab73b0: OUTPUT«Type check failed in assignment to '$int_part'; expected 'Int' but got 'Failure' in block <unit> at /tmp/6tEXSrGnv0:1» | ||
labster | Oh good, RT#114442 is closable. "<jnthn> I'm hoping if I ignore the spec change enough it may change back :P" jnthn++ | 04:24 | |
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=114442 | ||
AlexDaniel | that's the weirdest error message | ||
expected Int but got Failure :D | 04:25 | ||
sounds like Inf is a Failure | |||
labster | Yeah, it's erroring in an assignment which you're not doing... LTA error for sure. | 04:27 | |
AlexDaniel | yup | ||
labster | m: my Int $int_part = (Inf).Int; | 04:29 | |
camelia | rakudo-moar ab73b0: OUTPUT«Type check failed in assignment to '$int_part'; expected 'Int' but got 'Failure' in block <unit> at /tmp/smW6yhbeTR:1» | ||
labster | What should that return, anyway? Failure or Inf? | 04:34 | |
AlexDaniel | valid hex number or failure | 04:35 | |
Inf does not sound like a hex number | |||
ShimmerFairy | labster: Inf and NaN have been an interesting thorn in our numerics for a long time | ||
labster: for now at least, Failure is the better choice. | 04:36 | ||
labster | Inf is a decimal number, isn't it? | ||
ShimmerFairy | m: say Inf.WHAT; say NaN.WHAT | ||
camelia | rakudo-moar ab73b0: OUTPUT«(Num)(Num)» | ||
ShimmerFairy | They're (Num)s, but since Int !~~ Num, they can't be used with Ints. | 04:37 | |
And you can't coerce them to Ints either, since there's nothing Int-y to coerce them to. | |||
labster | m: 1.05.base(16).say | 04:38 | |
ShimmerFairy | m: 1.05.base(16).say | 04:39 | |
camelia | rakudo-moar ab73b0: OUTPUT«1.0CCCCD» | ||
AlexDaniel | huh? | ||
ShimmerFairy | labster accidentally typed an italic formatting code in front of the m: | ||
labster | well, accidentally copied. | 04:40 | |
AlexDaniel | m: say 9e-99.base(10).say | 04:41 | |
camelia | rakudo-moar ab73b0: OUTPUT«0.00000000True» | ||
AlexDaniel | oops | 04:42 | |
but yea, it is a little bit weird | |||
04:44
aborazmeh left
|
|||
labster | m: 9e-99.base(10, 100).say | 04:44 | |
camelia | rakudo-moar ab73b0: OUTPUT«0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090» | ||
AlexDaniel | m: say 255.base(16, -100); | 04:49 | |
camelia | rakudo-moar ab73b0: OUTPUT«FF.» | ||
AlexDaniel | From the docs: “The optional $digits argument asks for that many digits of fraction (which may not be negative).” | ||
m: say 255.base(16, 99999999999999999999999999999999999999999999999999999999999999999999999999999); | 04:50 | ||
camelia | rakudo-moar ab73b0: OUTPUT«repeat count (-1) cannot be negative in block <unit> at /tmp/XnmR6Ud6gb:1» | ||
04:51
khw left
|
|||
AlexDaniel | ok, enough for today | 05:01 | |
05:02
llfourn joined
05:06
llfourn left,
cognominal joined
|
|||
labster | AlexDaniel's 9-9-9 plan for Perl 6. | 05:06 | |
05:07
baest joined
|
|||
AlexDaniel | 1999--14035828--4570789517646521952 plan | 05:07 | |
05:09
baest_ left
|
|||
AlexDaniel | m: say <a b c d e>.roll(-999999999999999999999999999999999999999999999999999999).perl; | 05:16 | |
camelia | rakudo-moar ab73b0: OUTPUT«(timeout)» | ||
AlexDaniel | m: say <a b c d e>.roll(-999999999999999999999999999999999999999999999999999999999999999999999999999999).perl; | ||
camelia | rakudo-moar ab73b0: OUTPUT«("c",)» | ||
lizmat | m: use nqp; say nqp::unbox_i(-99999999999999999999999999999999999999999999999999999999999999999) # the underlying issue to all these tickets | 05:24 | |
camelia | rakudo-moar ab73b0: OUTPUT«1» | ||
lizmat | if we get nqp::unbox_i to complain about this in a sensible way, all of these tickets can be closed | ||
AlexDaniel | sounds very promising | 05:28 | |
good night | |||
05:32
breinbaas left
05:36
rurban joined
05:40
jack_rabbit joined
05:44
dayangkun joined
05:53
AlexDaniel left
06:04
domidumont joined
06:09
domidumont left,
domidumont joined
|
|||
dalek | kudo/glr: 1c63a75 | PerlJam++ | src/core/List.pm: Utilize is-lazy |
06:10 | |
kudo/glr: 2ba1973 | PerlJam++ | src/core/List.pm: Make List.rotate work again |
|||
06:26
tinyblak joined
06:29
RabidGravy joined
06:33
bin_005 left
|
|||
RabidGravy | marning! | 06:33 | |
06:37
cognominal left
06:46
skids left
06:49
skids joined
06:50
skids left
07:01
rurban left
07:03
llfourn joined
07:06
brrt joined
07:08
llfourn left
07:15
rurban joined
07:16
virtualsue joined,
rurban_ joined
07:20
TEttinger left
07:21
rindolf joined
|
|||
brrt | good morning again | 07:25 | |
RabidGravy | erp | 07:27 | |
07:34
breinbaas joined
|
|||
[Tux] | test 50000 44.301 44.209 | 07:51 | |
test-t 50000 43.254 43.163 | |||
[Tux] did not expect any speedup with all tuits flowing into GLR | 07:52 | ||
hmm, that could be read both ways. it actually is slower than yesterday | 07:53 | ||
RabidGravy | :) | 08:00 | |
_itz_ | I did see a slight apparent speed up with a script just using scalars on glr branch (maybe 1 s off a ~12s test) | 08:09 | |
maybe because less code is running with sections commented out however | 08:10 | ||
08:11
rindolf left
08:15
darutoko joined
|
|||
nine | |Tux|: have you tried it on the GLR? | 08:50 | |
_itz_ | ^ clarification to above - I meant commented out sections in rakudo not my simple script | 08:52 | |
nine | |Tux|: since Inline::Perl5 already works (at least its glr branch), maybe your test will too :) | ||
RabidGravy adds a paragraph to a README to get over the Saturday commit hump ;-) | 09:03 | ||
09:04
llfourn joined
09:08
llfourn left
09:12
rurban left
09:23
RabidGravy left,
rurban_ left
|
|||
[Tux] | rakudobrew build glr? | 09:36 | |
and for the timeing, I do not need/use Inline::Perl5 | |||
jdv79 | [Tux]: where are your tests? | 09:38 | |
09:41
itz joined,
itz left
09:43
dayangkun left
09:45
FROGGS_ joined
09:48
FROGGS left
09:58
espadrine joined
09:59
rindolf joined
10:01
domidumont left
|
|||
jnthn | "Oh look, if I give a function a stupid value something stupid happens!" <loads of checks added> "Hey, why is Rakudo slow???" | 10:05 | |
I suspect putting the check in unbox_i will be the cheapest place, though, since it already has the fast-path for smaller values, so it's only when there's something stored in a real bigint that you need to do the extra checking. | 10:06 | ||
10:08
llfourn joined
10:11
brrt left
10:12
llfourn left
10:13
llfourn joined
|
|||
jdv79 | whats the alternative to hardening the surfaces? | 10:14 | |
jnthn | jdv79: "Garbage In, Garbage Out"? :) | 10:15 | |
I'm all for good errors and checks on things people run into | |||
jdv79 | so p6bwill be like C? | ||
haha | |||
ShimmerFairy | jnthn: it would be sufficient to check if the number of the limbs is greater than can be stored, wouldn't it? (at least on moar) | ||
jnthn | But if you find a string of things and say "How come nobody noticed this in years?" it's because you're observing something that doesn't actually happen. | ||
In normal code. | 10:16 | ||
jdv79 | ok | ||
10:16
tinyblak left
|
|||
jdv79 | more like hasnt happened yet:) | 10:17 | |
10:22
orafu left
|
|||
nine | Well chances of the examples happening in real world code are rather slimm I'd guess | 10:22 | |
jnthn | nine: Yes, my feeling exactly | 10:23 | |
ShimmerFairy | I think bigint -> int overflow is worth protecting against, but in general I agree with the principle of "Well, what were you expecting would happen?" :) | ||
jdv79 | yeah. seems all minor. | ||
ShimmerFairy | (aka GIGO) | ||
jnthn | ShimmerFairy: Yeah, I think we can protect against that, but I don't want to see extra checks scattered through all the functions in question. | 10:24 | |
jdv79 | any clue as to when real world code can try the glrized rakudo? | 10:26 | |
nine | depends on the code | ||
ShimmerFairy | jnthn: of course not. I for example only put in a check against against overflow-related issues when nqp::mul_n(0, nqp::pow_n($base, $exp)) could result in 0 * Inf -> NaN . | ||
jdv79 | ok | 10:28 | |
10:28
tinyblak joined
|
|||
dalek | kudo/glr: ad13342 | jnthn++ | src/core/Seq.pm: AT-POS and EXISTS-POS on Seq delegate to .list. We may tighten the exact semantics of this at some point, but for now this is close enough. Makes it so you can do things like .words[1], which is hugely common. Note that obtaining the memoized list counts as doing the one-shot iteration of the Seq. |
10:29 | |
10:29
breinbaas left
|
|||
jnthn | ShimmerFairy: On the ** one, the deep problem is that both Moar and JVM's bigint library can only cope with a 32-bit (or maybe 64-bit) exponent | 10:29 | |
Probably because you can't ever have enough memory to store anything other than 1 ** [huge huge thing] :) | 10:30 | ||
m: say (2 ** 10000).chars | 10:31 | ||
camelia | rakudo-moar ab73b0: OUTPUT«3011» | ||
jnthn | m: say (2 ** 100000).chars | ||
camelia | rakudo-moar ab73b0: OUTPUT«30103» | ||
jnthn | m: say (2 ** 1000000000).chars | ||
10:31
pmurias joined
|
|||
dalek | p/js: 43700ac | (Pawel Murias)++ | src/vm/js/ (3 files): Implement nqp::knowhow() |
10:31 | |
nqp/js: eaf6114 | (Pawel Murias)++ | src/vm/js/nqp-runtime/bootstrap.js: | |||
nqp/js: Add a new_type method to knowhows | |||
10:31
dalek left
|
|||
camelia | rakudo-moar ab73b0: OUTPUT«(timeout)» | 10:31 | |
jnthn | Well, maybe that one was a little ambitious :) | ||
m: say (2 ** 10000000).chars | 10:32 | ||
10:32
dalek joined,
ChanServ sets mode: +v dalek
|
|||
camelia | rakudo-moar ab73b0: OUTPUT«(timeout)» | 10:32 | |
jnthn | Even that one :) | ||
m: say <0x01/0x03> / (0x01/0x03) == 1 | 10:33 | ||
camelia | rakudo-moar ab73b0: OUTPUT«True» | ||
jnthn | How on earth has glr busted *that*... | ||
m: say <0x01/0x03>; say (0x01/0x03); | 10:34 | ||
camelia | rakudo-moar ab73b0: OUTPUT«0.3333330.333333» | ||
jnthn | Hm, it's the first one that fails | ||
m: say <0x01/0x03>.nude | 10:35 | ||
camelia | rakudo-moar ab73b0: OUTPUT«1 3» | ||
pmurias | jnthn: re checking for stupid values, having them cause weird things to happen silently makes debugging harder | ||
timotimo | error: cowardly refusing to allocate 5tb of nulled memory to store the result of this operation" | 10:38 | |
ShimmerFairy | jnthn: sure, I don't blame the implementation for saying "eh, it's practically infinity, right?", I just had to correct for the fact that 0 * anything should for sanity always return 0 (esp. when you can't write 'Inf' in a numeric literal :P) | 10:40 | |
nine | Huh? I though I fixed the hangs in S03-operators/assign.t? | 10:47 | |
dalek | kudo/glr: 295e65d | jnthn++ | src/core/List.pm: Remove XXX GLR comments on completed things. |
10:48 | |
nine | Oh, I'm in the wrong roast branch on this machine | 10:51 | |
jdv79: oh, real world code may benefit immensely from having panda work again before testing. | 10:52 | ||
jnthn | nine: Is all Inline::Perl5 working again on glr? :) | 10:53 | |
nine | jnthn: well, excluding one test file that's failing because I can't install File::Temp, yes :) | ||
jnthn | Nice :) | 10:55 | |
I don't see how the failure in numeric.t that I have is related to glr at all | |||
But I see that test is marked as bust on JVM too | |||
And I'm wondering if it works on some platforms only | |||
'cus now I think about it, I had a Windows failure in numeric.t for a while | 10:56 | ||
nine | Maybe the glr just uncovered the fail on moar? | ||
jnthn | No, I think it just confused me into spending time hunting a bug that was only there on some platforms, including mine :) | ||
nine | jnthn: both t/spec/S02-literals/numeric.t and t/spec/S32-str/numeric.rakudo.moar pass for me on glr | 10:57 | |
jnthn | nine: OK, then it's not glr at all, but a platform-o :) | 10:59 | |
nine | That's...intriguing. Str.trans hangs in $!first_substitution //= @!substitutions[0]; in LSM::next_substitution | 11:09 | |
jnthn | Curious... | 11:10 | |
nine | @!substitutions[0] seems to be a Pair, just like it should | ||
Oh, no. It doesn't hang there, it's just that warn $!first_substitution afterwards would hang. Smells like another self referencing data structure. | 11:11 | ||
11:12
gfldex joined
|
|||
dalek | kudo/glr: 8fe549c | jnthn++ | src/core/Array.pm: Mostly re-instate typed Array support. Toss no-longer-needed specialized AT-POS along the way. |
11:15 | |
kudo/glr: 6ae42ca | jnthn++ | src/Perl6/Actions.nqp: Make <0x01/0x03> work reliably across platforms. Fixes it on Windows, and probably on JVM too. |
|||
nine | Oh, yes, there's our little self referencer: @to = @to, $padding xx @from - @to; | 11:16 | |
jnthn | Odd | 11:17 | |
huh | 11:18 | ||
ShimmerFairy | So if you wanted to do something silly like @a = @a, @a , would you have to call clone on the assigned @a vars in GLR? (and could @a = @b suffer from similar problems?) | ||
nine | @to = flat @to, $padding xx $from - @to; works better | ||
jnthn | Darn, the @a = 1, @a; case wasn't covered in my tests in glr.p6 | 11:19 | |
@a = @a was, along with @a = @a.map(...) | |||
nine: I think the flat is actually needed there also | 11:20 | ||
11:20
dayangkun joined
|
|||
jnthn | The reason taht kind of things worked before now is exactly because we flattened automatically there | 11:22 | |
I think it's quite clear that option isn't available to us | |||
(implicitly, I mean) | |||
Oh, it's worse | |||
TimToady even was thinking about @a = 1, @a; or similar being a way to get an array of all 1s | 11:23 | ||
That won't work at least without adding a slip for lazy somewhere, I suspect | |||
ShimmerFairy | could a self-referential assignment be detected, and possibly be made lazy? | ||
jnthn | But yeah, with that working in mind I even explicitly made sure you get into circular references there | 11:24 | |
dalek | kudo/glr: 940c99b | (Stefan Seifert)++ | src/core/Str.pm: Fix hang in Str.trans caused by self referencing array |
||
ShimmerFairy | or perhaps not all self-referential assignments, but at least the ones that make for a circular list (i.e. @a = foo, bar, ..., @a) | 11:25 | |
jnthn | ShimmerFairy: It guess that one could be detected in STORE | ||
I'm not sure that lazy fixes it | |||
And further, @a = 1, @a; magically becoming @a = 1, lazy @a; suddenly gives you an @a that is lazy, so you could no longer push to it, for example | 11:26 | ||
ShimmerFairy | Hm, now that I'm thinking about it, maybe an ability to make circular lists would be helpful for things like 1 xx Inf (unless Seq already takes care of that) | 11:27 | |
nine | Huh? There's suddenly a hang in S02-types/array-shapes.rakudo.moar | ||
That wasn't there before | |||
May be because of the new typed array support | |||
l | 11:28 | ||
jnthn | maybe, yes | ||
It was crashing before I think | 11:29 | ||
urgh, I think the next blocker I really need to take on is the for %h.kv -> $k, $v { ... } bustage | |||
On @a = 1, @a; maybe it should just be an error | 11:30 | ||
"Probable unintended assignment of array into an element of itself; consider using |@a or flat" | 11:31 | ||
TimToady and company now in Kyoto | 11:32 | ||
jnthn | \o/ | ||
TimToady: Hope the journey was fine :) | |||
TimToady | kinda bumpy from SEA to YVR, but otherwise uneventful | ||
nine | jnthn: this is what hangs: use Test; my int @arr = 1, 2, 3; is @arr, <1 2 3>; | 11:33 | |
jnthn | nine: ah | ||
nine: Half of native array code is still commented out, I think :) | |||
nine | looks like :) | ||
So, afk now. Weekend at my parents'. | 11:34 | ||
jnthn | Have fun | ||
nine++ # glr hacking | 11:35 | ||
dalek | kudo/glr: b5dc2c5 | jnthn++ | src/core/Array.pm: Fix my @a = $thing (used to bind by accident). |
11:42 | |
11:43
beastd left
11:45
isBEKaml joined
|
|||
jnthn | Damn, the meta-ops are going to need a good looking at | 11:53 | |
They went out of their way to work against the previous list implementation, leaving a good bit to untangle | 11:54 | ||
isBEKaml | jnthn: the GLR? | ||
jnthn | aye | ||
[Tux] | jdv github.com/Tux/CSV | ||
jdv79, github.com/Tux/CSV | |||
make time | |||
isBEKaml | jnthn: Oh.. weren't they caught by tests? | 11:55 | |
jnthn | isBEKaml: Very caught by the tests | ||
11:55
dayangkun left
|
|||
jnthn | (glr branch has 200 failing test files or so at present) | 11:55 | |
isBEKaml doesn't know if we should be relieved or worried | 11:56 | ||
11:57
cognominal joined
|
|||
jnthn | Relieved that it's not more. | 11:58 | |
isBEKaml | jnthn++ # keepin' it real | 11:59 | |
ShimmerFairy | I think people not working on glr should only really be concerned about the tests if we were failing more than existed :P | 12:01 | |
12:02
tinyblak left
12:12
dalek left
12:13
dalek joined,
ChanServ sets mode: +v dalek
12:17
dalek left,
dalek joined,
ChanServ sets mode: +v dalek
|
|||
isBEKaml | ShimmerFairy: fair enough :-) | 12:18 | |
dalek | kudo/glr: 3526378 | jnthn++ | src/core/Any-iterable-methods.pm: Fix map with > 1 arg closure. |
12:27 | |
jnthn | That should unbust another good number of things :) | ||
Going to lunch, relax, etc. & | 12:29 | ||
jdv79 | [Tux]: ah. its Text::CSV. cool. | 12:31 | |
12:37
dalek left
12:38
dalek joined,
ChanServ sets mode: +v dalek
|
|||
dalek | kudo-star-daily: a6da8d3 | coke++ | log/MoarVM- (4 files): today (automated commit) |
12:38 | |
rl6-roast-data: 65970cd | coke++ | / (8 files): today (automated commit) |
|||
12:42
[Sno] joined
12:49
dalek left
12:50
dalek joined,
ChanServ sets mode: +v dalek
12:56
AlexDaniel joined
12:57
cognominal left
|
|||
AlexDaniel | jnthn: well, feel free to close some of these tickets | 13:00 | |
however, number ** hugenumber = 0 is a math problem… | |||
[Coke] | my connection to p6c keeps dropping. wonder how to diagnose that. | 13:01 | |
AlexDaniel | and a couple of others are LTAs anyway, because you cannot say that the argument was negative when it actually wasn't | 13:02 | |
13:02
tinyblak joined
|
|||
AlexDaniel | at least it should mention possible overflow | 13:02 | |
13:06
cognominal joined
13:08
tinyblak left
13:12
rmgk left
13:13
rmgk joined
13:15
isBEKaml_ joined
13:16
mr_ron joined
13:17
tinyblak joined
13:18
isBEKaml left
13:20
smls joined
|
|||
nine | jnthn: thanks for fixing up my sequential-map implementation :) | 13:20 | |
13:21
isBEKaml_ is now known as isBEKaml
|
|||
nine | [Tux]: looks like there's still too much brokenness to get CSV benchmark results. But I'm sure we'll be getting there soon :) | 13:21 | |
13:21
espadrine left
|
|||
[Coke] | (seriously, I've been disconnected like 20 times and can only type a few characters each time before I get kicked. it took me 4 disconnects to type this line. *:( AIGH FIVE | 13:23 | |
13:26
mr_ron left
|
|||
timotimo | [Coke]: argh! | 13:29 | |
[Coke]: did you try ssh -v or -vv or -vvv or -vvvv or -vvvvv or -vvvvvv or -vvvvvvv or -vvvvvvvv? | 13:30 | ||
m: .print for "-" >>~>> ("v" x 1..*) >>~>> ' or ' | |||
camelia | rakudo-moar ab73b0: OUTPUT«List on right side of hyperop of infix:<~> is known to be infinite in block <unit> at /tmp/XvT_yP5e5d:1» | ||
timotimo | oh, of course | 13:31 | |
m: .print for "-" >>~>> ("v" x 1..50) >>~>> ' or ' | |||
camelia | rakudo-moar ab73b0: OUTPUT«Cannot find method 'Range' in block <unit> at /tmp/FFO2zc4qGD:1» | ||
timotimo | m: .print for "-" >>~>> ("v" Zx 1..50) >>~>> ' or ' | ||
camelia | rakudo-moar ab73b0: OUTPUT«-v or » | ||
timotimo | m: .print for "-" >>~>> ("v" Zx @(1..50)) >>~>> ' or ' | ||
camelia | rakudo-moar ab73b0: OUTPUT«-v or » | ||
[Coke] | timotimo: -v gives lots of diagnostics on connect, but not on disconnect. | ||
timotimo | derp | ||
[Coke] | might be due to screen formatting wonkery | ||
timotimo | m: .print for "-" >>~>> ("v" Xx 1..50) >>~>> ' or ' | ||
camelia | rakudo-moar ab73b0: OUTPUT«Lists on either side of non-dwimmy hyperop of infix:<~> are not of the same lengthleft: 1 elements, right: 50 elements in block <unit> at /tmp/oQjiUAbI8D:1» | ||
timotimo | m: .print for "-" <<~>> ("v" Xx 1..50) <<~>> ' or ' | ||
camelia | rakudo-moar ab73b0: OUTPUT«-v or -vv or -vvv or -vvvv or -vvvvv or -vvvvvv or -vvvvvvv or -vvvvvvvv or -vvvvvvvvv or -vvvvvvvvvv or -vvvvvvvvvvv or -vvvvvvvvvvvv or -vvvvvvvvvvvvv or -vvvvvvvvvvvvvv or -vvvvvvvvvvvvvvv or -vvvvvvvvvvvvvvvv or -vvvvvvvvvvvvvvvvv or -vvvvvvvvvvvvvvvvv…» | ||
timotimo | that took me longer than i would have deemed appropriate for a perl6 "core developer" :S | 13:32 | |
[Coke] | also, login seems to be taking longer and longer on hack. | ||
13:35
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
bartolin_ | [Coke]: I had no problems logging in to hack just now | 13:36 | |
timotimo | i can connect and log in very quickly to hack, as well | ||
[Coke] | Probably my local wifi. | 13:37 | |
timotimo | d'oh | ||
lizmat | .tell jnthn if nqp::unbox_i gets some overflow test/exception, I can remove as well some of the tests in functions I added recently | ||
yoleaux | lizmat: I'll pass your message to jnthn. | ||
timotimo | maybe we want to install the bad-connection-resistant ssh thingie | ||
what was it called? mosh? | |||
bartolin_ | [Coke]: I don't see something unusual in sshd logs as well. so probably no problem on hack | 13:39 | |
[Coke] | heh. you are the second person to mention mosh in relation to my issue here. :) | 13:42 | |
timotimo | the thing about mosh is it needs cooperation from the server admins :| | 13:43 | |
AlexDaniel | lizmat: good point | 13:47 | |
bartolin_ | timotimo: hmm, I could connect to hack with mosh just fine. (have never used it before) | 13:50 | |
timotimo | uh, huh? | 13:51 | |
perhaps mosh falls back to regular ssh if the server doesn't provide it? or perhaps it's installed on hack | 13:52 | ||
bartolin_ | yeah, it's installed. | ||
timotimo | coool | ||
bartolin_ | moritz++ | 13:53 | |
13:53
Peter_R joined
13:57
laben joined
|
|||
laben | hello p6'ers! | 13:57 | |
timotimo | ohai laben | 13:58 | |
are you at all related to gaben? | 13:59 | ||
laben | you mean Gabe Newell? i wish! i would ask him a preview of HL3 | ||
timotimo | hehe | 14:00 | |
laben | so, i tracked down a build failure in 2 modules to an issue between precompilation and delegations, are you interested? | 14:02 | |
timotimo | me? oof | ||
how tight is the golf? | |||
isBEKaml | In other news, pugs seems to be back! github.com/perl6/Pugs.hs/pull/30 | 14:03 | |
Sorry if you guys already know this | 14:04 | ||
laben | timotimo: you personally interested? sweet, i'm making a gist right now! | ||
timotimo | ugh | 14:05 | |
14:05
telex left
|
|||
timotimo | precompilation is really tough | 14:05 | |
my mood is kind of down in the dumps right now, not sure i'll be able to be productive at all | |||
14:06
telex joined
|
|||
laben | here it is: gist.github.com/anonymous/f7d4c489df5fc5eecda3 | 14:07 | |
from what i gathered myself, the issue is that delegate of delegate works fine when not precompiled, but crashes when precompiling FILE C.pm6 | 14:08 | ||
timotimo | you know gist has multi-file support? :P | ||
laben | timotimo: sorry, did not know | ||
14:09
MadcapJake joined
|
|||
timotimo | no worries :) | 14:11 | |
laben | want me to create a new multi file gist? | 14:12 | |
timotimo | no need | ||
also, you can edit the gist and add files after the first submit | 14:13 | ||
dalek | p: 52b7ced | ShimmerFairy++ | src/HLL/Grammar.nqp: Add support for Unicode hexints, octints, and binints. This removes the range checks for octal and binary numbers, but as a bonus Perl 6 will now report a number like 0o78 as "'78' is not a valid number", instead of previously saying "Confused". The underlying radix conversion functions properly check digits against the radix anyway (which is how the "not a valid number" error now pops up). |
||
p: 4e374ec | ShimmerFairy++ | src/HLL/Grammar.nqp: Merge branch 'uninum' Enable Unicode numeral support in NQP. |
|||
p: 733bf22 | ShimmerFairy++ | tools/build/MOAR_REVISION: Bump MOAR_REVISION |
|||
lizmat | .tell FROGGS re #125796, it looks like EOF is not set in the same way for an IO::Handle coming from open or from run :out | ||
yoleaux | lizmat: I'll pass your message to FROGGS. | ||
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125796 | ||
dalek | kudo/nom: 2a9ab2b | ShimmerFairy++ | t/spectest.data: Add S15-literals tests to spectest.data |
||
rakudo/nom: 0217016 | ShimmerFairy++ | src/Perl6/Grammar.nqp: | |||
rakudo/nom: Add Unicode support to :radix[] style numbers. | |||
14:13
dalek left
14:14
dalek joined,
ChanServ sets mode: +v dalek
|
|||
timotimo | laben: do you have the commandline invocation you're using to show this error? | 14:17 | |
perl6 --target=mbc --outfile=B.moarvm B.pm6 # like this? | |||
lizmat | ShimmerFairy: does that mean an NQP_REVISION bump is immiment? | ||
laben | yea but remember '_i.' | ||
-I. i meant | |||
lizmat | *imminent | ||
ShimmerFairy | lizmat: there was one, dalek just gave out before it could show it | 14:18 | |
timotimo | ah, --output | ||
lizmat | ah, ok | ||
lizmat pulls and rebuilds | |||
timotimo | laben: When pre-compiling a module, its dependencies must be pre-compiled first. | ||
is this the error you're seeing? | |||
14:18
khw joined
|
|||
laben | timotimo: ofc not, fisrt you precompile B.pm6 | 14:19 | |
then when precompileing C.pm6 you get "Cannot invoke object..." | |||
timotimo | i'm failing here. | 14:20 | |
dalek | ast: 9717b4f | ShimmerFairy++ | S15-literals/numbers.t: Unfudge Unicode numbers tests for moar |
||
laben | timotimo: better now? gist.github.com/anonymous/89624af3959c7fb86c62 | ||
14:21
aborazmeh left
|
|||
timotimo | i tried perl6 --target=mbc --output=B.moarvm B.pm6 and then perl6 -I. --target=mbc --output=C.moarvm C.pm6 | 14:21 | |
laben | did it work? i get an error precompiling C.pm6, saying "SORRY Cannot invoke this object (REPR: Null, cs = 0)" | 14:23 | |
timotimo | no | ||
Please pre-compile /tmp/laben_gist/B.pm6 | |||
laben | timotimo: ofc before i precompile B.pm6, that gives me no error | 14:24 | |
timotimo: btw i confirmed that not precompiling, everything works fine | |||
timotimo | wait, you mean you don't precompile B? | ||
laben | timotimo: no, i do precompile B then C, it's C which gives me error | 14:25 | |
timotimo | i can precompile B, then run C without problems | 14:26 | |
laben | timotimo: if you want i can gist the --ll-exception output, maybe it's more useful for you: gist.github.com/anonymous/35df72696ef1aa6d79a8 | 14:27 | |
ugexe | sounds like he is using old precompiled code | ||
laben | no, i rm'ed it every time | ||
timotimo | but i just deleted the .moarvm file | ||
ugexe means me | 14:28 | ||
laben | C needs to be precomp'ed since it's a module which i then call from code | ||
it's somewhat golfed down from Flower and Template6 | 14:29 | ||
i can confirm that if i dont precompile, everything works | |||
14:29
isBEKaml left
|
|||
laben | that's why i thought it to be a precomp bug | 14:30 | |
timotimo | right | ||
i'm just apparently incompetent when it comes to precompiling modules | |||
laben | i use $ perl6 -I. --target=mbc --output=B.pm6.moarvm B.pm6 | 14:31 | |
ugexe | sometimes such problems can be solved by putting say, class A, in A.pm6. not the ideal solution, but sometimes you dont care | ||
laben | ugexe: it was originally like that, doesn't change anything | ||
timotimo | that's what i did, too :( | ||
laben | it is skipped if i put everything in C.pm6 | 14:32 | |
but while it's possible with golfed code, it is not with real code | |||
ugexe | what do you see when you do RAKUDO_MODULE_DEBUG=1 perl6 whatever | 14:33 | |
that might show you if the module is at least being loaded | |||
laben | gist.github.com/anonymous/c4823f4c34688fbf2f19 | 14:35 | |
ugexe | ah i missed the --ll-exception bit. | 14:36 | |
laben | ugexe: i put it in anyway | ||
ugexe | are you looking for a workaround, or trying to figure out why | 14:38 | |
laben | figure out why and fix it, seem quite the bug | 14:39 | |
unfortunately i was not able to debug the issue easily | |||
dont know much of the internals | |||
ugexe | indeed. i used to get similar bugs using roles applied at runtime (to do the same thing) but they went away | 14:40 | |
dalek | kudo/glr: 2a9ab2b | ShimmerFairy++ | t/spectest.data: Add S15-literals tests to spectest.data |
||
rakudo/glr: 0217016 | ShimmerFairy++ | src/Perl6/Grammar.nqp: | |||
rakudo/glr: Add Unicode support to :radix[] style numbers. | |||
14:40
dalek left
|
|||
laben | that is also why i gave up the direct debug approach and went with the reproduce the issue with reduced code way | 14:40 | |
14:41
dalek joined,
ChanServ sets mode: +v dalek
|
|||
ugexe | the internals are much easier to work on than you may think. in fact they must be if i have looked at it | 14:41 | |
laben | ugexe: maybe but now i am faced with precomp and i dont even know where to start | ||
ugexe | thats where i started too i think. my first thing was adding a bunch of debug statements in ModuleLoader.nqp or something | 14:42 | |
that was before RAKUDO_MODULE_DEBUG but still | 14:43 | ||
lizmat | FWIW, I just merged nom into glr again: spectest failures now: gist.github.com/lizmat/33cf14b669293742c319 | ||
there are still about 10 test-files that are hanging | |||
ugexe | timotimo: an alternative to the pr for json_fast is adding JSON::Tiny to test-depends | 14:47 | |
14:47
skids joined
|
|||
dalek | p/js: f97b5e9 | (Pawel Murias)++ | src/vm/js/ (2 files): Pass test 72. Set WHAT on STables when creating type objects. |
14:50 | |
skids | Oh yay typed arrays unlock a lot in GLR. | 14:51 | |
I was playing with them last night but got hung up on the mystery of why $!descriptor isn't set during the call to STORE in Array[Int].new | 14:53 | ||
timotimo | ugexe: i didn't even see that pull request! | ||
lizmat | $ 6 'my $a = "foo bar baz".words; say $a[2,1,0]; say $a[2,1,0]' | 14:54 | |
baz bar foo | |||
14:54
tinyblak left
|
|||
lizmat | feels to me the second one should fail because of fetching the iterator for the second time ? | 14:54 | |
skids | Isn't the assignment supposed to memoize? | 14:55 | |
dalek | ast/glr: 4fabc1e | hoelzro++ | S26-documentation/why- (3 files): Fix S26 WHY tests for GLR |
14:56 | |
timotimo | without glr i also get the error laben sees | ||
hoelzro | morning #perl6 | 14:58 | |
ugexe | i havent noticed any precompiling problems specific to glr yet | ||
would there be much of any difference between a FatPacked p5 module vs a custom CURLI? | 15:00 | ||
lizmat | in the future there would be, I think, because of things like %?RESOURCES | 15:01 | |
the FatPacked module wouldn't have that, I would tihnk | 15:02 | ||
15:02
[TuxCM] joined
|
|||
lizmat is too tired to get into the zone and decides to call it a day | 15:02 | ||
jnthn | Please don't merge nom into glr | 15:03 | |
yoleaux | 13:37Z <lizmat> jnthn: if nqp::unbox_i gets some overflow test/exception, I can remove as well some of the tests in functions I added recently | ||
rjbs | you think you're tired? my brain just decided that "The zone" meant "the zone of alienation" | ||
jnthn | Until we're about done | ||
Otherwise we have to keep merging spectest branch too | |||
lizmat | jnthn: ok, will refrain from now on | ||
jnthn | lizmat: It's the AT-POS that memoizes | ||
timotimo | did anybody try json_fast with glr yet? | ||
jnthn | lizmat: Otherwise .[0, 1] would fail also :) | ||
lizmat | yeah, was wondering about that | 15:04 | |
ugexe | timotimo: yes | ||
jnthn | lizmat: Though I did that mostly as the expedient thing... | ||
We could of course try to do something cleverer... | |||
ugexe | 1 failure in test 2, but is fixed by doing [{}] to [{},] in a string, and test 4 hangs | ||
lizmat | I think we would be best served with a specific postcircumfix [] handler for Seq | ||
ugexe | BUT from-json works on META files (package managers) | ||
the core from-json in glr does not | 15:05 | ||
timotimo | neato. did you compare speeds? | ||
ugexe | nothing to compare it to. i think its the only one that works in glr right now | ||
lizmat | jnthn: | ||
$ 6 '"words".IO.lines.elems.say' | |||
235886 | |||
real0m1.870s | |||
jnthn | lizmat: We could go that way also, but it's maybe not going to be too easy to write | ||
timotimo | you could compare it to pre-glr ;) | ||
lizmat | $ 6 '"words".IO.lines(:eager).elems.say' | ||
235886 | |||
real0m0.851s | |||
so how would we get the .elems force the :eager in .lines ? | 15:06 | ||
jnthn | How do those compare to nom? :) | ||
We don't do it that way | |||
We toss the :eager candidates | |||
lizmat | lemme compare nom | 15:07 | |
15:07
brrt joined
|
|||
jnthn | And change things to use more appropriate constructs :) | 15:07 | |
ugexe | true... i have one to-json that is particularly slow | ||
that would be a good benchmark | |||
jnthn | For example, we have lazy loops now, not to mention you can just implement the iterator API directly if you really have Need For Speed. | ||
skids | $ ./perl6-m -e 'Array[Int].new(1,"a").say' # GLR (the $!descriptor mystery remains) | 15:08 | |
1 a | |||
lizmat | jnthn: well, I'm not seeing that yet :-( | ||
then again, I'm pretty tired | 15:09 | ||
skids | I spent like an hour trying to figure out what actually initializes $!descriptor and still can't :-) | ||
lizmat | jnthn: I just merged nom, should I merge master in roast as well to get them in sync ? | ||
(and then stop merging? :-) | |||
jnthn | lizmat: Yeah, please | ||
15:10
TEttinger joined
|
|||
jnthn | skids: Compiler guts | 15:10 | |
dalek | ast/glr: 17d9681 | usev6++ | S02-types/range.t: Make test for RT #125791 pass on JVM |
||
ast/glr: bbe6a8c | FROGGS++ | S04-declarations/implicit-parameter.t: add tests for RT #125767, { .sqrt => .sqrt } |
|||
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125791 | ||
Link: rt.perl.org/rt3/Public/Bug/Display...?id=125767 | |||
ast/glr: 9717b4f | ShimmerFairy++ | S15-literals/numbers.t: Unfudge Unicode numbers tests for moar |
|||
ast/glr: 40d5917 | lizmat++ | S (3 files): Merge branch 'master' into glr |
|||
jnthn | skids: But note the typed array new is still commented out | ||
15:10
[TuxCM] left
|
|||
lizmat | nom with words counr: 0.952s / 2.764s | 15:11 | |
on glr it's now 0.851s / 1.870s | 15:12 | ||
jnthn | Nice. Improvement before we even changed words/lines to take advantage of GLR things. :) | 15:13 | |
lizmat | yup | ||
even the eager one :-) | |||
jnthn | At the point I'd like to focus on getting things working again, and then we can go optimizing. :) | ||
lizmat | ok | 15:14 | |
15:14
zakharyas joined
|
|||
jnthn | But I suspect we can squeeze a good bit more out on that benchmark :) | 15:14 | |
lizmat | so, you were serious about just tossing the :eager candidates... the code in there is basically no god in the GLR ? | ||
*good | |||
jnthn | lizmat: Well, you don't have to immediately toss it, but basically the new iterator API has a mechanism for conveying (transitively) "we want all the things" | 15:15 | |
15:15
[TuxCM] joined
|
|||
jnthn | my @a = $foo.words; # conveys exactly that | 15:15 | |
lizmat | ok, so lines returns a Seq, the .elems on it says "give me all" | 15:16 | |
jnthn | Right | ||
So at that point it knows it can go faster | |||
lizmat needs to look at iterators more at some point | |||
15:16
[TuxCM] left,
xinming joined
|
|||
lizmat | ok, gotcha | 15:16 | |
jnthn | Additionally, in: | ||
my @a = $foo.words; | |||
It actually works such that it passes the slot array of @a down the iterator chain | 15:17 | ||
So .words doesn't have to produce a bunch of things to store into the array | |||
Instead, the things in produces can be shoved (via creating a Scalar container) directly into place. | |||
Which gets rid of a good bunch of copying we've done in the past. | 15:18 | ||
lizmat | that is a good thing :-) | ||
jnthn | src/core/Iterator.pm has the API and explanations of the different parts, btw | 15:19 | |
So it's a good place to start reading | |||
lizmat | in any case, it's good to see glr bare startup is around 100 msecs again, wheres nom is at 112 msecs | 15:21 | |
jnthn | yeah, I thought we'd shaved a bit off there too :) | 15:22 | |
15:26
MilkmanDan left,
MilkmanDan joined
|
|||
jnthn | bbl & | 15:26 | |
15:31
rurban joined
15:57
raiph joined
|
|||
AlexDaniel | m: my @a = 1, 5, -7, 2; say @a.sin; | 16:01 | |
camelia | rakudo-moar 44e3b4: OUTPUT«-0.756802495307928» | ||
AlexDaniel | this is so Cool! | ||
not sure why would anybody need that though | 16:03 | ||
cognominal | what the sin of an array is supposed to mean? | 16:04 | |
laben | probably the array of sin of each element | ||
a la MAtlab | 16:05 | ||
AlexDaniel | I kinda like the way it works now | ||
just because of the consistency | 16:06 | ||
laben | m: my @a = 1, 5, -7, 2; say @a.map(&sin) | ||
camelia | rakudo-moar 44e3b4: OUTPUT«0.841470984807897 -0.958924274663138 -0.656986598718789 0.909297426825682» | ||
laben | wait where did your result ocme from? | ||
come* | |||
-0.75 isnt in any of these | 16:07 | ||
cognominal | say 4.sin | ||
m: say 4.sin | |||
camelia | rakudo-moar 44e3b4: OUTPUT«-0.756802495307928» | ||
laben | ah it took the sin of elems | ||
AlexDaniel | sure | ||
cognominal | does not make any sense to me | 16:08 | |
timotimo | huh? | ||
laben | coerced @a to Num then did sin? | ||
timotimo | oh | ||
right, that's what it does | 16:09 | ||
laben | seems a bit strange though, i agree | ||
cognominal | yes, this is what Perl 6 is supposed to do but I would expect something different in that case. | ||
AlexDaniel | cognominal: like? | 16:10 | |
laben | will List inherit from Cool after glr? | ||
cognominal | like returning an array of sin as said earlier. | ||
laben | i would prefer if it gave me warning or error and required .map(&sin) to do that, but maybe that's too strict | 16:11 | |
AlexDaniel | to save 4 characters because of map: ? | ||
map is short and explicit, so I don't see any problem | |||
you might say that there is more than one way to do it, yeah, there is more than one way to break consistency, I guess | 16:12 | ||
cognominal | say (1, 5, -7, 5)>>.sin; | ||
m: say (1, 5, -7, 5)>>.sin; | |||
camelia | rakudo-moar 44e3b4: OUTPUT«0.841470984807897 -0.958924274663138 -0.656986598718789 -0.958924274663138» | ||
AlexDaniel | but if that is done, then every method from Cool should be overriden | ||
ugexe | you lose order | ||
AlexDaniel | ugexe: order? | 16:13 | |
cognominal | indeed | ||
ugexe | m: my @a = 1,2,3; @a>>.say | ||
camelia | rakudo-moar 44e3b4: OUTPUT«312» | ||
AlexDaniel | ugexe: I thought that it is free to execute it in any order as long as the resulted list is composed in the original order | 16:14 | |
laben | AlexDaniel: if you need order, use .map | ||
AlexDaniel | ugexe: your example is not equivalent | ||
laben | m: my @a = 1,2,3; @a.map(&say); | ||
camelia | rakudo-moar 44e3b4: OUTPUT«123» | ||
AlexDaniel | ugexe: because say is part of the execution | ||
ugexe | afaik >> forces the results to *not* be in order so that people wont assume thats what it does | 16:16 | |
AlexDaniel | m: say (1, 2, 3, 4, 5, 6)>>.sin; | ||
camelia | rakudo-moar 44e3b4: OUTPUT«0.841470984807897 0.909297426825682 0.141120008059867 -0.756802495307928 -0.958924274663138 -0.279415498198926» | ||
AlexDaniel | m: say (1, 2, 3, 4, 5, 6).map(&sin) | ||
camelia | rakudo-moar 44e3b4: OUTPUT«0.841470984807897 0.909297426825682 0.141120008059867 -0.756802495307928 -0.958924274663138 -0.279415498198926» | ||
AlexDaniel | what forcing are you talking about? | ||
the resulted list is still in order | 16:17 | ||
I don't get it | |||
laben | m: my @a=1,2,3; say @a>>.++ | ||
camelia | rakudo-moar 44e3b4: OUTPUT«1 2 3» | ||
laben | m: my @a=1,2,3; say @a>>+=1 | 16:18 | |
camelia | rakudo-moar 44e3b4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/8HFDg8uznlMalformed postfixat /tmp/8HFDg8uznl:1------> 3my @a=1,2,3; say @a>>7⏏5+=1 expecting any of: postfix» | ||
laben | m: my @a=1,2,3; say @a>>{*++} | ||
camelia | rakudo-moar 44e3b4: OUTPUT«postcircumfix:<{ }> not defined for type Int in block <unit> at /tmp/hwoVv4jb8d:1Actually thrown at: in block <unit> at /tmp/hwoVv4jb8d:1» | ||
laben | m: my @a=1,2,3; say @a>>{*+=1} | ||
camelia | rakudo-moar 44e3b4: OUTPUT«postcircumfix:<{ }> not defined for type Int in block <unit> at /tmp/Sqrfz0GpJ0:1Actually thrown at: in block <unit> at /tmp/Sqrfz0GpJ0:1» | ||
laben | m: my @a=1,2,3; say @a.map(&++); | ||
camelia | rakudo-moar 44e3b4: OUTPUT«Type check failed in assignment to '&'; expected 'Callable' but got 'Int' in block <unit> at /tmp/V_8jh4fbp1:1» | ||
laben | m: my @a=1,2,3; say @a.map({.++}) | 16:19 | |
camelia | rakudo-moar 44e3b4: OUTPUT«1 2 3» | ||
laben | m: my @a=1,2,3; say @a.map({*+=1}) | ||
camelia | rakudo-moar 44e3b4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/EjmWxxi82fMalformed double closure; WhateverCode is already a closure without curlies, so either remove the curlies or use valid parameter syntax instead of *at /tmp/EjmWxxi82f:1------> 3my @a=1,2,3; …» | ||
laben | m: my @a=1,2,3; say @a.map(*+=1) | 16:20 | |
camelia | rakudo-moar 44e3b4: OUTPUT«2 3 4» | ||
laben | m: my @a=1,2,3; say @a>>*+=1 | ||
camelia | rakudo-moar 44e3b4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/U5w3dkqVqJMalformed postfixat /tmp/U5w3dkqVqJ:1------> 3my @a=1,2,3; say @a>>7⏏5*+=1 expecting any of: postfix» | ||
laben | m: my @a=1,2,3; say @a>>({*+=1}) | ||
camelia | rakudo-moar 44e3b4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/qcnfmKXKPDMalformed double closure; WhateverCode is already a closure without curlies, so either remove the curlies or use valid parameter syntax instead of *at /tmp/qcnfmKXKPD:1------> 3my @a=1,2,3; …» | ||
laben | m: my @a=1,2,3; say @a>>(*+=1) | ||
camelia | rakudo-moar 44e3b4: OUTPUT«Too many positionals passed; expected 1 argument but got 2 in block <unit> at /tmp/QK3LX4b8Ne:1» | ||
laben | ok i give up, im not gonna use >> | ||
AlexDaniel | So, can anybody confirm my thoughts about >> ? | 16:21 | |
or maybe I'm wrong | |||
laben | m: my @a=1.1,2.2,3.3,4.4,5.5; say @a>>.floor | 16:24 | |
camelia | rakudo-moar 44e3b4: OUTPUT«1 2 3 4 5» | ||
laben | m: my @a=1.1,2.2,3.3,4.4,5.5; @a>>.floor.say | ||
camelia | rakudo-moar 44e3b4: OUTPUT«1 2 3 4 5» | ||
skids | Hrm. The hang (as opposed to expected NYI failure) in S02-types/array-shapes is an infinite recursion between array.list and Any.join. | ||
laben | AlexDaniel: i dont know enough to tell you, sorry | ||
16:24
brrt left
|
|||
skids | But removing array's .list method does not fix it even though it does not seem to inherit from List. | 16:25 | |
And yet, Array inherits from List, and Array.list ~~ Array, but it does not ae the problem. | |||
laben | skids: doesnt .list come from Any? | 16:26 | |
skids | List has a method .list | ||
(In GLR) | |||
laben | ah you speak of glr, sorry man, im not that brave yet | 16:27 | |
skids | OIC. List has its own .join too. | 16:29 | |
Thought I was going crazy. | 16:30 | ||
jnthn | The key thing about @a>>.foo is that it gives you back the results ordered relative to the inputs, but it may call .foo on multiple threads and so any side-effects may execute out of order or in parallel. | 16:31 | |
Generally, you should not use >>.foo if foo has side-effects | |||
16:33
rurban left
16:41
TEttinger left
|
|||
laben | .tell grondilu the sha256 function hangs in test sha.t of your Digest module, can you check it please? | 16:41 | |
yoleaux | laben: I'll pass your message to grondilu. | ||
16:56
pmurias left
|
|||
japhb | *yawn* | 17:00 | |
Good morning, #perl6 | |||
japhb has been up for a while, but just now feeling like hacking | 17:01 | ||
17:08
domidumont joined,
domidumont left
|
|||
jnthn | o/ japhb | 17:08 | |
17:09
domidumont joined
17:16
domidumont1 joined,
zakharyas left
|
|||
dalek | kudo/glr: 1ee1808 | hoelzro++ | src/core/Pod.pm: Flatten Pod::Block contents array Due to new GLR changes, the contents attribute is handed an Array that doesn't want to flatten. |
17:17 | |
hoelzro | could someone close to the GLR changes check out that commit I just made, and verify that it makes sense? | 17:18 | |
I finally was able to fix a bunch of POD tests, but the way I managed it feels LTA | |||
17:19
domidumont left
|
|||
cognominal | c'est vrai qu'avec l'Europe, on est passé au niveau méta et avec Tafta au méta secret. | 17:20 | |
wrong channel | |||
laben | hoelzro: i dont know about glr, but couldn't you do @!contents.map(&flat)? | 17:22 | |
hoelzro | laben: that might work! I think what's bothering me about it is all of the explicit flattening | 17:23 | |
laben | hoelzro: other way is to make sure the callers flatten it themselves... | ||
hoelzro | yeah, I was trying to make that work; I don't know if I couldn't because GLR is WIP, or because I was doing something wrong | ||
laben | is there documentation to learn (part of) the internals of Rakudo? | 17:26 | |
hoelzro | laben: github.com/edumentab/rakudo-and-nq...als-course | 17:27 | |
laben | hoelzro: thanks! a ton of things to read | 17:28 | |
hoelzro | I also gave a talk at (Chicago.pm&Milwaukee.pm) about it: docs.google.com/presentation/d/1JV...slide=id.p | ||
that's more things I've learned while working on it, though | 17:29 | ||
laben | turns out pandoc has quite the heavy deps, would be a dream to have it in p6... | 17:36 | |
skids | m: sub b (*@a) { }; sub a (*@a) { b(|@a); }; my $b = Failure.new("foo"); a(1,$b,3); # throws the failure on GLR, should it? | 17:38 | |
camelia | ( no output ) | ||
17:44
rurban joined
|
|||
skids | m: sub a (*@a) { }; my @a = (1,Failure.new("foo"),3); a(|@a); # golf | 17:45 | |
camelia | ( no output ) | ||
jnthn | hoelzro: My first resort would probably be to fix the thing passing @!contents rather than trying to fix it up there | 17:57 | |
hoelzro | jnthn: makes sense; what I'm seeing passed in is something like [$[Pod::Block::Para, Pod::Block::Para]], and I couldn't seem to figure out how to flatten that in NQP land | 17:58 | |
any pointers? | |||
jnthn | hoelzro: Do you know where the NQP code doing the pushing is? | 17:59 | |
hoelzro | jnthn: github.com/rakudo/rakudo/blob/nom/...od.nqp#L34 | 18:00 | |
jnthn | Hm, I wonder what serialize_array does... :) | ||
hoelzro | yeah, that seems to make an itemized Array | 18:01 | |
and I couldn't figure out how to get it to flatten | |||
jnthn | Well, arrays are by definition itemized... | ||
hoelzro | I thought that with GLR they aren't anymore? or they just flatten now, unless made with $[...] | 18:02 | |
jnthn | An Array is (always has been) a bunch of Scalars | 18:03 | |
Hm, I can't see where on earth the extra itemization is going on though | 18:04 | ||
hoelzro | ok, so I'm not (entirely) crazy then =) | ||
I think it's happening in Array.new somehow | |||
that's my guess | 18:05 | ||
jnthn | Yeah, I can't manage to create an isolated example, alas | ||
hoelzro | I think it has something to do with the way that the $<pod_content> match has an AST that is also a serialized array? | 18:06 | |
jnthn | Oh...I was assuming we pushed that twice | 18:07 | |
That is, that @children.push($_.ast); was running twice | |||
If it's running once and you've a nested array then...yeah, that'll be some fun | 18:08 | ||
nine | skids++ # investigating roast/glr hangs | ||
jnthn | 'cus Array.new(@a, @b) now gets you an Array of two things | ||
nine | Should we revert the extra .list calls in roast, now that Seq supports AT-POS? | 18:10 | |
jnthn | nine: Can do, yes | 18:11 | |
jnthn away for a bit | |||
18:13
rurban left
|
|||
skids | nine: well, my PR only takes care of the one new one. The S03 assignment one I think nobody figured out exactly how GLR-only-fudging should be handled. | 18:14 | |
18:14
zakharyas joined
|
|||
nine | 279/1036 test files failing in roast/glr | 18:15 | |
laben | hoelzro: your talk was super interesting and educative, i had to rewatch some parts twice to understand what you were doing. btw congrats for your typing speed and skillz, makes me seem so sloppy | ||
skids | BTW maybe consider having the GLR rakudo "make spectest" pull from glr roast branch for now? | ||
hoelzro | oh, thank you laben! | ||
jnthn: yeah, that's what I'm observing =/ | |||
18:16
rurban joined
|
|||
dalek | ast/glr: 59bc6a6 | hoelzro++ | S26-documentation/why- (3 files): Revert "Fix S26 WHY tests for GLR" This reverts commit 4fabc1edb14e2b75f4d88c2882f526f33903649b. |
18:17 | |
nine | skids: yes, I put the one into S03/assign.t. I don't think we really need GLR-only-fudging. Just fudging and mentioning the GL should be enough. I just wanted to get rid of the hang. I left it there because it may happen that we declare the case hopeless like we did with xx= | ||
S-26/why* pass for me :0 | 18:18 | ||
:) | 18:19 | ||
hoelzro | nine: I probably should've edited that message =) | ||
nine | hoelzro: well you could have mentioned, that we do actually support the previous code now. But not many people will notice the commits anyway ;) | 18:20 | |
hoelzro | right, I thought about that...after I pushed =/ | ||
18:24
rurban left
18:26
RabidGravy joined
|
|||
hoelzro | is there a way to iterate over a P6 array in NQP? I'm thinking maybe I should explicitly flatten $_.ast in Pod.nqp | 18:26 | |
18:27
kernel joined,
kernel is now known as Guest6532
18:30
Guest94770 left
|
|||
AlexDaniel | m: loop my $i=0; $i < 25; $i++ { say 'hello' } | 18:36 | |
camelia | rakudo-moar 44e3b4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/rRzc1UgSR9Missing blockat /tmp/rRzc1UgSR9:1------> 3loop7⏏5 my $i=0; $i < 25; $i++ { say 'hello' } expecting any of: scoped block» | ||
18:36
bin_005 joined
18:41
MadcapJake left
18:45
jack_rabbit left
|
|||
skids | Is Array.STORE eager for any deep semantic reason? I'm wondering if we couldn't just put things on $!todo and make $!todo.reification-target vivify itself (and $!reified if needed) when unset. | 18:45 | |
Oh, maybe for compile-time typechecks? | 18:47 | ||
18:48
FROGGS_ is now known as FROGGS
|
|||
FROGGS | good evening dear sir or madam | 18:50 | |
yoleaux | 14:13Z <lizmat> FROGGS: re #125796, it looks like EOF is not set in the same way for an IO::Handle coming from open or from run :out | ||
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125796 | ||
hoelzro | ahoy FROGGS | 18:51 | |
18:54
llfourn left
18:55
xinming left
19:00
mr_ron joined
|
|||
skids wonders if .plan should just ignore laziness/infinity entirely and just keep adding to a bunch of Slips in $!todo, and if they are unreachable, ohwelltoobad. | 19:02 | ||
19:10
diana_olhovik joined
19:13
kaare_ joined
|
|||
dalek | kudo/glr: 6d76d88 | hoelzro++ | src/core/Pod.pm: Revert "Flatten Pod::Block contents array" This reverts commit 1ee18086dd11a807b8940c242a6e7c0842b5c356. |
19:21 | |
kudo/glr: 919ef9d | hoelzro++ | src/Perl6/Pod.nqp: Manually unpack POD childrens' content when creating parent A fresh look on what I tried to fix in 1ee18086dd11a807b8940c242a6e7c0842b5c356. |
|||
hoelzro | ok, that *should* be better | ||
and it doesn't break table tests! | |||
19:25
rurban joined
19:26
domidumont1 left
19:31
yqt joined
|
|||
FROGGS | since I was quite inactive... is the glr branch faster than nom in some cases? | 19:33 | |
laben | [17:12] <lizmat> nom with words counr: 0.952s / 2.764s | ||
[17:13] <lizmat> on glr it's now 0.851s / 1.870s | |||
FROGGS | ohh, that sounds like something | 19:34 | |
laben | jnthn said that's only the beginning, no work was done specifically to make this faster | 19:35 | |
FROGGS | yes yes, that is how I know how development works | ||
laben | i was trying to instill hope for more speed :/ | 19:36 | |
FROGGS | more speed will come | ||
laben | and startup was a lil faster too | ||
DrForr briefly pokes his nse in - I understand the breakage I found was fixed. | 19:37 | ||
*nose | |||
dalek | kudo/nom: 383db01 | FROGGS++ | src/core/IO/Pipe.pm: implement IO::Pipe.lines in terms of repeated .get This solves RT #125796. There is no EOF when read lines from a subprocess, so we cannot cheat here and have to call .get repeatedly. |
19:41 | |
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125796 | ||
hoelzro | FROGGS++ | 19:44 | |
dalek | ast: 3a8ec6e | FROGGS++ | S32-io/pipe.t: add test for RT #125796, IO::Pipe.lines |
19:46 | |
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125796 | ||
19:46
bin_005_g joined
19:47
bin_005 left
|
|||
FROGGS | hoelzro: can you comment here? blogs.perl.org/users/aaron_baugher/...erl-6.html | 19:47 | |
hoelzro | sure can! | ||
FROGGS | hoelzro++ | 19:48 | |
dalek | pan style="color: #395be5">perl6-examples: 321e5fd | paultcochrane++ | lib/Pod/Htmlify.pm6: Instantiate Text::VimColour correctly if installed |
19:49 | |
hoelzro | done | 19:51 | |
FROGGS | nice :o) | ||
m: for ^2 { NEXT .say } | 19:52 | ||
camelia | rakudo-moar 44e3b4: OUTPUT«Cannot call method 'say' on a null object in block <unit> at /tmp/pwZz_LeAce:1» | ||
19:53
AlexDaniel left
19:58
AlexDaniel joined
20:19
darutoko left
20:24
camelia left
20:26
camelia joined
20:27
ChanServ sets mode: +v camelia
20:34
kaare_ left
20:37
diana_olhovik left
20:51
llfourn joined
20:55
llfourn left
21:04
bin_005_g left,
bin_005_g_c joined
21:06
zakharyas left
21:08
rindolf left
21:19
laben left
|
|||
skids | m: my $a = Array[Int].new(1,2,3); $a[0] := 1; $a[0] = 3; $a.say; # wondering the disposition of the GLR design to this... does Array really "ensure" containers? | 21:20 | |
camelia | rakudo-moar 383db0: OUTPUT«Cannot modify an immutable Int in block <unit> at /tmp/xNHzEBdctM:1» | ||
skids | Or just that *assignment* means "new container" | ||
dalek | pan style="color: #395be5">perl6-examples: b2f5c43 | paultcochrane++ | categories/euler/prob008-duff2.pl: Improve list markup for prob008-duff2 For some reason the S26 numbered item syntax doesn't work yet, however at present fixing the original numbered list to use a pod6 list is a bit of an improvement. |
21:28 | |
smls | skids: I think the whole point of the "binding to an array/hash element" feature is to replace the container that would be normally there. | ||
if you replace it with an immutable value rather than another container, you can obviously not assign to it... :P | 21:29 | ||
skids | Right so you should be able to bind an "Int $a" into an Array[Int] but not a 3. | ||
smls | I guess that's a case of DIHWIDT... | 21:30 | |
skids | Well, I'm not sure it's that simple... optimizers having to throw container checks in everywhere is probably not pretty. | 21:32 | |
skids wonders how much breaks if he "fixes" that. | 21:35 | ||
dalek | kudo-star-daily: d15f796 | coke++ | log/MoarVM- (5 files): today (automated commit) |
21:40 | |
rl6-roast-data: dca9dac | coke++ | / (9 files): today (automated commit) |
|||
[Coke] | can't build Resurrected pugs on hack - no cabal. | 21:48 | |
21:51
llfourn joined
21:55
llfourn left
21:59
ecocode joined
22:06
TEttinger joined
22:15
BenGoldberg joined,
mr_ron left
22:16
RabidGravy left
22:31
smls left
22:37
Peter_R left
22:43
yqt left
22:49
telex left
22:50
telex joined
22:52
Peter_R joined
|
|||
ugexe | FROGGS: maybe i won't need to soon, but right now i use the following with lines: $proc.out.lines(:!eager, :close); | 22:53 | |
i can easily change my code, just wanted to point it out in case it was actually important | 22:56 | ||
23:10
ecocode left
23:13
virtualsue left
23:16
cognominal left
23:19
rurban left
23:41
BenGoldberg left
23:42
BenGoldberg joined
23:52
llfourn joined,
inokenty joined
23:56
llfourn left
|