Welcome to the main channel on the development of MoarVM, a virtual machine for NQP and Rakudo (moarvm.org). This channel is being logged for historical purposes.
Set by lizmat on 24 May 2021.
nine jnthnwrthngtn: what's the plan here? github.com/rakudo/rakudo/blob/raku....nqp#L1635 12:34
I need that to make multi part variable names like $PROCESS::OUT work. 12:35
jnthnwrthngtn nine: Why does that need colonpairs? But I think the way will be to give RakuAST::Name an attribute that is a list of RakuAST::ColonPair (not entirely unlike the approach taken in RakuAST::QuotedMatchConstruct) 12:43
jnthnwrthngtn is picking of =finish support, to have an easy thing to get done in a spare moment 12:44
*off
nine Oh, I totally missed that there's a RakuAST::Name and that this already is made from a list of parts. So it's just RakuAST::Var::Lexical that will want that destructured name in addition or instead of the stringified name 12:48
Is $PROCESS::OUT even a lexical? Isn't that more something different like a package variable? 12:57
jnthnwrthngtn I think we consider PROCESS a kind of pseudo-package 12:58
I didn't do anything towards handling those yet 12:59
(And didn't think very deeply about it, beyond that it'd be nice to compile some of the simple cases into things that don't actually create a PseudoStash) 13:00
nine Yes, Perl6::World handles PROCESS as a pseudo package. There's a lookup hash for them
jnthnwrthngtn (Although PROCESS ain't one of those)
nine Apart from the pseudo special case, would "package variable" be the right term and would that imply the need for a RakuAST::Var::Package? 13:01
lizmat in my experience, PROCESS:: is initially a BOOTHash, and then somehow turns into a Stash
recently had to do a fix for that 13:02
jnthnwrthngtn I think even the pseudo special case would be a RakuAST::Var::Package that contains a RakuAST::Var::Name 13:03
lizmat oops, no, misremembered: it was GLOBAL.WHO
c08d2ee9f855e1dc91722191f9f6d727d8c7d3c3 13:04
jnthnwrthngtn oops, sorry
I think even the pseudo special case would be a RakuAST::Var::Package that contains a RakuAST::Name
And that an amount of the pseudo-package handling has to go into RakuAST::Name. Especially because things like `class GLOBAL::Foo { }` are possible, so it's not just about variables.
nine Ok, thanks! I'll see how far I get. 13:05
jnthnwrthngtn And of course I still don't pass the `=finish` tests because...they use heredocs! 13:09
Happy hacking, I'm afk for a bit
unmatched-paren hi! :) i'm trying to build moarvm 2022.03 from source, but there seems to be an issue with the cmp fork it uses as a submodule... 18:30
when i run the tests, it invokes *Sanitizers left, right, and centre
if i patch out the problematic tests, i get loads of memory leaks 18:31
nine unmatched-paren: you mean cmp's tests?
unmatched-paren yeah
nine I think those are not usually run during our build
unmatched-paren the other thing: the makefile is configured to use -Werror, which causes GCC to complain about casts from `size_t` to `int` 18:32
hm, okay
i'm packaging the latest version of MoarVM, NQP, and Rakudo in GNU Guix <guix.gnu.org> as i'd like to learn Raku but the packages are quite out of date, and guix tries not to vendor things, but if it's necessary for it to work then it's fine 18:33
thanks, nine
it's compiling now \o/ 18:43
hah, just as i said that the build failed :P
successfully built /gnu/store/8x0r4wxwpp6nxffizd2py0gy49bfj969-moarvm-2022.03.drv 18:52
ok, it works! nine: thanks again!
nine cool :) 18:59
[Coke] o/ 19:10