🦋 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.
ugexe i.e. a rakuast bug 00:00
otherwise it works 00:03
Geth rakudo: ugexe++ created pull request #6226:
RakuAST: default object hash value type to Any when no explicit type is given
00:05
japhb Ah, thanks for taking a look! 00:34
Looks like my problem with MUGS-Core and Red begins at: 5c37ccea1 - Initial completion of what became the Great QuantHash Refactor (4 weeks ago) <Elizabeth Mattijsen> 00:35
Actual error is:
Type check failed in binding to parameter 'key'; expected Attribute but got Str ("\%!___COLUMNS_DATA___")
at /home/geoff/foss/git/MUGS/MUGS-Core/site#sources/585CBDC6402A5D00B076838C1C3D4DE64EA5D5EC (MUGS::Server::Storage::Driver::Red::SQLite::IdentitySchema):25
I'm going to try against actual Rakudo HEAD (I'd been bisecting within the 2026.04 and 2026.05 range) to see if it's still there 00:36
Geth rakudo: ugexe++ created pull request #6227:
RakuAST: drop `:D` from the element type when parameterising a sigil role
00:37
japhb Woah, HEAD fails relatively early in my stack trying to test Crane (which is a dependency of Config::TOML, the thing I was actually trying to install at that point in my script). 00:52
Going to retry to see if it's a flapper
Nope, not a flapper. Failures in Crane's t/list.rakutest - looks like a couple variants of an extra itemization layer. For example: 01:13
[Crane] # expected: $({:path($[0]), :value("zero")}, {:path($[1]), :value("one")}, {:path($[2]), :value("two")})
[Crane] # got: $(${:path($[2]), :value("two")}, ${:path($[1]), :value("one")}, ${:path($[0]), :value("zero")})
Oh, and it appears to have reversed the elements as well, hmmm. 01:14
Exact same module list known to have worked at rakudo-moar-2026.04-60-gf2273bf17a (which was the last Rakudo commit that worked for *every* module in my stack) 01:15
Geth rakudo: ugexe++ created pull request #6228:
Default object hash value type to Mu under 6.e, Any otherwise
01:29
ugexe re CBOR::Simple, you'll want to add use v6.d since in v6.e we'll switch to the behavior the was breaking CBOR::Simple with RAKUDO_RAKUAST=1 since the new behavior does actually make sense to switch to 01:32
but for now it'll work after the above PR
re Crane: one issue is github.com/rakudo/rakudo/commit/ee30c34ff 01:40
Map/Hash also do Iterable, and their iteration order isn't deterministic, so Hash cmp Hash is now unstable
japhb ugexe: Yeah, makes sense about Hash cmp Hash being unstable. Did you see what commit caused the elements to be itemized? 01:59
As for CBOR::Simple, I'm not sure whether I prefer doing `use v6.d` to freeze it at the old semantics, or `use v6.e` and make necessary changes. Probably the latter if I can use a syntax that works for all the `v6.e.PREVIEW` releases. 02:01
ugexe it is probably a red herring 02:04
like how .raku renders scalars 02:05
yeah if you can make changes that work on both that could be more ideal. i didn't look into what actual changes you'd need to make, so i can't comment on how correct that might be 02:06
i did see it mention something about making a distinction between Any and Mu, so it might not be easy 02:10
japhb One of the things I like about CBOR is the care it takes with undefinedness and similar concepts, so I'll have to be careful, yeah. 02:18
(SO much closer to Raku's understanding of same than most other data formats)
05:55 vrurg_ left 06:10 vrurg joined 07:50 lizmat_ left, lizmat joined
Geth rakudo/lizmat-10: a51dbdaa53 | (Elizabeth Mattijsen)++ | src/Raku/ast/package.rakumod
RakuAST: test whether some syntax issue is causing breakage

Mostly done to also force another CI run
08:13
09:00 shareable6 left 09:03 shareable6 joined
Geth rakudo/lizmat-10: 03f7535d1f | (Elizabeth Mattijsen)++ | src/Raku/ast/package.rakumod
RakuAST: fix various issues in accessor generation

  - [0] doesn't work, use .head
  - $name.split("::") is too soo, use nqp::split("::",$name)
  - remove check for unknown traits, they will be caught elsewhere
This brings the build already quite a bit further!
09:06
09:42 librasteve_ joined
Geth rakudo/main: a7911111ec | (Nick Logan)++ (committed using GitHub Web editor) | 4 files
RakuAST: clean up orphan IMPL-STUB-CODE freshcoderefs at end of compile

IMPL-STUB-CODE creates a non-SC'd freshcoderef and binds it to Code.$!do so a code object is callable during BEGIN-time evaluation. When the owning AST is finalized via IMPL-LINK-META-OBJECT the stub is registered with the SC. If the AST is discarded before QAST emission, e.g. when block-or-hash repurposes a Block as a Hash ... (17 more lines)
12:03
rakudo/main: d29b32a2cd | (Nick Logan)++ (committed using GitHub Web editor) | 4 files
Default object hash value type to Mu under 6.e, Any otherwise

  `my %h{K}` without an explicit value type defaulted to Any in legacy
and to Mu in RakuAST. Issue #5419 reported the legacy Any default as a bug: junctions and other Mu-typed values cannot be stored in an Any-typed slot, so `my %b{Int}; %b{1} = 5|6` fails. ab5tract added the Mu default to RakuAST (test in xx-fixed-in-rakuast.rakutest). ... (12 more lines)
12:09
rakudo/main: 5f2c8dd7a4 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files
RakuAST: drop `:D` from the element type when parameterising a sigil role

  `SomeType:D :@arr` in a parameter list was stored on the parameter as
  `Positional[SomeType:D]` instead of `Positional[SomeType]`. Role
parameterisation is invariant, so an `Array[SomeType]` default like
  `Str:D :@alpha = @chars64std` (where `@chars64std` is a `my Str @`)
failed to bind because `Array[Str]` does not `do Positional[Str:D]`. ... (6 more lines)
12:10
rakudo/main: f1230e5dee | (Nick Logan)++ (committed using GitHub Web editor) | 2 files
RakuAST: silent-replace prior `package` declarator under multi-part names

  `RakuAST::Package`'s install path has two redeclaration checks: an
early `declare-our-package` tracker that catches in-source dupes for multi-part names and augments, and a later stash-installation check that consults `IMPL-SHOULD-SILENT-REPLACE` (which already lets a prior `PackageHOW` be silently replaced). The early check skipped ... (13 more lines)
12:12
rakudo/main: efd60a41b5 | (Nick Logan)++ (committed using GitHub Web editor) | 3 files
RakuAST: declare the anonymous state variable for assign meta-operators

  * RakuAST: declare the anonymous state variable for assign meta-operators
The parser synthesises an anonymous state variable for an assign meta-operator without a left operand, like `=%=`. The synthesised declaration was missing a `declare-lexical` call. Evaluation of ... (20 more lines)
12:19
rakudo/lizmat-10: 5 commits pushed by (Nick Logan)++ 12:27
12:50 vrurg left 12:51 vrurg joined
Geth rakudo/lizmat-10: 98802082a2 | (Elizabeth Mattijsen)++ | src/Raku/ast/package.rakumod
RakuAST: temp hack to get setting build further

For some reason the setting building attempts to add the POPULATE method twice for *some* core classes.
12:58
13:35 lizmat left 13:44 lizmat joined
Geth rakudo/lizmat-10: 7bf4d93f63 | (Elizabeth Mattijsen)++ | src/Raku/ast/package.rakumod
Revert "RakuAST: temp hack to get setting build further"

This reverts commit 98802082a2d17cdf85bbd47924f2d5d4475d31a5.
This is not really a solution
16:22
17:01 vrurg_ joined 17:03 vrurg left 17:06 rakkable left, rakkable__ joined 18:54 halloy1273 joined 18:56 halloy1273 left
Geth rakudo: ugexe++ created pull request #6232:
RakuAST: route `.&f` and `.= &f` through `dispatch:<var>`
22:45
rakudo: ugexe++ created pull request #6233:
RakuAST: give `o` and `∘` concatenation precedence
22:46
rakudo: ugexe++ created pull request #6234:
RakuAST: propagate sink before BEGIN-time QAST emission
rakudo: ugexe++ created pull request #6235:
RakuAST: keep curried `|*.foo` arguments out of arglist flattening