🦋 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.
[Coke] lizmat: desired URL to replace the issue in github.com/Raku/raku.org/issues/229 ? 00:58
github.com/Raku/doc/pull/4513 - JJ says Test is Rakudo, not Raku, but that's not right, is it? 02:05
ab5tract It's certainly a fuzzy distinction. I don't see how one could implement a new Raku compiler/interpreter/whatever-er that doesn't include a Test that conforms to the existing API 08:41
that said, according to a strict viewpoint, Test is indeed Rakudo and not Raku 08:44
lizmat I'd say that Test is Raku as it is used in roast, and that specifies Raku ? 09:25
Geth roast: bd38ef0bfd | (Elizabeth Mattijsen)++ | S03-metaops/reduce.t
Fix tests wrt to [>>+<<]

This has actually little todo with #1705, but needs a fix in the handling of the HYPER sub in rakudo. Until then, change the test to a state where they can be TODOed
10:42
roast: 7a0b23bea1 | (Elizabeth Mattijsen)++ | S32-list/reduce.t
Adapt test to no-automatic handling 1 arg case

Since the magic of handling the 1-arg case for reduction with left associativity will be removed as it is *too* magic (and the zero argument case was **not** magically handled).
10:47
rakudo/main: 9bcb01e966 | (Elizabeth Mattijsen)++ | src/core.c/metaops.rakumod
Remove the magic handling of left one-arg reduction

As this is considered to be the conclusion of #1705:
  - there is magic handling for 1-arg with left-associativity
  - there is NO magic handling for 0-arg with left-associativity
  - there is NO magic handling for 1 and 0-arg with any other
   associativity
This broke a few spectests, which have been fixed with
  - github.com/Raku/roast/commit/bd38ef0bfd
  - github.com/Raku/roast/commit/7a0b23bea1
10:55
Geth rakudo/main: b2198d9e18 | (Elizabeth Mattijsen)++ | src/core.c/metaops.rakumod
Make reduction of hyperop work on 0 / 1 arguments

This was first noted in
   github.com/Raku/old-issue-tracker/issues/3475
in 2014. Its partial fix in the end caused inconsistency in handling ... (7 more lines)
11:59
roast: d34202519b | (Elizabeth Mattijsen)++ | S03-metaops/reduce.t
unTODO now passing tests

Becaise of github.com/rakudo/rakudo/commit/b2198d9e18
And make them a little bit more specific.
12:11
roast: 75eb5f103b | (Elizabeth Mattijsen)++ | S03-metaops/reduce.t
Replace TODOed test (from 2008)

with a test that tests for the currently expected semantics of
  [,], namely as a producer of a List
12:19
lizmat one fewer test file that needs fudging :-)
lizmat m: dd [and] 13:11
camelia Bool::True
lizmat m: dd [!and]
camelia Bool::True
lizmat that feels wrong
ab5tract lizmat: R#5690 13:36
linkable6 R#5690 [open]: github.com/rakudo/rakudo/pull/5690 Address long-standing discrepancy for != and METAOP_NEGATE
ab5tract I think it's the same underlying issue?
lizmat I was about to commit a fix to METAOP_NEGATE 13:37
ab5tract cool :) 13:38
lizmat but reading that now, feels not good 13:40
sub METAOP_NEGATE(\op) is implementation-detail {
- -> |c { c.elems > 1 ?? !op.(|c) !! True }
+ -> |c { !op.(|c) }
or at least incomplete 13:41
m: say &infix:<==>()
camelia True
lizmat m: say &infix:<!=>()
camelia True
lizmat m: say &infix:<!==>()
camelia True
lizmat feels the latter two should both be False ?
or am I missing something
it should then also affect: 13:42
multi sub infix:<!=>( --> True) { }
multi sub infix:<!=>($ --> True) { }
afk for a few hours& 13:55
ab5tract lizmat: Ah, yes that PR is not polished yet. I've marked it now as a draft 16:51
lizmat after cycling, decided not to commit that fix to METAOP_NEGATE 16:52
Geth rakudo/main: 4f8cfb1268 | (Elizabeth Mattijsen)++ | src/core.c/Hash.rakumod
Give Hash.clone the same semantics as Array.clone

As in: re-containerize any containerized values when cloning, but don't go any deeper than the values in the instance itself. In respnse to #1997
18:48
Geth rakudo/main: 72e2dcd13d | (Elizabeth Mattijsen)++ | src/core.c/Hash/Object.rakumod
Give Hash::Object.clone the same semantics as Array.clone

  github.com/rakudo/rakudo/commit/4f8cfb1268 gave Hash.clone
the same semantics as Array.clone. But that broke .clone on object hashes. This commit fixes that. In response to #1997
19:30
Geth roast: 6ea6294fa4 | (Elizabeth Mattijsen)++ | 2 files
Add tests for #1997

As fixed by:
  - github.com/rakudo/rakudo/commit/4f8cfb1268
  - github.com/rakudo/rakudo/commit/72e2dcd13d
19:41