🦋 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:00 reportable6 left 00:01 reportable6 joined 00:02 guifa_ left 00:53 ab5tract left 01:12 ab5tract joined 02:20 evalable6 left, linkable6 left 02:22 evalable6 joined 02:23 linkable6 joined 02:25 ab5tract left 05:10 bloatable6 left, reportable6 left, bisectable6 left, greppable6 left, committable6 left, coverable6 left, releasable6 left, benchable6 left, sourceable6 left, tellable6 left, notable6 left, statisfiable6 left, nativecallable6 left, squashable6 left, quotable6 left, linkable6 left, evalable6 left, unicodable6 left, shareable6 left, bisectable6 joined 05:11 quotable6 joined, shareable6 joined, releasable6 joined, coverable6 joined, sourceable6 joined, tellable6 joined, unicodable6 joined, statisfiable6 joined 05:12 squashable6 joined, linkable6 joined, benchable6 joined, nativecallable6 joined, reportable6 joined, notable6 joined, evalable6 joined 05:13 committable6 joined, greppable6 joined, bloatable6 joined 06:00 reportable6 left 06:01 reportable6 joined
Geth roast: 86ff4afae0 | (Elizabeth Mattijsen)++ | 15 files
Update .pl extension to .raku

And update all references to it
07:19
07:22 japhb left, japhb joined
Geth roast: 52b5d46895 | (Elizabeth Mattijsen)++ | S32-list/minmax.t
Add testing adverbs on .min / .max
07:40
08:09 squashable6 left 08:10 squashable6 joined 08:19 finanalyst joined 09:41 NemokoschKiwi joined 10:00 NemokoschKiwi left 10:06 finanalyst_ joined
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
12:00 reportable6 left 12:01 reportable6 joined 12:50 finanalyst_ left 12:51 finanalyst left
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
14:17 squashable6 left 14:18 squashable6 joined 14:39 heartburn left 14:49 heartburn joined 15:51 ab5tract joined 17:35 finanalyst joined 18:00 reportable6 left, reportable6 joined
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
19:25 finanalyst left
[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
21:21 rypervenche left, vrurg left, camelia left, [Coke] left, [Coke] joined, rypervenche joined, rypervenche left, rypervenche joined 21:22 vrurg joined 21:27 camelia joined
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
22:28 linkable6 left, evalable6 left 22:29 evalable6 joined, linkable6 joined 23:29 squashable6 left, evalable6 left, bisectable6 left, statisfiable6 left, coverable6 left, nativecallable6 left, releasable6 left, linkable6 left, unicodable6 left, notable6 left, quotable6 left, reportable6 left, tellable6 left, benchable6 left, shareable6 left, sourceable6 left 23:30 coverable6 joined, releasable6 joined, evalable6 joined, unicodable6 joined, bisectable6 joined 23:31 quotable6 joined, linkable6 joined 23:32 notable6 joined, tellable6 joined, statisfiable6 joined, squashable6 joined, sourceable6 joined, shareable6 joined, benchable6 joined 23:33 nativecallable6 joined, reportable6 joined