🦋 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.
Geth roast: 86ff4afae0 | (Elizabeth Mattijsen)++ | 15 files
Update .pl extension to .raku

And update all references to it
07:19
Geth roast: 52b5d46895 | (Elizabeth Mattijsen)++ | S32-list/minmax.t
Add testing adverbs on .min / .max
07:40
Geth rakudo/main: 5379483368 | (Elizabeth Mattijsen)++ | src/core.c/List.pm6
().sort(:k) should return () not Empty
10:36
rakudo/main: c5cc267547 | (Elizabeth Mattijsen)++ | src/core.c/Any-iterable-methods.pm6
Make sure sub versions of min/max handle adverbs
10:46
roast: c5faa1259f | (Elizabeth Mattijsen)++ | S32-list/sort.t
Add tests for List.sort(:k)
roast: da720c14f9 | (Elizabeth Mattijsen)++ | S32-list/minmax.t
Add tests for sub min/max with adverbs
Geth rakudo/main: e0a882f07d | (Elizabeth Mattijsen)++ | src/core.c/Any-iterable-methods.pm6
Make sure sub sort takes named args and passes them on
13:43
roast: 47d6390872 | (Elizabeth Mattijsen)++ | S32-list/sort.t
Add tests for sub sort(:k)
13:44
lizmat does anybody have any idea why we have WHAT/HOW/VAR as subs (macro), but not WHERE/WHICH/WHO ? 18:05
m: WHO
camelia ===SORRY!===
Argument to "WHO" seems to be malformed
at <tmp>:1
------> WHO⏏<EOL>
Undeclared name:
WHO used at line 1

Other potential difficulties:
Function "WHO" may not be called without arguments (please use …
lizmat m: WHICH 18:06
camelia ===SORRY!===
Argument to "WHICH" seems to be malformed
at <tmp>:1
------> WHICH⏏<EOL>
Undeclared name:
WHICH used at line 1

Other potential difficulties:
Function "WHICH" may not be called without arguments (ple…
lizmat m: WHERE
camelia ===SORRY!===
Argument to "WHERE" seems to be malformed
at <tmp>:1
------> WHERE⏏<EOL>
Undeclared name:
WHERE used at line 1

Other potential difficulties:
Function "WHERE" may not be called without arguments (ple…
lizmat m: WHERE()
camelia ===SORRY!=== Error while compiling <tmp>
Undeclared name:
WHERE used at line 1
Geth rakudo: lizmat++ created pull request #5336:
Add sub versions of WHERE WHICH WHO
19:01
rakudo/lizmat-WHERE-WHICH-WHO: 991678cd4f | (Elizabeth Mattijsen)++ | 10 files
Add sub versions of WHERE WHICH WHO

They seem to have been forgotten, but are actually mentioned in some error messages. Feels they should be added for completeness sake. Also adapts tests accordingly.
19:08
[Coke] m: WHO 1 20:03
camelia ===SORRY!=== Error while compiling <tmp>
Undeclared name:
WHO used at line 1
[Coke] ...whoops, that was a pr
ab5tract hmmm... this seems odd to me: 21:55
m: my @a = 1, 3, 5; say @a[^3] eqv |@a
camelia False
ab5tract m: my @a = 1, 3, 5; say [@a[^3]] eqv @a
camelia True
ab5tract I guess because in the first case one is a list and the other is a slip? 21:56
m: my @a = 1, 3, 5; say @a[^3] ~~ |@a
camelia True
nemokosch the latter is crystal clear
ab5tract m: my @a = 1, 3, 5; say @a[^3] ~~ @a
camelia True
nemokosch the former is, uh...
ab5tract I don't play much with eqv, probably its just me 21:57
nemokosch I don't think so, it's not clear at all what it does
ab5tract m: my @a = 1, 3, 5; say @a[^3] eqv @a.list 21:58
camelia False
ab5tract m: my @a = 1, 3, 5; say @a[^3] eqv @a.Seq
camelia False
nemokosch github.com/rakudo/rakudo/blob/2023...e.pm6#L115
they are apparently mandated to be the same type 21:59
okay, it makes some sense - but given that they are the same interface, not so much
after a very exhaustive 15 seconds of thinking, I think it's better the way it is 22:01
ab5tract m: my @a = 1, 3, 5; say @a[^3].WHAT; say @a.list.WHAT
camelia (List)
(Array)
ab5tract m: my @a = 1, 3, 5; say @a[^3].WHAT; say @a.List.WHAT
camelia (List)
(List)
ab5tract okay, not sure what .list is for anymore :) 22:02
yeah, for eqv I think it makes sense
nemokosch First, I think it's really not nice that something that succeeds on a List typecheck, still gets changed when .List is called on it
This causes trouble with Allomorphs 22:03
ab5tract hmmm, yeah, that's a fair point
nemokosch you can have fake Ints that pass all your type checks but aren't === (probably not even eqv) with an Int
m: my Int $funky = <5>; say $funky.Int === $funky; say $funky.Int eqv $funky 22:04
Raku eval False False
nemokosch there
because .Int turns it into the real number 5
second, I always get mixed up in this but .list is actually the @ contextualizer 22:05
it's what @(foobar) would also call
ab5tract ah
nemokosch and it's the reason why a lot of non Listy, possibly not even Iterable types (like Buf and Blob) can behave like lists 22:06
Any exposes almost the whole List (Array, even) interface and implements it as .list.that-method-call 22:07
I can't miss saying that this is quite a troubling situation; the very bulky Any that provides almost everything from certain classes but not quite, and that ad-hoc types that happen to implement .list will magically behave like @ context candidates... 22:09
but on the prescriptive end of things, it is just how it is
*descriptive
Freudian slip
ab5tract :) 22:11