🦋 Welcome to Raku! raku.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: colabti.org/irclogger/irclogger_log/raku Set by ChanServ on 14 October 2019. |
|||
00:00
pecastro_ left
00:09
hungrydonkey joined
00:10
Kaiepi left,
wildtrees left,
Kaiepi joined
00:32
aborazmeh joined,
aborazmeh left,
aborazmeh joined
00:54
caterfxo left
00:59
xelxebar left,
xelxebar joined
01:08
MasterDuke left
01:20
sena_kun left
01:24
skaji_ left,
skaji_ joined
01:34
sena_kun joined
01:36
vike left
01:37
[Coke]_ joined
01:38
[Coke]_ left,
[Coke]_ joined
01:43
mowcat joined
01:48
vike joined
|
|||
uzl[m] | I've two versions of Pod::To::HTML. Is it possible to specify a version when using `raku --doc=HTML ...`. | 01:49 | |
? | |||
[Coke]_ | maybe with raku --M.... --doc ? | 01:53 | |
01:53
[Coke]_ is now known as [Coke]
|
|||
AlexDani` | interesting, so previously on constrained systems (like RPi or whatever) it was relatively easy to install rakudo from debian repos | 01:55 | |
01:55
AlexDani` is now known as AlexDaniel,
AlexDaniel left,
AlexDaniel joined
|
|||
AlexDaniel | but now it does this: | 01:55 | |
“rakudo-helper.pl: Reinstalling all perl6 modules ... (1/3) reinstall: perl6-readline” | |||
cool, I mean… I don't even need readline :) | 01:56 | ||
although, maybe I should be installing `rakudo` instead of `perl6`… | 01:57 | ||
ah okay, indeed | 02:06 | ||
that works | |||
02:11
aborazmeh left
02:22
caterfxo joined
02:36
thowe joined
02:37
aborazmeh joined,
aborazmeh left,
aborazmeh joined
02:41
aborazmeh left
03:06
xelxebar left
03:07
xelxebar joined
03:08
vike left
03:21
sena_kun left
03:30
vike joined
|
|||
jdv79 | is there a terse way to do a deep clone? | 03:33 | |
03:36
sena_kun joined
03:40
poga joined
03:49
mowcat left
03:55
ensamvarg joined
|
|||
AlexDaniel | time zef install --/test Cro::ZeroMQ # real34m1.915s | 04:06 | |
mkay plan B | |||
jdv79 | m: my %h = k => 2; my %h2 = %h.clone; %h<k> = 3; say %h, %h2; | 04:08 | |
camelia | {k => 3}{k => 2} | ||
04:08
hungryd39 joined
|
|||
jdv79 | my $h = {k => 2}; my $h2 = $h.clone; $h<k> = 3; say $h, $h2; | 04:08 | |
evalable6 | {k => 3}{k => 3} | ||
jdv79 | : my $h = {k => 2}; my $h2 = $h.clone; $h<k> = 3; say $h, $h2; | 04:09 | |
m: my $h = {k => 2}; my $h2 = $h.clone; $h<k> = 3; say $h, $h2; | |||
camelia | {k => 3}{k => 3} | ||
jdv79 | anyway, why the diff there? | ||
shouldn't a hash clone be effectively the same regardless of the sigil? | 04:10 | ||
04:12
hungrydonkey left
04:21
cpan-raku left,
cpan-raku joined,
cpan-raku left,
cpan-raku joined
05:21
sena_kun left,
sauvin joined
05:36
sena_kun joined
06:33
Doc_Holliwould joined
06:59
ensamvarg left
07:20
sena_kun left
07:27
rindolf joined
07:28
hungrydonkey joined,
hungryd39 left
07:36
sena_kun joined
07:39
abraxxa joined
07:44
abraxxa left
07:45
abraxxa joined,
abraxxa left
07:47
abraxxa joined
07:54
natrys joined
08:04
MasterDuke joined
08:06
[Sno] left
08:09
SmokeMachine joined
08:10
peteretep joined
08:11
ChoppedBacon joined,
isacl___ joined,
timeless joined,
PotatoGim joined
08:12
NODE joined
08:38
dakkar joined
08:42
[Sno] joined
08:49
Doc_Holliwould left
08:54
sena_kun left
08:56
wamba joined
09:00
hungrydonkey left
09:05
rindolf left,
sena_kun joined,
pecastro joined
09:06
Kaiepi left
09:07
hungrydonkey joined
09:08
Kaiepi joined
09:11
theovdh joined
09:13
sena_kun left
09:14
sena_kun joined
09:15
ensamvarg joined
09:20
sena_kun left
09:23
hungryd26 joined
09:24
chloekek joined
09:25
hungrydonkey left
09:34
sena_kun joined
09:43
rindolf joined
|
|||
jnthn | jdv79: Assignment from one hash into another is a copying operation (e.g. it iterates the RHS) | 09:56 | |
09:58
kensanata joined
|
|||
chloekek | jdv79: with `my $h = {k => 2};` you create a Scalar containing a Hash, with `my %h = k => 2;` you just create a Hash. | 10:04 | |
Scalar implements its own assignment operator, different from the one Hash implements. | |||
10:05
MasterDuke left
|
|||
chloekek | Oh, that is not what is happening here. Nevermind. | 10:07 | |
jnthn | It is odd that .clone on a Hash looks to not clone the Scalar containers of the values, though. | ||
chloekek | Yeah. :P | ||
10:08
Black_Ribbon left
|
|||
chloekek | p6: my %h = k => 2; my %i := %(%h); %h<k> = 3; say %h, %i; | 10:08 | |
camelia | {k => 3}{k => 3} | ||
chloekek | p6: my %h = k => 2; my %i := %(|%h); %h<k> = 3; say %h, %i; | ||
camelia | {k => 3}{k => 2} | ||
chloekek | p6: my %h = k => 2; my %i := %|%h; %h<k> = 3; say %h, %i; | 10:09 | |
camelia | Type check failed in binding; expected Associative but got Junction (any({}, {:k(2)})) in block <unit> at <tmp> line 1 |
||
10:11
MasterDuke joined
|
|||
chloekek | p6: my @xs = 1, 2, 3, 4; say (^∞ Z @xs), @xs.map({ $++ => $_ }) | 10:14 | |
camelia | ((0 1) (1 2) (2 3) (3 4))(0 => 1 1 => 2 2 => 3 3 => 4) | ||
10:22
_jrjsmrtn joined
10:23
__jrjsmrtn__ left
|
|||
chloekek | p6: sub is-prime-2($x) { so $x %% none(2 ..^ $x) }; .say for (1 ..^ 100).grep({ is-prime($_) != is-prime-2($_) }) | 10:26 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Missing block at <tmp>:1 ------> 3sub is-prime7⏏5-2($x) { so $x %% none(2 ..^ $x) }; .say expecting any of: new name to be defined |
||
chloekek | p6: sub my-prime($x) { so $x %% none(2 ..^ $x) }; .say for (1 ..^ 100).grep({ is-prime($_) != my-prime($_) }) | 10:27 | |
camelia | 1 | ||
chloekek | Hmm. | ||
p6: sub my-prime($x) { set((1 .. $x).grep($x %% *)) == 2 }; .say for (1 ..^ 100).grep({ is-prime($_) != my-prime($_) }) | 10:32 | ||
camelia | ( no output ) | ||
10:33
Ven`` joined
|
|||
chloekek | p6: sub my-prime($x) { (1 .. $x).grep($x %% *) == 2 }; .say for (1 ..^ 100).grep({ is-prime($_) != my-prime($_) }) | 10:34 | |
camelia | ( no output ) | ||
10:43
sena_kun left
|
|||
chloekek | p6: sub f($x) { $x «%%« 1 .. $x }; say f(8) | 10:43 | |
camelia | Bool::True..8 | ||
chloekek | p6: sub f($x) { $x »%%« 1 .. $x }; say f(8) | 10:44 | |
camelia | Bool::True..8 | ||
chloekek | p6: sub f($x) { $x »%%» 1 .. $x }; say f(8) | ||
camelia | Bool::True..8 | ||
chloekek | p6: sub f($x) { $x «%%« 1 .. $x }; .say for f(8) | ||
camelia | 1 2 3 4 5 6 7 8 |
||
chloekek | p6: sub f($x) { $x «%%« (1 .. $x) }; .say for f(8) | ||
camelia | True True False True False False False True |
||
chloekek | p6: sub f($x) { [+] $x «%%« (1 .. $x) }; say f(13); say f(10) | 10:45 | |
camelia | 2 4 |
||
chloekek | p6: sub my-prime($x) { 2 == [+] $x «%%« (1 .. $x) }; .say for (1 ..^ 100).grep({ is-prime($_) != my-prime($_) }) | 10:46 | |
10:46
sarna left
|
|||
camelia | ( no output ) | 10:46 | |
chloekek | This is super neat | 10:47 | |
p6: sub my-prime($x) { 2 == [+] $x «%%« 1 + ^$x }; .say for (1 ..^ 100).grep({ is-prime($_) != my-prime($_) }) | 10:48 | ||
camelia | 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 |
||
theovdh | Hi Gurus, in debugger, when typing any name of a variable I get: | 10:50 | |
Cannot find method 'has_hook' on object of type NQPMu | |||
suggestions? I use --ll-exception. | |||
tadzik | show us the code :) Where are you typing that variable name? | ||
theovdh | at the prompt. e.g. | 10:51 | |
> $line | |||
called the debugger with | 10:54 | ||
perl6-debug-m --ll-exception create_fun_count.pl6 --file=out/knmi2.annshm | |||
tadzik | ah, the debugger prompt, sorry, I missed that | 10:55 | |
are you sure that variable exists though? What if you try something like %*ENV? | 10:56 | ||
then again, I just get `Variable '$line' is not declared.` then I type in a missing one | 10:57 | ||
theovdh | right. Meanwhile I cleared the .precomp and reran and now I get different results:Strange text after block (missing semicolon or comma?) | 10:58 | |
at SETTING::src/core.c/Exception.pm6:62 (/home/theo/rakudo/share/perl6/runtime/CORE.c.setting.moarvm:throw) | |||
followed by lots of lines from other code than my own. | 10:59 | ||
MasterDuke | i'm not sure the rakudo debugger works perfectly right now? | 11:01 | |
theovdh | Neither am I. I run again without the --ll-exception and get yet other results. It now points at a line in my code that provably does not exist. Weird. | 11:03 | |
11:04
[Sno] left
|
|||
Altreus | in the `start react whenever` idiom, can I return data from the react block to the started promise when I call done? | 11:05 | |
jnthn | No. Consider the `Promise(supply whenever $foo { emit $value; done; }) idiom instead | 11:07 | |
theovdh | Found an issue in a file used by my source. Strange, because that line has been in there for months. | 11:08 | |
Altreus | jnthn: I realise I omitted a possibly important structure wherein the react has two whenevers - how would these combine? currently it is start react{ whenever $timeout { done }; whenever $a-supply { do stuff } } | 11:09 | |
jnthn | If nothing emits a value, the Promise is kept but with Nil | 11:13 | |
11:14
rindolf left
|
|||
SmokeMachine | could done accept a value and that value would be the return of the recap? would that make sense? | 11:15 | |
Altreus | I was hoping to learn that was the case | ||
with done as a return construct for a react | |||
start supply react then? forgive my clumsy pawing at stuff I clearly don't understand | 11:16 | ||
jnthn | SmokeMachine: No | ||
Altreus: Literally how I wrote it | |||
Altreus | Yep I definitely don't understand so I will try it and see instead | 11:17 | |
jnthn | Example in the wild: github.com/croservices/cro-http/bl...t.pm6#L431 | ||
11:17
rindolf joined
|
|||
SmokeMachine | s/recap/react/ | 11:17 | |
Altreus | this way I will learn and understand in future | ||
11:18
NODE left
|
|||
jnthn | Any Supply can be coerced into a Promise, which is what's happening here | 11:18 | |
And it will keep the Promise when the Supply is done, break it if the Supply quits, and will take the final emit as the value of the Promise | |||
Altreus | Seems like I can use a supply just like a react but the framing of it changes | ||
SmokeMachine | jnthn: ok... but I'm curious... technical impossibility or design choice? | ||
11:18
sarna joined
|
|||
jnthn | SmokeMachine: It'd break the Supply API completely | 11:19 | |
Altreus | Is there a benefit to using start react over Promise(supply)? | ||
jnthn | Altreus: `start react` is much better when you do not want to produce a value, 'cus you get the sink context `start` semantics | ||
SmokeMachine | m: say await Promise(supply { emit 42 }) | ||
camelia | 42 | ||
jnthn | Altreus: Whereas with the Promise(supply ...) idiom you had better be awaiting it, otherwise the usual chance of lost errors etc. | 11:20 | |
SmokeMachine | m: say await supply { emit 42 }.Promise | ||
camelia | 42 | ||
11:20
NODE joined,
Doc_Holliwould joined
|
|||
jnthn | Yes, you can also coerce at the end like that :) | 11:20 | |
They're equivalent; I tend to prefer to state the intention up front, though, so then when I read the supply block I know the end goal | |||
SmokeMachine | jnthn: era the parenthesis required? | 11:26 | |
s/era/are/ | |||
m: say await Promise supply { emit 42 } | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Two terms in a row at <tmp>:1 ------> 3say await Promise7⏏5 supply { emit 42 } expecting any of: infix infix stopper postfix statement end … |
||
Altreus | Like this? github.com/myisha/p6-zoe-voteban/b...ban.p6#L67 | 11:27 | |
oh | 11:28 | ||
I missed a brace | |||
11:29
xelxebar left
|
|||
jnthn | SmokeMachine: Yes, 'cus that's how coercions look | 11:29 | |
SmokeMachine | jnthn: yes... makes sense... | ||
jnthn | Altreus: I think you forgot a `done` somewhere | 11:30 | |
Probably after the emit | |||
xfix | m: say Promise | 11:32 | |
camelia | (Promise) | ||
SmokeMachine | m: say Promise() | ||
camelia | (Promise(Any)) | ||
11:33
daxim left
|
|||
Altreus | ah emit and also done | 11:34 | |
wait, if I don't call done, what happens if I emit again? | 11:35 | ||
11:36
theovdh left,
hungryd26 left
|
|||
jnthn | The first emit's value is discarded, and the latest one used as the Promise result | 11:36 | |
11:37
hungrydonkey joined
11:38
daxim joined
|
|||
Altreus | So done keeps the promise, not emit | 11:38 | |
right :) | |||
jnthn | Correct | ||
The implementation is quite short: github.com/rakudo/rakudo/blob/mast...rs.pm6#L42 | 11:39 | ||
11:44
xinming_ left
11:45
xinming_ joined
11:48
[Sno] joined
12:02
aborazmeh joined,
aborazmeh left,
aborazmeh joined
12:12
hungrydonkey left
12:13
hungrydonkey joined
12:16
dakkar left
12:17
dakkar joined
|
|||
xfix | m: say "04r07a08i09n12b13o06w"; | 12:18 | |
camelia | 04r07a08i09n12b13o06w | ||
AlexDaniel | hmmm | 12:37 | |
12:37
hungryd13 joined
12:41
hungrydonkey left
|
|||
AlexDaniel | I mean… this shouldn't be allowed | 12:43 | |
ah, wait, it should be because camelia is using that | |||
I think colors are stripped on #moarvm but not here | 12:44 | ||
yeah | |||
jnthn | Does anyone know where ecosystem-api.p6c.org/errors.json lives these days? I'm trying to figure out why a couple of modules aren't being indexed... | 12:53 | |
12:54
Doc_Holliwould left
12:56
hungryd13 left,
hungrydonkey joined
13:07
daxim left
13:13
daxim joined
13:15
NODE left
13:16
NODE joined
13:26
kensanata left
13:28
wamba left
13:37
wamba joined
13:38
natrys left
13:39
aborazmeh left
13:48
[Sno] left
13:52
theovdh joined
13:54
[Sno] joined
|
|||
AlexDaniel | rba: ↑ ? | 13:56 | |
samcv: what's github.com/perl6/Atom-as-a-Perl6-IDE ? Why is it not part of the docs? | |||
14:06
molaf joined,
caterfxo left
14:12
theovdh left
14:22
natrys joined
14:23
caterfxo joined
14:29
sena_kun joined,
sena_kun left,
sena_kun joined
14:35
lucasb joined
|
|||
rba | jnthn: I run ecosystem-api.p6c.org | 14:39 | |
jnthn: I will check later today what is not updating. | 14:40 | ||
jnthn: Is this still widely used? It's used by older versions of zef. Or are there other places where this is used? | 14:41 | ||
jnthn | rba: Ah, I wasn't aware of the new version. The thing is that the Raku/ecosystem repository links to it | 14:43 | |
14:44
xelxebar joined
|
|||
jnthn | rba: Ideally it'd link to wherever the new place is | 14:44 | |
rba: github.com/Raku/ecosystem#generated-file specifically | 14:45 | ||
I'm looking for the new URL for the errors.json | |||
chloekek | rba: I crawl the ecosystem api every hour, but not the errors file. | 14:47 | |
To create an index of all versions of all distributions with their hashes. | |||
14:48
wamba left
14:49
abraxxa left
14:50
abraxxa joined
14:55
abraxxa left
14:56
abraxxa joined
15:02
Ven`` left
|
|||
rba is afk now an will later check ecosystem-api.p6c.org | 15:06 | ||
15:08
patrickb joined
15:11
sena_kun left
15:12
sena_kun joined
|
|||
patrickb | o/ | 15:13 | |
m: sub m() { { return 5; LEAVE {say 'L'} } }; say m(); | |||
camelia | L The 'ForeignCode' class is a Rakudo-specific implementation detail and has no serviceable parts inside |
||
patrickb | ^ I can't explain that behavior. Not sure it's a bug or missing understanding on my side. Comments welcome! | ||
15:13
mowcat joined
|
|||
jnthn | Bug, looks like | 15:14 | |
patrickb | jnthn: OK. I'll create an issue. Thanks for confirming! | 15:15 | |
15:15
foo222 joined
15:18
AlexDani` joined,
AlexDaniel left
15:20
mowotter joined
15:21
sena_kun left
15:23
AlexDani` left,
mowcat left
15:24
AlexDani` joined
|
|||
dakkar | patrickb: might be related to github.com/rakudo/rakudo/issues/2380 | 15:25 | |
`LEAVE` and `return` interact in weird ways currently | 15:26 | ||
patrickb | bisectable6: sub m() { { return 5; LEAVE {say 'L'} } }; say m(); | 15:30 | |
bisectable6 | patrickb, Bisecting by output (old=2015.12 new=9429728) because on both starting points the exit code is 0 | ||
patrickb, bisect log: gist.github.com/62c5ba77f66af867b9...08cff7736f | 15:31 | ||
patrickb, There are 10 candidates for the first “new” revision. See the log for more details | |||
15:31
AlexDani` is now known as AlexDaniel,
AlexDaniel left,
AlexDaniel joined
15:33
foo222 left
|
|||
dakkar | patrickb: I'm adding a link to that bisectable in the issue | 15:34 | |
patrickb | dakkar: I think that bisect is tracing the wrong issue. I'm currently trying to find out how to make bisectable search the right one... | 15:35 | |
15:35
mowotter left
|
|||
patrickb | bisectable6: help | 15:35 | |
bisectable6 | patrickb, Like this: bisectable6: old=2015.12 new=HEAD exit 1 if (^∞).grep({ last })[5] // 0 == 4 # See wiki for more examples: github.com/Raku/whateverable/wiki/Bisectable | ||
dakkar refrains from linking | |||
patrickb | bisectable6: old=153f133bc2a159a85250479e3b83f0784a741df8 new=HEAD sub m() { { return 5; LEAVE {say 'L'} } }; say m(); | 15:37 | |
bisectable6 | patrickb, Bisecting by output (old=153f133 new=9429728) because on both starting points the exit code is 0 | ||
patrickb, bisect log: gist.github.com/9c9ae9772d7efe087e...668a7ac320 | |||
patrickb, (2017-12-13) github.com/rakudo/rakudo/commit/9d...a5f9e9c52f | |||
dakkar | I'm going to hazard a guess, that that commit is not really relevant to this problem 😕 | 15:38 | |
(if it were a simple problem to pin down, it would have been fixed by now, I know) | |||
15:40
Ven`` joined
|
|||
dakkar | m: sub foo() { { LEAVE { 5 }; return 1 } }; say foo(); | 15:40 | |
camelia | WARNINGS for <tmp>: 1 Useless use of constant integer 5 in sink context (line 1) |
||
dakkar | ah right | ||
m: sub thing() { return 5 }; sub foo() { { LEAVE { thing() }; return 1 } }; say foo(); | |||
camelia | 5 | ||
dakkar | bisectable6: sub thing() { return 5 }; sub foo() { { LEAVE { thing() }; return 1 } }; say foo(); | ||
bisectable6 | dakkar, Bisecting by output (old=2015.12 new=9429728) because on both starting points the exit code is 0 | ||
dakkar, bisect log: gist.github.com/a2b4b02907ac0198a9...0bf5d890cf | 15:41 | ||
dakkar, There are 10 candidates for the first “new” revision. See the log for more details | |||
patrickb | bisectable6: old=c8438e6afe311311a5be0c5c69bff7b2e1a1a3e9 new=HEAD sub m() { { return 5; LEAVE {say 'L'} } }; say m(); | 15:43 | |
bisectable6 | patrickb, Bisecting by output (old=c8438e6 new=9429728) because on both starting points the exit code is 0 | 15:44 | |
patrickb, bisect log: gist.github.com/adf5053050f00ffe3e...ea591766ac | |||
patrickb, (2018-12-31) github.com/rakudo/rakudo/commit/58...c9170af9e7 | |||
dakkar | as a random point of reference, `--optimize=0` doesn't change the result | 15:45 | |
15:46
sena_kun joined
|
|||
AlexDaniel | 6c: sub m() { { return 5; LEAVE {say 'L'} } }; say m(); | 15:46 | |
committable6 | AlexDaniel, gist.github.com/77da4633c3494bfd43...3b46f04b69 | ||
AlexDaniel | oh that identity issue :D | 15:47 | |
dakkar | yeah, it's a "fun" one, isn't it? | ||
15:47
aborazmeh joined,
aborazmeh left,
aborazmeh joined
15:48
simcop2387 left
|
|||
AlexDaniel | 6c: gist.github.com/AlexDaniel/3790373...b73c13c90b | 15:49 | |
committable6 | AlexDaniel, gist.github.com/437bc3541029c32c55...888d2ff9ba | 15:50 | |
15:50
daxim left,
perlbot joined
|
|||
AlexDaniel | dakkar, patrickb: it's the same issue | 15:51 | |
15:52
simcop2387 joined
|
|||
AlexDaniel | bisect: old=2018.12 gist.github.com/AlexDaniel/3790373...b73c13c90b | 15:52 | |
bisectable6 | AlexDaniel, Bisecting by output (old=2018.12 new=9429728) because on both starting points the exit code is 0 | ||
AlexDaniel, bisect log: gist.github.com/64479f7c06604d0232...56eb213c3e | 15:53 | ||
AlexDaniel, (2018-12-31) github.com/rakudo/rakudo/commit/58...c9170af9e7 | |||
patrickb | bisectable6: old=2018.06 new=2018.08 sub m() { { return 5; LEAVE {say 'L'} } }; say m(); | ||
bisectable6 | patrickb, Bisecting by output (old=2018.06 new=2018.08) because on both starting points the exit code is 0 | ||
AlexDaniel | c: 588037f065b^,588037f065b gist.github.com/AlexDaniel/3790373...b73c13c90b | ||
committable6 | AlexDaniel, ¦588037f065b^: «leftidentityleft42» ¦588037f: «leftThe 'ForeignCode' class is a Rakudo-specificimplementation detail and has no serviceable parts insideleft42» | ||
bisectable6 | patrickb, bisect log: gist.github.com/3b7acf6615179b5d22...cbf3a47e7d | ||
patrickb, (2018-07-09) github.com/rakudo/rakudo/commit/8d...6b7f7d03f1 | |||
AlexDaniel | see github.com/rakudo/rakudo/issues/23...-601258487 | 15:54 | |
dakkar | I have the feeling that the commit you linked causes only a part of the problem | 15:55 | |
15:56
daxim joined
|
|||
dakkar | the last value from a LEAVE block still clobbers the return value from the containing (non-sub) block | 15:56 | |
patrickb | I linked to another commit and bisect that shows when it moved from returning 0 to returning the identity thing | ||
dakkar | that "return value decont" looks more related, yes; then again, the last release with the behaviour I expect was 2016.05 according to gist.github.com/Whateverable/77da4...3b46f04b69 | 15:58 | |
MasterDuke | bisectable6: old=2016.05 new=2016.06 sub m() { { return 5; LEAVE {say 'L'} } }; say m(); | 16:00 | |
bisectable6 | MasterDuke, Bisecting by output (old=2016.05 new=2016.06) because on both starting points the exit code is 0 | ||
MasterDuke, bisect log: gist.github.com/8f9e119ebedecb328f...0eed12e826 | |||
MasterDuke, There are 10 candidates for the first “new” revision. See the log for more details | |||
16:00
wamba joined
|
|||
patrickb | I find it interesting that this works fine in the REPL... | 16:04 | |
dakkar | patrickb: it doesn't "work fine" in my REPL: `LEAVE` still clobbers `return` | 16:06 | |
(when the last statement inside LEAVE has a result, at least) | 16:07 | ||
patrickb | dakkar: This is the output I get (2020.02.1 REPL) | 16:10 | |
nopaste.linux-dev.org/?1295168 | |||
dakkar | yes | 16:11 | |
try my example: «sub thing() { return 5 }; sub foo() { { LEAVE { thing() }; return 1 } }; say foo();» | |||
I would expect it to print 1 | 16:12 | ||
it prints 5 | |||
patrickb | Oh! That's definitely not right! | ||
dakkar | what I think is happening: LEAVE/return interact badly, *plus* on some versions `say` has a weird return value | 16:13 | |
MasterDuke | well, the repl also has lots of known issues by itself | 16:16 | |
16:18
caterfxo left
16:33
caterfxo joined
16:35
mowcat joined
16:42
patrickb left
16:48
chloekek left
16:52
hungrydonkey left
16:55
aborazmeh left
|
|||
sjn | o/ | 17:01 | |
anyone here know what happened to the IRC->Telegram bridge that was set up here? It seems to have disconnected on March 6th... | 17:02 | ||
17:03
molaf left
17:16
chloekek joined
17:18
NODE left
17:19
Altai-man_ joined,
NODE joined
17:21
sena_kun left
17:41
lichtkind joined
17:43
dakkar left
17:54
rbt joined
|
|||
rbt | Is there an obvious reason why the String::CRC32 is so slow? It gets about 200kB/sec throughput. I'm seeing a ton of list related work in a simple profile. | 18:01 | |
rbt.ca/profile-1584640224.1384053.html#/routines | |||
18:02
wildtrees joined
|
|||
jnthn | It'd probably be faster to do a boring C-style for loop over the Blob instead of .list'ing it | 18:10 | |
Also maybe a native type in $crc would help too | |||
*on | |||
18:23
ensamvarg left
18:31
Ven`` left
18:32
molaf joined
|
|||
wildtrees | ok have an I believe an array of arrays from a database query, "for @rows[0] { .say }" and/or "for @rows.head { .say }" is just printing out the array as [something 1 2 3] instead of on each line, what gives or how do I change/fix that? | 18:35 | |
18:37
Ven`` joined
|
|||
moritz | try for @rows[0].list { ... } | 18:40 | |
wildtrees | moritz, yeap that works fine now, thanks :) | 18:42 | |
is that a scalar context or something? | 18:43 | ||
moritz mumbles something about scalar containers | |||
wildtrees | oh | 19:04 | |
19:04
Doc_Holliwould joined
19:10
skyl4rk left
19:13
Itaipu left
19:15
Itaipu joined
19:16
Ven`` left
19:20
sena_kun joined
19:22
Altai-man_ left
19:27
caterfxo left,
caterfxo joined
19:42
kensanata joined
19:44
cpan-raku left,
cpan-raku joined,
cpan-raku left,
cpan-raku joined,
Ven`` joined
19:54
lucasb left
19:56
MasterDuke left
20:04
MasterDuke joined
20:19
mowcat left
20:31
wamba left
20:44
stoned75 left
20:50
rindolf left
20:52
|Sno| joined
20:53
|Sno| left
20:54
[Sno] left
20:57
[Sno] joined
21:01
stoned75 joined
21:19
Altai-man_ joined
21:22
sena_kun left
21:33
MasterDuke left
21:35
chloekek left
21:38
Black_Ribbon joined
21:45
MasterDuke joined
22:05
caterfxo left
22:18
natrys left
|
|||
rbt | @jnthn That helps. Gives about a 70% improvement in performance (up to about 700kB/sec). | 22:26 | |
22:32
aindilis joined
|
|||
MasterDuke | rbt: what did you try? for me, making everything 'int' seems to help, but not switching to a c-style loop | 22:33 | |
22:33
lgtaube joined
22:39
aindilis left
22:47
aindilis joined
22:49
vike left
22:52
sarna left
22:55
vike joined
23:06
kensanata left
23:16
Ven`` left,
Ven`` joined
23:17
Ven`` left
23:20
sena_kun joined
23:21
Altai-man_ left
|
|||
timotimo | 33% time spent in GC isn't very good; i wonder what it's like after that 70% improvement | 23:30 | |
23:41
holli joined
23:44
Doc_Holliwood joined,
Doc_Holliwould left
23:46
Doc_Holliwould joined
23:47
holli left
23:49
holli joined
23:50
Doc_Holliwood left
|
|||
MasterDuke | hm. i get 11% in gc stock, 15% in gc using native ints (though total time went from 10.5s to 6s) | 23:50 | |
23:51
stoned75 left
|
|||
MasterDuke | don't know exactly how they were testing, i just did `use String::CRC32; say String::CRC32::crc32("abcdefghijklmnopqrstuvwxyz0123456789~!#^_+;:./>?" x 100_000)` | 23:51 | |
23:52
Doc_Holliwood joined
23:53
Doc_Holliwould left
23:55
Doc_Holliwould joined
23:56
holli left
23:58
holli joined,
Doc_Holliwood left
|