🦋 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:20 librasteve_ left
patrickb leont, timo: Is this the bug you're referring to: github.com/Leont/yamlish/issues/19 07:00
?
Geth rakudo/main: 3dbf9c8373 | (Elizabeth Mattijsen)++ | src/Raku/Actions.nqp
RakuAST: make RAKU_LANGUAGE_VERSION=vxxx actually work

Added originally in 2023 with 632f952b0a, it was missing a crucial additional change to make it actually work.
So this now allows one to set the Raku language version to be used for a program *without* actually needing to change the code, *provided* ... (17 more lines)
09:54
lizmat m: say sqrt(-1) 10:03
camelia NaN
lizmat m: use v6.*; say sqrt(-1)
camelia 0+1i
lizmat so, how are we going to handle that in a test?
I guess separating them into a different file with a use v6.c 10:10
Geth roast: f058418278 | (Elizabeth Mattijsen)++ | 2 files
Accommodate tests for sqrt(negative number) in 6.e+

The result of sqrt(-1) changed to the complex number i in 6.e. Accommodate for this by moving these tests to a separate file with a "use v6.c" included, and change the tests in the original file to the value expected in 6.e+, and todoing them now to prevent spectest breakage until 6.e has become the default.
10:14
lizmat that's one down
Geth roast: 6216239c3f | (Elizabeth Mattijsen)++ | 2 files
Accommodate tests for sign(Complex) in 6.e+

The result of sign(i) changed to return a complex number rather than throwing an exception. Accommodate for this by moving this tests to a separate file with a "use v6.c" included, and change the test in the original file to the value expected in 6.e+, and todoing them now to prevent spectest breakage until 6.e has become the default.
10:27
lizmat that's two
Geth roast: 27cbd41108 | (Elizabeth Mattijsen)++ | 2 files
Accommodate tests for log(-Ing) in 6.e+

The result of log(-Inf) changed to return a complex number rather than returning NaN. Accommodate for this by moving this tests to a separate file with a "use v6.c" included, and change the test in the original file to the value expected in 6.e+, and todoing them now to prevent spectest breakage until 6.e has become the default.
12:02
lizmat and that's three
m: dd SetHash[Str] 12:24
camelia Bool = SetHash[Str]
lizmat m: use v6.*; dd SetHash[Str]
camelia ===SORRY!===
lang-call cannot invoke object of type 'VMNull' belonging to no language
lizmat meh
looks like this is caused by: base.^name ~ '[' ~ type.^name ~ ']' in SetHash.^parameterize 14:09
timo for some reason i didn't see that bug. the explanation that it's blocks inside of "before" assertions sounds like a fit for why my change improves things 14:37
lizmat timo: conctext? 14:38
*context :-)
Geth rakudo/main: 7bf0d52b66 | (Elizabeth Mattijsen)++ | 6 files
Fix weird interaction in 6.e with string concatenation in ^parameterize

Methods with a ^ at the start of the name are weird in the sense that they don't exist as a method of the class itself, but that they're mixed in the metamodel class of the class (which is usually written in NQP).
... (14 more lines)
15:01
lizmat that one was weird
timo the yamlish bug 15:04
that patrick linked to before
lizmat aah... ok... :-) 15:09
20:20 rakkable left
Geth rakudo/main: c262ef0b2a | (Elizabeth Mattijsen)++ | lib/NativeCall/Dispatcher.rakumod
Fix NativeCall::Dispatcher in 6.e

Running tests with RAKU_LANGUAGE_VERSION=v6.* showed that NativeCall stopped working because PseudoStashes have changed subtly in 6.e, causing nqp::getattrs to fail because "PseudoStash" now means the 6.e version, which doesn't have a `$!ctx` attribute.
Fixed this by using CORE::v6c::PseudoStash instead (vrurg++ for the suggestion). However, this also required NativeCall::Dispatchers to be running on 6.e.PREVIEW, because CORE::v6c::... isn't set in 6.d
  (nor is it in 6.c).
22:26