04:46 hurufu joined 04:47 hurufu left 04:49 hurufu joined 04:54 hurufu left 04:58 hurufu joined 08:23 [Tux] left 08:25 [Tux] joined 09:05 donaldh left 09:33 donaldh joined
lizmat I wonder whether this is an indication of madness in the .DUMP logic, or an indication of something deeper being wrong / less than ideal 11:53
m: class A { has $.a = now }; dd A.^attributes.head.DUMP
camelia Use of uninitialized value element of type Any in string context.
Methods .^name, .raku, .gist, or .say can be used to stringify it to something meaningful.
in block <unit> at <tmp> line 1
Use of uninitialized value element of type Any in stri…
lizmat hmmm 11:54
this is what I see: gist.githubusercontent.com/lizmat/...output.txt 11:57
ugexe the bot only shows you the first X characters. is see the same thing as the bot plus what is in your gist 13:49
s/is see/i see/
13:58 apogee_ntv joined
ugexe i think its a problem with DUMP deduping 14:05
cycle detector, whatever you wanna call it 14:06
lizmat yeah, probably, but I don't see why it would need to dedupe anything 14:13
ugexe yeah i guess that would be more root-causey. i was guessing it was iterating over things and comparing identities in a way that cause it to walk a given chain multiple times 14:23
"The root cause: ForeignCode.$!do returns the wrapped Code, but reading it through Raku method dispatch auto-boxes the underlying MVMCode into a fresh ForeignCode wrapper every single time. Walking .get_value through $!do recursively never bottoms out — each level produces a new wrapper with a new address, so DUMP's cycle detector (keyed on nqp::where) sees genuinely-distinct objects." 14:26
"Cleanest fix: give ForeignCode its own DUMP that doesn't recurse. Following the existing pattern (Bool, Numeric, etc. all have their own DUMP multis)"
i guess i was sort of right 14:27
14:50 [Tux] left 14:55 [Tux] joined
Geth raku.org: librasteve++ created pull request #320:
Adopt to some Air changes
15:21
raku.org/main: 6 commits pushed by librasteve++
lizmat ugexe: I'm considering ripping out the Attribute specific stuff from RakuAST::VarDeclaration::Simple and put that in a RakuAST::AttributeDeclaration class 15:34
there's just too much Attribute specific stuff in VD::S and I feel it's hindering maintenance 15:35
m: class A { has $.foo::bar }
camelia ( no output )
lizmat I don't think something like ^^ should be allowed 15:36
thoughts ?
also thoughts on POPULATE 15:38
I see that if an attribute default is something more complex than just a literal value, it generates a method that will put that code in there 15:39
in the BUILDPLAN then that method will be called if the named arg isn't specified
I guess that's done to make sure that "self" is known, so that atttribute references work
however, if we codegen the entire POPULATE method from scratch, we already have a "self" there, so all attribute references would just work 15:40
so I think we can get rid of the method and its call, and just codegen the AST for the initializer into POPULATE itself 15:41
so that something like:
class A { has $.a = now }
would codegen to: "$!a = now" instead of having a method: method { return now } and then call that method 15:42
so effectively: $!a = self.method
I think I understand the reasoning why it was implemented this way, because Mu.POPULATE doesn't know of the context, so it needed a method call to provide the context 15:43
but now in RakuAST we don't need the BUILDPLAN (once the new POPULATE is active) *and* we don't need a method call anymore 15:44
does that make sense ?
15:57 hurufu1 joined 15:59 hurufu left, hurufu1 is now known as hurufu 17:14 hurufu left 17:15 hurufu joined 17:24 hurufu left 17:25 hurufu1 joined 17:27 hurufu1 is now known as hurufu
ugexe i don't disagree with anything you said 17:31
[Tux] Rakudo v2026.05-37-gffecffdae (v6.d) on MoarVM 2026.05-3-g236fcdf7c
csv-ip5xs0.266 - 0.267
csv-ip5xs-201.060 - 1.061
csv-parser1.055 - 1.073
csv-test-xs-200.115 - 0.115
test1.747 - 1.865
test-t0.459 - 0.476
test-t --race0.284 - 0.288
test-t-205.800 - 6.054
test-t-20 --race1.390 - 1.403
18:48
csv-test-xs 0.014 - 0.015
tux.nl/Talks/CSV6/speed4-20.html / https
19:06 hurufu1 joined 19:10 hurufu left, hurufu1 is now known as hurufu 19:57 ShimmerFairy left, rnddim joined 20:11 apogee_ntv left, apogee_ntv joined 20:16 apogee_ntv left 20:17 apogee_ntv joined 20:43 hurufu left