🦋 Welcome to the IRC channel of the core developers of the Raku Programming Language (raku.org #rakulang). This channel is logged for the purpose of history keeping about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | Logs available at irclogs.raku.org/raku-dev/live.html | For MoarVM see #moarvm Set by lizmat on 8 June 2022. |
|||
00:35
kjp left
00:37
kjp joined
06:16
[Coke] left
06:21
[Coke] joined
10:11
[Tux] left
10:17
[Tux] joined
10:22
finanalyst joined
|
|||
Geth | rakudo/main: 17fe51b867 | (Elizabeth Mattijsen)++ | src/core.c/Range.rakumod Allow native arrays to be endpoints for Ranges This is a (hopefully) temporary workaround for #5760. The problem is caused by dispatch / coercion not selecting the correct Range.new candidate, causing it to go to the default candidates, which would then just plunk the native arrays as endpoints in the Range object. Which then later causes several types of issues when wanting to iterate over the Range. This will at least be enough for the 2025.01 release, and unbreak testing on e.g. the IRC::Log::Colabti module |
12:36 | |
13:45
sjn left
|
|||
[Coke] | lizmat: any feedback on the REPL PROMPT? Happy to make any changes needed. Wonder if we could move the subs/method into 6.e as augments | 14:21 | |
14:37
sjn joined
18:23
TempIRCLogger joined,
TempIRCLogger left
|
|||
tonyo | patrickb: i need to run a script to fix it, it's on there though just missing from the meta | 19:27 | |
lizmat | looks like we have a discrepancy here: | 19:56 | |
m: use nqp; my str @a; say nqp::istype(@a,Cool); say @a ~~ Cool | |||
camelia | 0 True |
||
lizmat | #5760 | 19:58 | |
R#5760 | |||
linkable6 | R#5760 [open]: github.com/rakudo/rakudo/issues/5760 Real(Cool) coercion doesn't work with native arrays | ||
lizmat | m: use nqp; my str @a = <a b c>; say @a.Real # the coercion works, so it's just in the typing | 19:59 | |
camelia | 3 | ||
timo | hm. | 20:05 | |
m: say array[str].new() ~~ Cool; say array[str] ~~ Cool | 20:06 | ||
camelia | False False |
||
timo | m: my str @a; @a.WHAT.say; @a.^name.say; say @a ~~ Cool | ||
camelia | (array[str]) array[str] True |
||
timo | m: my str @a; @a.WHAT.say; @a.^name.say; say @a ~~ Cool; say array[str] ~~ Cool; say array[str].new ~~ Cool | ||
camelia | (array[str]) array[str] True False False |
||
lizmat | intriguing, no? | ||
timo | odd, yeah | ||
lizmat | possibly related | 20:07 | |
timo | what was the parameter for mro or so to really give everything? or was that for .^methods that i was thinking of? | ||
lizmat | m: my str @a = <a b c>; dd @a.^mro | ||
camelia | Invocant of method 'raku' must be an object instance of type 'array::strarray', not a type object of type 'array[str]'. Did you forget a '.new'? in block <unit> at <tmp> line 1 |
||
lizmat | however: | 20:08 | |
m: my str @a = <a b c>;use nqp; dd nqp::isconcrete(@a) | |||
camelia | 1 | ||
timo | yeah, we're calling .raku on the type object in the mro list | ||
that's what's exploding | 20:09 | ||
lizmat | ah, yes | ||
timo | m: my str @a; @a.WHAT.raku.say | ||
camelia | Invocant of method 'raku' must be an object instance of type 'array::strarray', not a type object of type 'array[str]'. Did you forget a '.new'? in block <unit> at <tmp> line 1 |
||
timo | m: my @a; @a.WHAT.raku.say | ||
camelia | Array | ||
lizmat | m: my str @a = <a b c>; say @a.^mro | ||
camelia | ((array[str]) (array) (Any) (Mu)) | ||
timo | just not implemented | ||
lizmat | yeah, ok | ||
so that's why native arrays aren't cool | |||
I wonder if that's intentional ? | 20:10 | ||
timo | is that why? | ||
lizmat | m: my str @a = <a b c>; say @a.^roles | ||
camelia | ((strarray[str]) (Positional[str]) (Positional) (Iterable)) | ||
lizmat | yeah | ||
timo | oh, yeah, Cool isn't in there, but why do we get True anyway when asking "my str @a" for matching Cool? does it get listified somehow? | ||
lizmat | no idea.. | 20:11 | |
perhaps it's using the List.ACCEPTS ? | |||
timo | i don't think that's it | 20:12 | |
it should be doing Cool.ACCEPTS | |||
dinner's about to happen. maybe the moar remote debugger can help you figure it out tho while i'm afk | |||
btw ... steppable? :) | |||
lizmat | thanks for looking | ||
steppable? as a bot ? | 20:13 | ||
timo | yeah | 20:14 | |
if not "the_hotsteppa" | |||
lizmat | interesting idea | ||
would get very noisy on a channel ? | |||
timo | oh it wouldn't be interactiv1e | ||
it would just make a big gist i guess | |||
lizmat | ah, ok, feels like a good idea | 20:15 | |
actually, looks like the fix is as easy as adding "is Cool" at the right place | 20:27 | ||
Geth | rakudo/main: 8f38af87cd | (Elizabeth Mattijsen)++ | 2 files Make native arrays Cool This was the underlying issue with #5760. This commit also rolls back the temporary fix of 17fe51b867 |
20:42 | |
rakudo/main: c0c2e01f4b | (Elizabeth Mattijsen)++ | src/core.c/native_array.rakumod Make sure strarray.raku doesn't die It was defined as a method, probably to prevent dispatch ambiguity with the array:D: candidate. Better to make it a multi and make it the default on dispatch ambiguity. Found while looking at #5760 |
21:04 | ||
roast: 1c37c7882e | (Elizabeth Mattijsen)++ | 2 files Add tests for #5760 |
21:14 | ||
roast: 097b734e60 | (Elizabeth Mattijsen)++ | S06-other/main.t Add tests for #5759 |
21:38 | ||
21:39
sena_kun joined
|
|||
lizmat | [Coke]: I'll look at REPL_PROMPT tomorrow, when I'm fresh :-) | 21:53 | |
afk& | 21:54 | ||
22:33
sena_kun left
|
|||
timo | argh, the fix for the multiple packages including the same precomp files issue seems to not have been correct ... or maybe we need to also rebuild the other package that is part of the conflict and not just the one we did rebuild | 23:34 | |
my head is a little bit too fried to figure that out right now i think | 23:36 | ||
lucky, all it takes is a rebuild of raku-test-meta based on the newer version of raku-license-spdx | 23:49 |