|
02:36
apogee_ntv left
02:37
apogee_ntv joined
05:16
hurufu joined
06:34
hurufu left
08:01
hurufu joined
08:11
apogee_ntv left
|
|||
| Geth | rakudo/main: 43dda3c412 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files RakuAST: allow `= Nil` as initializer on a typed attribute `RakuAST::VarDeclaration::Simple.PERFORM-CHECK` runs a compile-time type check on attribute defaults to catch declarations like `has Int $.x = "oops"`. It also rejected `has IO::Handle $.x = Nil`, which legacy accepts because assigning `Nil` to a Scalar resets it to the container's default value rather than storing `Nil` itself. ... (8 more lines) |
09:02 | |
| rakudo/main: 512094e22d | (Nick Logan)++ (committed using GitHub Web editor) | 3 files RakuAST: tighten double-closure check and silence `xx` sink warning Two issues surfaced by `zef install HTTP::HPACK`. `RakuAST::Code.IMPL-CHECK-DOUBLE-CLOSURE` walked the whole subtree of a `where` block looking for any curried expression. A WhateverCode nested inside a method call argument (e.g. `where @x.map(* ~~ Int)`) ... (12 more lines) |
09:05 | ||
| rakudo/main: cb6863ab5a | (Nick Logan)++ (committed using GitHub Web editor) | 2 files RakuAST: emit empty concat for modifier-only alternation branch When an internal regex modifier (`:i`, `:m`, `:r`, `:s`) appears alone as a top-level branch of a `|` or `||` alternation, its IMPL-REGEX-QAST returns Nil. `RakuAST::Regex::Branching` was pushing that Nil into the QAST::Regex alt, and the NFA builder then died with `elems requires a concrete object` while inspecting the branch. ... (12 more lines) |
09:06 | ||
| rakudo/main: cb2627944e | (Nick Logan)++ | 3 files RakuAST: propagate custom-args for sub signatures at BEGIN time Parameter sub signature destructure crashed under RAKUDO_RAKUAST=1 when the owning routine was compiled at BEGIN. This is what happens when a trait_mod multi is applied to an attribute declaration. `multi sub trait_mod:<is> (Attribute $a, :@spec! (Int $x, Int $y)) { }; ... (30 more lines) |
09:08 | ||
| rakudo/main: 886a459dee | (Nick Logan)++ | 6 files RakuAST: evaluate non compile-time role parameterization args at BEGIN A parametric role with a non compile-time argument crashed under RAKUDO_RAKUAST=1 in RakuAST::Type::Parameterized::PRODUCE-META-OBJECT with `Cannot do compile time parameterization with these args`. The minimal trigger is an inline array literal: ... (49 more lines) |
|||
| rakudo/main: 3ac484efe5 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | 8 files Merge pull request #6217 from ugexe/ugexe/rakuast-parameter-subsignature RakuAST: fix sub signature parameter and parametric role compile crashes |
|||
| rakudo/main: f7576048dd | (Nick Logan)++ (committed using GitHub Web editor) | 8 files RakuAST: allow anonymous declarations across all package kinds Anonymous package declarations under RAKUDO_RAKUAST=1 had three bugs. `subset :: of Str where /42/` crashed in RakuAST::Type::Subset.PERFORM-BEGIN's IMPL-INSTALL-PACKAGE call. This broke JSON::Unmarshal whose t/070-parameterised uses ... (39 more lines) |
09:09 | ||
|
09:48
librasteve_ joined
13:54
hurufu left
14:10
hurufu joined
15:09
librasteve_ left
16:03
vrurg_ joined,
vrurg left
|
|||
| Geth | rakudo/lizmat-10: 7efdf7996e | (Elizabeth Mattijsen)++ | 2 files RakuAST: synthetically build accessors *and* POPULATE This commit removes the use of compiler services to create class accessors, but instead builds synthetic RakuAST trees that are added as methods. It also builds the POPULATE logic using the same logic iterating ... (7 more lines) |
16:11 | |
| rakudo: lizmat++ created pull request #6221: RakuAST: synthetically build accessors *and* POPULATE |
16:12 | ||
|
16:20
librasteve_ joined
|
|||
| ab5tract | lizmat++ && ugexe++ | 16:35 | |
|
17:12
lizmat left,
lizmat joined
|
|||
| lizmat | . | 17:45 | |
| Geth | rakudo/lizmat-10: 7f4051873a | (Elizabeth Mattijsen)++ | src/Raku/ast/package.rakumod RakuAST: make accessor / POPULATE building work This commit actually makes the whole logic work, at least for the simple cases that I've checked so far. This also: - updates resolver to know about the package scope (ugexe++) - removes the RakuAST::CompilerServices class completely - cleans up accessor building - makes sure POPULATE is only made if there is no method already |
18:06 | |
|
18:29
librasteve_ left
|
|||
| Geth | rakudo/lizmat-10: 485287a425 | (Elizabeth Mattijsen)++ | src/Raku/ast/package.rakumod RakuAST: be a bit smarter finding out native type Apparently this broke in the RakuAST bootstrap |
18:41 | |
| rakudo/lizmat-10: c3f3173084 | (Elizabeth Mattijsen)++ | src/Raku/ast/package.rakumod RakuAST: eradicate some more Compiler::Services stuff The attribute for keeping QAST is no longer needed, so remove it |
20:05 | ||
| lizmat | ugexe: t/12-rakuast/terms.rakutest fails with: | 20:08 | |
| Cannot find method 'push-scope' on object of type NQPMu | 20:09 | ||
| in any PRODUCE-META-OBJECT at src/Raku/ast/package.rakumod line 830 | |||
| which is caused by apparently not getting a resolver | |||
| and that's apparently because the CompUnit doesn't have a resolver in $!resolver | 20:28 | ||
| ugexe | lizmat: you're going to need to fix stuff like this github.com/lizmat/path-utils/blob/...od#L16-L31 | 20:30 | |
| lizmat | Serialization Error: missing static code ref for closure '' (src/Raku/ast/code.rakumod:140) you mean ? | 20:32 | |
| ugexe | yes, but more specifically the way you are accessing private attributes and using them | 20:33 | |
| lizmat | not sure what I would need to do differently? perhaps it would be better to create a Block.WhateverCode coercer ? | 20:35 | |
| in core? | |||
|
20:37
hurufu left
|
|||
| ugexe | in this case you are holding references from compstuff and dragging compile time captures into the serializer | 20:37 | |
| and im not convinced the cost of doing the book keeping in rakudo to clear that internal attribute for these type of instances are worth it | 20:38 | ||
| lizmat | yeah, I think you're right, will remove that hack | 20:41 | |
| ugexe | re POPULATE | 20:42 | |
| yeah i guess $!resolver has been cleared by the time you need it. maybe try to build the POPULATE method earlier, maybe in in RakuAST::Class.PERFORM-CHECK when the resolver should still be live. then stash the produced meta object on the ast | |||
| lizmat | ok, will try that | 20:43 | |
| path-utils updated | 20:48 | ||
| yup, that fixes it | 20:58 | ||
| Geth | rakudo/lizmat-10: fe76f6e8a8 | (Elizabeth Mattijsen)++ | src/Raku/ast/package.rakumod RakuAST: move accessor / POPULATE creation to CHECK time This appeases the RakuAST tests in "make test", suggested by ugexe++ |
20:59 | |
| lizmat | afk for a bit& | ||
| Geth | rakudo/lizmat-10: 3edca1a1ff | (Elizabeth Mattijsen)++ | src/Raku/ast/package.rakumod RakuAST: make sure resolver is always restored When there was already a POPULATE method, the resolver was not properly restored to its previous state |
22:18 | |
| rakudo: ugexe++ created pull request #6223: RakuAST: declare the anonymous state variable for assign meta-operators |
22:23 | ||
| rakudo: ugexe++ created pull request #6224: RakuAST: clean up orphan IMPL-STUB-CODE freshcoderefs at end of compile |
22:24 | ||
| rakudo: ugexe++ created pull request #6225: RakuAST: silent-replace prior `package` declarator under multi-part names |
22:37 | ||
| ugexe | someone should fix json::fast under rakuast sometime. basically just replacing some ++$pod instances passed to is rw parameters need to be replaced with the nqp ops it uses to increment elsewhere | 22:39 | |
| s/$pod/$pos/ | 22:40 | ||
|
22:44
lizmat_ joined,
lizmat left
|
|||
| japhb | ugexe: I suspect I might have similar stuff in CBOR::Simple (and maybe BSON::Simple). Do those work for you, or do I need to work up some fixes in those? | 22:56 | |
| japhb has been slowly bisecting something that broke his use of Red sometime in the 2026.05 dev cycle ... god this is slow on a laptop. | 22:57 | ||
| ugexe | I just tried CBOR::Simple and it appears that RakuAST returns Hash[Mu, Mu] for my %h{Mu} where legacy returns Hash[Any, Mu] | 23:58 | |