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.
00:07 reportable6 left 00:08 reportable6 joined 02:24 frost joined 04:22 frost left 05:22 evalable6 left, greppable6 left, bisectable6 left, notable6 left, shareable6 left, statisfiable6 left, tellable6 left, benchable6 left, reportable6 left, releasable6 left, linkable6 left, committable6 left, bloatable6 left, unicodable6 left, quotable6 left, coverable6 left, sourceable6 left, nativecallable6 left, greppable6 joined, nativecallable6 joined 05:23 notable6 joined, shareable6 joined, statisfiable6 joined, sourceable6 joined, bisectable6 joined 05:24 coverable6 joined, quotable6 joined, committable6 joined, evalable6 joined, tellable6 joined, bloatable6 joined, benchable6 joined, linkable6 joined, releasable6 joined 05:25 reportable6 joined, unicodable6 joined
Nicholas good *able6, #moarvm 06:04
06:07 reportable6 left 06:08 reportable6 joined 06:56 TempIRCLogger left, jjatria left 07:01 TempIRCLogger joined 07:03 jjatria joined 07:16 japhb left 07:18 japhb joined 07:21 frost joined 07:26 frost left 07:31 frost joined 07:48 frost95 joined 07:49 frost95 left 07:52 frost left 07:54 frost joined 08:54 evalable6 left, linkable6 left 08:55 linkable6 joined 08:56 evalable6 joined 09:50 frost left 09:58 Kaiepi left 10:07 Altai-man joined 10:18 frost joined 10:43 Kaiepi joined 12:07 reportable6 left 12:09 reportable6 joined
nine Type captures are weird. They are parameters but actually parse as type constraints 12:48
13:12 evalable6 left, linkable6 left 13:13 linkable6 joined 13:14 evalable6 joined
nine Parametric roles are a deep rabbit hole. Type captures were just the start. BEGIN time calls to the role's body block are a bit of a different beast. 14:18
14:19 frost left
dogbert17 nine: you always seem to fall into rabbit holes :) 14:24
japhb "I wonder why it's so dark under that tree ..." 14:36
MasterDuke huh, commaide.com/subscriber/home only shows 2022.02 for download, but i already have 2022.04... 14:58
jnthn Hmm 14:59
MasterDuke looks like it's fixed now (i.e., showing 2022.04) 15:09
jnthn Yeah, for me too.
Nicholas jnthn: you're now registered as jnthn? 15:11
jnthn No, just IRC client seems to like this do this on reconnect 15:13
Nicholas aha OK
nine How on earth can a WVal that's a Block at compile time turn into an (EXPORT) at deserialize time? 15:24
jnthn Wrong SC somewhere? 15:27
nine No idea how that would happen. I'm only trying RAKUDO_RAKUAST=1 ./rakudo-m --ll-exception -e 'my role IntTypedCArray[::TValue] { method foo() { TValue } }; my class Foo does IntTypedCArray[Int] { }; Foo.new.foo' 15:33
The WVal in question is $code-obj (the role's body) in IMPL-LINK-META-OBJECT github.com/rakudo/rakudo/blob/raku...akumod#L76 15:34
I get the same SC handle at all times 15:48
Huh.... it's somehow the experimental self.IMPL-INTERPRET(RakuAST::IMPL::InterpContext.new) call in the body's stub 15:53
jnthn: I understand the plan for BEGIN time execution is to just interpret the AST. How would that work with role bodies which end with nqp::list($?PACKAGE, nqp::curlexpad)? Wouldn't the interpreter have to come up with a lexpad then? 16:42
jnthn nine: The plan is to interpret simple, compile others, and the plan for compile was to get the VM involved with some kind of way of telling it that a lexical lookup was actaully to be delegated to something that would do a late-bound symbol lookup under the control of the compiler (rather than the fake environment trick we have today 16:44
nine Ok, that makes more sense of course. It also raises the "oh boy, am I really going to try to implement that?" question 16:46
jnthn :) 16:51
nine Actually I think with just little adjustments to the metamodel code, I could avoid full BEGIN time compilation a while longer. After all that lexpad is only used to resolve generics. Wouldn't be hard to make that work a little differently at compile time 16:53
And that may actually make sense regardless of my trepidation. Role bodies are mostly boring blocks that would be fast to interpret. And they are common. 16:55
jnthn Well, the main problem is the clone of the methods, which have to close over ::?CLASS in order to do attribute access 16:57
nine Ah, yes, of course. That's actually something I have come across just earlier today. I don't think those closures are implemented yet 17:24
17:31 Altai-man left 18:06 reportable6 left, reportable6 joined 18:18 sena_kun left 18:19 sena_kun joined 18:45 CaCode joined 18:51 [Coke] left 19:25 [Coke] joined 21:12 discord-raku-bot left, discord-raku-bot joined 22:51 CaCode left