🦋 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: ... | log inspection situation still under development | For MoarVM see #moarvm
Set by lizmat on 22 May 2021.
00:03 reportable6 left 00:04 reportable6 joined 00:35 jgaz joined 01:21 jgaz left 02:18 Kaiepi left, Kaipi joined 04:11 japhb left 04:14 japhb joined 05:14 sourceable6 left, bloatable6 left, greppable6 left, statisfiable6 left, unicodable6 left, reportable6 left, evalable6 left, tellable6 left, committable6 left, squashable6 left, linkable6 left, reportable6 joined 05:15 evalable6 joined, squashable6 joined, tellable6 joined, statisfiable6 joined, greppable6 joined 05:16 sourceable6 joined, linkable6 joined, unicodable6 joined, bloatable6 joined, committable6 joined 06:02 reportable6 left 06:04 reportable6 joined
|Geth||rakudo: gfldex++ created pull request #4469:
08:10 patrickb joined 08:12 dogbert17 joined, dogbert11 left 08:35 squashable6 left 08:37 squashable6 joined
|Geth||nqp/new-disp: b6221b0e3c | (Jonathan Worthington)++ | 2 files
Tweak to enable rebootstraping NQP on new-disp
Our circularity saw is certainly a hack saw.
|nqp/new-disp: 4489c4ee24 | (Jonathan Worthington)++ | 11 files
Rebootstrap NQP on MoarVM
In preparation for being able to start removing various bits that are being replaced by new-disp.
|nqp/new-disp: c9d6b86254 | (Jonathan Worthington)++ | src/core/NQPRoutine.nqp
Don't compile legacy multi dispatcher on MoarVM
|rakudo/new-disp: 012725c047 | (Jonathan Worthington)++ | 2 files
Don't compile legacy dispatchers on MoarVM
|rakudo/new-disp: eceeb50837 | (Jonathan Worthington)++ | src/Perl6/bootstrap.c/BOOTSTRAP.nqp
Remove multi cache addition on MoarVM
We should eventually eliminate the whole dispatch algorithm here in favor of the MoarVM version, however for now it's still used in an introspective case.
|releasable6||Next release in ≈3 days and ≈7 hours. 4 blockers. Please log your changes in the ChangeLog: github.com/rakudo/rakudo/wiki/ChangeLog-Draft||11:00|
11:08 sena_kun joined
|Geth||rakudo: 39ba888487 | (Elizabeth Mattijsen)++ | 2 files
Make Uni cmp Uni work
Also change the infix:<cmp>(@a,@b) candidate to infix:<cmp>(List:D,List:D) so that we can be assured that only actual Lists will take that candidate.
This also makes cmp work on native arrays, albeit through the long and slow way of making them Lists first. To be fixed in consecutive commits.
|releasable6||sena_kun, Next release in ≈3 days and ≈7 hours. 4 blockers. Changelog for this release was not started yet|
|sena_kun, Details: gist.github.com/d6671d7a8a04dfe98d...23ce4c5fff|
|Geth||rakudo: 76714ca4a7 | (Elizabeth Mattijsen)++ | 2 files
Add native array candidates for infix:<cmp>
This makes cmp-ing native arrays about 3.5x as fast (in the worst case for native arrays that are identical). Faster still for other cases.
12:02 reportable6 left 12:05 reportable6 joined 12:26 dogbert11 joined 12:28 dogbert17 left 12:53 MasterDuke joined
|Geth||rakudo: f3ff062120 | (Elizabeth Mattijsen)++ | 2 files
Add infix:<cmp> candidates for Iterator and Seq
The Iterator one being an implementation-detail, at least for now.
The reason this code resides in Order, is that it needs Order to be able to work. Earlier in the setting it either won't compile, or bail on the static optimization stage.
|rakudo: 50bd1717c3 | (Elizabeth Mattijsen)++ | 2 files
Make List cmp List about 25% faster
Again, for the worst case of identical Lists. Moved the List logic to Order, to allow for this optimization.
|nqp/new-disp: e2dc30dd09 | (Jonathan Worthington)++ | 4 files
Remove multicache[find|add] ops on MoarVM
The tests for it are moved into the JVM tests, since it is still used there.
16:36 patrickb left
|Geth||rakudo/remove-inv-prot: d4f32a6654 | (Jonathan Worthington)++ | 8 files
Attempt to remove InvocationProtocl on MoarVM
For merge once p6capturelex and other ops are expunged, since they turn out to depend on it.
17:52 sena_kun left 18:02 reportable6 left 18:05 reportable6 joined 19:49 japhb left 19:56 japhb joined
|Geth||rakudo/iterable-cmp: 342a442e60 | (Elizabeth Mattijsen)++ | src/core.c/Order.pm6
Add Iterable cmp Iterable candidates
If either side of an infix:<cmp> is an Iterable, then use the iterator on both sides to determine the result, rather than stringifying the Iterable(s). This is, I think, more correct, and much more memory friendly as there is not Str representation created of the argument.
... (8 more lines)
|rakudo: lizmat++ created pull request #4470:
Add Iterable cmp Iterable candidates
|lizmat||m: my @a = ^10; my int @b = ^10; say @a eqv @b # somehow I expected that to be True ?||20:56|
|gfldex||lizmat: Comparing is hard. :-/||21:10|
|m: say so (1,2,3) cmp (1..∞);||21:13|
|gfldex||m: say (1,2,3) cmp (1..∞);|
|gfldex||m: say "1" cmp (1..∞);|
|gfldex||m: say (2..∞) cmp (1..∞);||21:19|
|raydiak||m: say (my int @).^mro # beisdes the parameterization mismatch, it isn't even an Array|
|camelia||((array[int]) (array) (Any) (Mu))|
|gfldex||lizmat: Infinite lists may need special treatment too.||21:20|
22:33 evalable6 left, linkable6 left, evalable6 joined 22:34 linkable6 joined
|timo||lizmat: but eqv wants the type to be the same too, right? and array[Int] wouldn't match Array?||22:45|
|raydiak||that's what I was getting at ^^^^ up there. here's some other things you might stumble over if you were trying to ignore the type and compare the values:||23:12|
|m: my @a = ^3; my int @b = ^3; dd @a.list; dd @b.list; dd @a[*]; dd @b[*]; dd @a.values; dd @b.values;|
|camelia||Array @a = [0, 1, 2]
(0, 1, 2)
(0, 1, 2)
array[int].new(0, 1, 2)
(0, 1, 2).Seq
(0, 1, 2)
|raydiak||you could always explicitly cast to Array or List of course, but all of ^ that mismatch surprised me||23:15|
23:54 evalable6 left, linkable6 left 23:55 linkable6 joined 23:57 evalable6 joined