Perl 6 language and compiler development | Logs at colabti.org/irclogger/irclogger_log/perl6-dev | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm Set by Zoffix on 27 July 2018. |
|||||||||||||||||||||||||||||||||||||||
00:00
AlexDaniel left
00:07
entonian joined
00:11
entonian left,
japhb joined
01:34
j3nnn1 left
02:16
MasterDuke joined,
MasterDuke left,
MasterDuke joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo: ugexe++ created pull request #2660: Use path-spec instead of path for module-not-found errors |
03:03 | |||||||||||||||||||||||||||||||||||||
03:44
ufobat__ joined
03:48
ufobat_ left
06:12
robertle joined
06:58
ufobat__ is now known as ufobat
07:04
AlexDaniel joined
07:12
ufobat left
07:21
ufobat joined
08:02
patrickb joined
08:11
dct joined
|
|||||||||||||||||||||||||||||||||||||||
patrickb | AlexDaniel: wrt relocatability, I'm working on that atm. It is actually working already. Still to do is JVM, Windows and more testing. | 08:39 | |||||||||||||||||||||||||||||||||||||
09:05
dct left
|
|||||||||||||||||||||||||||||||||||||||
|Tux| |
|
09:11 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | patrickb: yes, that is wonderful | 10:32 | |||||||||||||||||||||||||||||||||||||
lizmat | Files=1266, Tests=88056, 401 wallclock secs (19.92 usr 5.72 sys + 2661.59 cusr 227.44 csys = 2914.67 CPU) | 10:34 | |||||||||||||||||||||||||||||||||||||
that's quite a bit more than yesterday, jnthn ^^^ | |||||||||||||||||||||||||||||||||||||||
(376 -> 401) | 10:35 | ||||||||||||||||||||||||||||||||||||||
jnthn | Curious, at most here I saw a second or two | ||||||||||||||||||||||||||||||||||||||
jnthn runs it again | |||||||||||||||||||||||||||||||||||||||
lizmat | well, could be a fluke, but won't know for sure until next night | ||||||||||||||||||||||||||||||||||||||
jnthn | Huh, and my latest run was faster than many I've had in recent days (but only within noise) | 10:39 | |||||||||||||||||||||||||||||||||||||
lizmat | Files=1266, Tests=88056, 392 wallclock secs (21.58 usr 7.10 sys + 2771.88 cusr 231.77 csys = 3032.33 CPU) | 10:42 | |||||||||||||||||||||||||||||||||||||
ok, on a hot machine and less than last night's, I guess last night's was a fluke | 10:43 | ||||||||||||||||||||||||||||||||||||||
sorry for the noise | |||||||||||||||||||||||||||||||||||||||
jnthn | np, given I added us producing extra debug info, it was entirely reasonable to think something might have had more effect than expected | 10:45 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo: f7704267de | (Nick Logan)++ | 3 files Use path-spec instead of path for module-not-found errors The path portion of the path-spec is often not enough to debug what wasn't found. This change includes the entire path-spec when giving an error for e.g. `use NotFound;` |
11:00 | |||||||||||||||||||||||||||||||||||||
rakudo: 82fde76874 | niner++ (committed using GitHub Web editor) | 3 files Merge pull request #2660 from ugexe/path-spec-in-error Use path-spec instead of path for module-not-found errors |
|||||||||||||||||||||||||||||||||||||||
11:45
dogbert2_ joined
11:52
robertle_ joined
11:58
robertle_ left
11:59
AlexDaniel left
12:00
robertle_ joined
12:02
brrt joined
12:05
leont joined
12:24
robertle_ left
12:57
leont left
13:02
patrickb left
13:03
brrt left
|
|||||||||||||||||||||||||||||||||||||||
jnthn | m: use Test; plan 1; my $i = 0; loop { last if ++$i == 5; $_ = 42; when Int { } }; is $i, 5; | 13:10 | |||||||||||||||||||||||||||||||||||||
camelia | 1..1 # Looks like you planned 1 test, but ran 0 |
||||||||||||||||||||||||||||||||||||||
jnthn | committable6: 2018.12 use Test; plan 1; my $i = 0; loop { last if ++$i == 5; $_ = 42; when Int { } }; is $i, 5; | ||||||||||||||||||||||||||||||||||||||
committable6 | jnthn, Ā¦2018.12: Ā«1..1ā¤# Looks like you planned 1 test, but ran 0ā¤ Ā«exit code = 255Ā»Ā» | ||||||||||||||||||||||||||||||||||||||
dogbert2_ | jnthn: another stab at the blockers? | 13:12 | |||||||||||||||||||||||||||||||||||||
jnthn | dogbert2_: Taking care of the things I said I'd do at the end of github.com/rakudo/rakudo/issues/2644 | 13:13 | |||||||||||||||||||||||||||||||||||||
Got an optimizer patch that fixes the above | 13:18 | ||||||||||||||||||||||||||||||||||||||
13:22
patrickb joined
|
|||||||||||||||||||||||||||||||||||||||
dogbert2_ | jnthn: very cool | 13:24 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo: c6053e6a5d | (Jonathan Worthington)++ | src/Perl6/Optimizer.nqp Don't inline immediate blocks using p6return Otherwise, we can end up with, for instance, a `loop` that does a smart-match ending up causing a return from the block containing the loop itself, thus terminating not only the loop, but also skipping any code in the block after the loop. Related to #2644. |
13:29 | |||||||||||||||||||||||||||||||||||||
synopsebot | RAKUDO#2644 [open]: github.com/rakudo/rakudo/issues/2644 [regression][ā blocker ā ] Some regression with Cro::WebSocket | ||||||||||||||||||||||||||||||||||||||
roast: e95d29d6c1 | (Jonathan Worthington)++ | S04-statements/when.t Successful `when` should not terminate a loop A Rakudo optimizer bug made it do so in some cases (including the one provided here). Covers github.com/rakudo/rakudo/issues/2644. |
13:34 | ||||||||||||||||||||||||||||||||||||||
14:06
patrickb left
14:42
patrickb joined
15:18
dogbert2_ left
15:26
leont joined
15:51
brrt joined
16:00
patrickb left
16:17
brrt left
16:34
patrickb joined
17:02
AlexDaniel joined
|
|||||||||||||||||||||||||||||||||||||||
patrickb | o/ | 17:29 | |||||||||||||||||||||||||||||||||||||
17:36
gfldex left
17:37
gfldex joined
18:11
gfldex left
|
|||||||||||||||||||||||||||||||||||||||
MasterDuke | nqp: my $a := 5.4; $a := "now a string"; say($a) | 18:26 | |||||||||||||||||||||||||||||||||||||
camelia | now a string | ||||||||||||||||||||||||||||||||||||||
MasterDuke | is ^^^ more efficient than vvv? | ||||||||||||||||||||||||||||||||||||||
nqp: my num $a := 5.4; my str $b := "now a string"; say($b) | 18:27 | ||||||||||||||||||||||||||||||||||||||
camelia | now a string | ||||||||||||||||||||||||||||||||||||||
jnthn | MasterDuke: Naively, no, since the first two require a boxing | 18:31 | |||||||||||||||||||||||||||||||||||||
MasterDuke: But I guess maybe SSA form would split it and then the boxing might be eliminated | 18:32 | ||||||||||||||||||||||||||||||||||||||
MasterDuke: I'd probably write the second just for readability, though. ;) | 18:33 | ||||||||||||||||||||||||||||||||||||||
MasterDuke | jnthn: thanks, i thought the first might be a little worse and it looks like it is slightly so in practice | ||||||||||||||||||||||||||||||||||||||
trying to decide how much cleanup of github.com/perl6/nqp/blob/master/s...printf.nqp i really want to do along with the minimal changes needed for my branch to pass tests | 18:34 | ||||||||||||||||||||||||||||||||||||||
nqp: my int $a := 0; my str $c; my num $s := nqp::time_n(); while $a++ < 10_000_000 { my $b := nqp::sub_n(1.0, $a); $b := ~$b ~ " is a string"; $c := $b }; say($c); say(nqp::sub_n(nqp::time_n(), $s)) | 18:36 | ||||||||||||||||||||||||||||||||||||||
camelia | -9999999 is a string 2.3138508796691895 |
||||||||||||||||||||||||||||||||||||||
MasterDuke | nqp: my int $a := 0; my str $c; my num $s := nqp::time_n(); while $a++ < 10_000_000 { my num $b := nqp::sub_n(1.0, $a); my $d := ~$b ~ " is a string"; $c := $d }; say($c); say(nqp::sub_n(nqp::time_n(), $s)) | ||||||||||||||||||||||||||||||||||||||
camelia | -9999999 is a string 2.244842529296875 |
||||||||||||||||||||||||||||||||||||||
MasterDuke | i see a slightly larger difference locally, but maybe that's also my branches coming into play | 18:37 | |||||||||||||||||||||||||||||||||||||
2.55 vs 2.9 | |||||||||||||||||||||||||||||||||||||||
jnthn | dinner time & | 18:47 | |||||||||||||||||||||||||||||||||||||
19:23
masak left
19:25
masak joined
|
|||||||||||||||||||||||||||||||||||||||
MasterDuke | nqp: my num $a := 0.0; say(nqp::sprintf("%#e5.2", [$a])) | 20:39 | |||||||||||||||||||||||||||||||||||||
camelia | 0.000000e+005.2 | ||||||||||||||||||||||||||||||||||||||
MasterDuke | after my most recent cleanup to sprintf i'm getting `Directive e not applicable for type BOOTNum` | ||||||||||||||||||||||||||||||||||||||
which i don't understand | 20:40 | ||||||||||||||||||||||||||||||||||||||
nqp: my num $a := 0.0; say($a.HOW.name($a)) | |||||||||||||||||||||||||||||||||||||||
camelia | BOOTNum | ||||||||||||||||||||||||||||||||||||||
MasterDuke | nqp: my str $a := "492384e2394"; my $b; my int $i := 0; my num $s := nqp::time_n(); while $i++ < 10_000_000 { $b := nqp::indexic($a, "e", 0) }; say($b); say(nqp::sub_n(nqp::time_n(), $s)) | 20:46 | |||||||||||||||||||||||||||||||||||||
camelia | 6 1.7762081623077393 |
||||||||||||||||||||||||||||||||||||||
MasterDuke | nqp: my str $a := "492384e2394"; my $b; my int $i := 0; my num $s := nqp::time_n(); while $i++ < 10_000_000 { $b := nqp::index($a, "e", 0) }; say($b); say(nqp::sub_n(nqp::time_n(), $s)) | ||||||||||||||||||||||||||||||||||||||
camelia | 6 0.18055200576782227 |
||||||||||||||||||||||||||||||||||||||
MasterDuke | didn't realize indexic is that much slower than index, 10x | 20:47 | |||||||||||||||||||||||||||||||||||||
20:56
dct joined
20:57
leont left
21:01
dct left
|
|||||||||||||||||||||||||||||||||||||||
timotimo | it probably can't use the fast string search thing that can skip a bunch of letters at once when it sees the right letters in the haystack | 21:09 | |||||||||||||||||||||||||||||||||||||
MasterDuke | boyer-moore? | 21:11 | |||||||||||||||||||||||||||||||||||||
timotimo: any idea about the error i'm getting? | 21:13 | ||||||||||||||||||||||||||||||||||||||
if anyone is interested, here's the diff gist.github.com/MasterDuke17/cc73a...4692c9b42d (on my branch, so there are some other changes compared to what's in NQP right now) | 21:15 | ||||||||||||||||||||||||||||||||||||||
but the branch is ok, it's just the diff that breaks things | 21:16 | ||||||||||||||||||||||||||||||||||||||
timotimo | could it be a missing decont somewhere? | 21:41 | |||||||||||||||||||||||||||||||||||||
like, is the check looking at a Scalar, but the error message is deconting to output the type it unexpectedly got? | 21:42 | ||||||||||||||||||||||||||||||||||||||
MasterDuke | hm. name in message comes from `$type.HOW.name($type)` | 22:00 | |||||||||||||||||||||||||||||||||||||
it goes through this github.com/perl6/nqp/blob/master/s...f.nqp#L107 branch of next_argument() | 22:04 | ||||||||||||||||||||||||||||||||||||||
timotimo | ah, bad-type-for-derctive gets called from an indiscriminate CATCH | 22:08 | |||||||||||||||||||||||||||||||||||||
so who knows what the original exception was | |||||||||||||||||||||||||||||||||||||||
MasterDuke | ah, right | 22:09 | |||||||||||||||||||||||||||||||||||||
huh, i put `note('exception is: ' ~ $_);` here github.com/perl6/nqp/blob/master/s....nqp#L404, but it doesn't get printed | 22:12 | ||||||||||||||||||||||||||||||||||||||
timotimo | i'd say remove the CATCH and let the "regular" exception printer print it maybe? | 22:13 | |||||||||||||||||||||||||||||||||||||
does "doesn't get printed" mean it makes absolutely no output? or just an empty text where the stringification is supposed to be? | |||||||||||||||||||||||||||||||||||||||
MasterDuke | no output at all | ||||||||||||||||||||||||||||||||||||||
timotimo | clearly something strange is happening, then? | 22:14 | |||||||||||||||||||||||||||||||||||||
lizmat | git diff | ||||||||||||||||||||||||||||||||||||||
oops | |||||||||||||||||||||||||||||||||||||||
timotimo | what does removing the CATCH block entirely do? | ||||||||||||||||||||||||||||||||||||||
MasterDuke | huh, no different output/error when i comment out the CATCH | ||||||||||||||||||||||||||||||||||||||
timotimo | are your changes being properly respected in compilation? | 22:17 | |||||||||||||||||||||||||||||||||||||
22:17
gfldex joined
23:11
leont joined
|