🦋 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:05 reportable6 joined 00:08 Kaiepi joined 00:10 Kaiepi left, Kaiepi joined 00:17 Kaiepi left, Kaiepi joined 00:26 Kaiepi left, Kaiepi joined 00:44 Kaiepi left, Kaipi joined 00:47 Kaipi left 00:48 Kaipi joined 00:51 frost joined 01:01 Kaipi left, Merfont joined 01:08 Merfont left, Merfont joined 01:42 Merfont left 01:43 Kaiepi joined 01:59 Kaiepi left, Kaiepi joined 02:20 evalable6 joined 02:33 Kaiepi left, Kaipi joined 02:36 Kaipi left 02:37 Kaiepi joined 03:09 Kaipi joined, Kaiepi left 03:16 Kaipi left 04:30 gfldex left, Voldenet left, JRaspass left, gfldex joined, JRaspass joined 04:31 Voldenet joined 05:27 Kaiepi joined 06:02 reportable6 left 06:03 reportable6 joined 07:07 Kaiepi left, Kaiepi joined 08:02 cognominal_ joined 08:03 cognominal_ joined 08:05 cog__ left 09:05 linkable6 left, evalable6 left, linkable6 joined 09:07 evalable6 joined 09:09 |Tux| joined 09:12 RakuIRCLogger left, RakuIRCLogger joined 09:44 sena_kun left
Geth rakudo: dab7404c93 | (Elizabeth Mattijsen)++ | src/core.c/Cool.pm6
Add Cool.Version coercer

There is already a Str.Coercer. It struck me that coercing a number or a list of numbers to a Version object, would first need coercing to Str. Whereas we already do other Cool coercers. Hence this.
   say 42.Version; # v42
   say (1,2,3).Version; # v1.2.3
   say "42".match(/\d+/).Version; # v42
rakudo: 1d8bf66a5e | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core.c/Cool.pm6
Merge pull request #4551 from rakudo/Cool.Version

Add Cool.Version coercer
09:53 Kaipi joined, Kaiepi left 10:04 Kaipi left 10:08 Kaiepi joined 10:38 sena_kun joined
sena_kun releasable6, status 10:43
releasable6 sena_kun, Next release in ≈4 days and ≈8 hours. 1 blocker. Changelog for this release was not started yet
sena_kun, Details: gist.github.com/faeb26e30c1d64ac0a...e467299c36
11:05 camelia left
lizmat m: say True.new 11:20
evalable6 False
lizmat I understand why that returns False on a programmatical level, but on a philosophical level that feels it should either be True (as in identity) or an error
sena_kun feels like notabug to me. 11:31
11:34 camelia joined 11:35 squashable6 left 12:02 reportable6 left 12:04 linkable6 left 12:37 squashable6 joined 12:49 linkable6 joined
timo .o( fizzbunacci ) 13:02
should Int.new also give 1 rather than 0? :P 13:03
wait i misread lol
m: say 1.new; say 2.new
camelia 0
sena_kun changing this makes `new` behave like `clone`, which is a bad idea. and if we change it only for `Bool`, that's just introducing new inconsistency exception instead of having a generic rule. 13:15
13:23 frost left
lizmat yeah, I was not going for special casing of Bool: I was more thinking that .new on an Enum should be an error 13:24
sena_kun m: enum Foo <A B>; say A.new; say Foo::A.new; say Foo.new; 13:31
camelia Cannot unbox a type object (Any) to a str.
in block <unit> at <tmp> line 1
sena_kun if we should make a better error, I'd bet on this one maybe? 13:32
vrurg Adding a throwing new to Enumeration role fixes it, except for Bool which is a special case and does do the role. 13:53
lizmat couldn't we fix the special case as well ?
vrurg I have $job to do right now, can't do much testing. But have an idea how to get Bool consume Enumeration. 13:57
Perhaps this would make it less of a special case. 13:58
14:05 reportable6 joined 14:09 otokan joined
vrurg lizmat: After all, I can only confirm that Bool is special. :) It would need the same `new` method, as for Enumeration, to be added explicitly. That would also need a new exception. I could do it all tomorrow. 14:17
14:17 otokan left
vrurg Just wonder if it makes sense to spec the new behavior. 14:18
lizmat I think a PR would be wise, so we can discuss :-) 14:20
vrurg As usual, I almost never commit directly. :) 14:25
Maybe will do today, depends on how long a vet appointment+driving would take.
lizmat and another Rakudo Weekly News hits the Net: rakudoweekly.blog/2021/10/18/2021-...ning-with/ 14:32
notable6: weekly 14:33
notable6 lizmat, No notes for “weekly”
sena_kun lizmat++ 14:35
|Tux| Rakudo v2021.09-279-g1d8bf66a5 (v6.d) on MoarVM 2021.09-657-gb80ad65ed
csv-ip5xs1.372 - 1.382
csv-ip5xs-2015.142 - 15.305
csv-parser4.432 - 4.447
csv-test-xs-200.374 - 0.379
test7.264 - 7.361
test-t1.632 - 1.664
test-t --race0.986 - 1.066
test-t-2024.315 - 24.883
test-t-20 --race7.653 - 7.854
Rank 7 2021-10-18 16:45:22 test-t 1.632
releasable6 Next release in ≈4 days and ≈3 hours. 1 blocker. Please log your changes in the ChangeLog: github.com/rakudo/rakudo/wiki/ChangeLog-Draft 15:00
Geth nqp/new-disp-nativecall: a89b0d4a27 | (Stefan Seifert)++ | 4 files
API for asking whether the compiler supports a certain nqp op

This can be used to conditionally compile backend specific code in modules like NativeCall
nqp: niner++ created pull request #742:
API for asking whether the compiler supports a certain nqp op
15:25 Xliff left
[Coke] ^^ I assume the desire then would be to change code from a compiler time static backend check to a (quick) runtime check? 15:43
nine [Coke]: the method this commit introduces can be used in a BEGIN block as well as at runtime 16:00
Currently the only way to conditionally use nqp ops (based on compiler support) is via EVAL anyway
Geth rakudo/megamorphic-handlers: 6 commits pushed by (Jonathan Worthington)++ 16:21
nqp: 85e25925fb | (Jonathan Worthington)++ | src/core/dispatchers.nqp
Tweak megamorphic fallback thresholds

It turns out that we can get rather a lot of entries at the callsite cache before the O(1) of the hash starts to come out cheaper.
16:24 |Tux| left 17:14 otokan joined 17:18 sena_kun left 18:02 melezhik joined 18:03 reportable6 left 19:46 sena_kun joined 19:51 melezhik left 20:03 reportable6 joined 21:03 linkable6 left, evalable6 left 21:17 sena_kun left 21:22 sena_kun joined 21:37 squashable6 left 21:40 squashable6 joined 22:06 sena_kun left 22:16 otokan left 22:18 sena_kun joined
Geth rakudo/megamorphic-handlers: 1d29da3b74 | (Jonathan Worthington)++ | src/vm/moar/dispatchers.nqp
Don't guard Mu-typed params in multi-dispatch

When all candidates encountered have a parameter typed as Mu, then we do not need to put guards on the argument type. This helps avoid caches blowing up in size in cases like STORE_AT_KEY, which has a number of candidates with Mu-typed value parameters that will encounter many types.
rakudo/megamorphic-handlers: f343b58345 | (Jonathan Worthington)++ | src/vm/moar/dispatchers.nqp
Remove leftover commented code

From when the multi-dispatch algorithm was being ported to new-disp.
23:05 evalable6 joined 23:06 linkable6 joined
Geth rakudo: vrurg++ created pull request #4579:
Add is_wrapped method to Routine