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:00 frost joined 00:05 reportable6 left 00:07 reportable6 joined 01:17 linkable6 left, evalable6 left 01:19 evalable6 joined 01:20 linkable6 joined 03:20 evalable6 left, linkable6 left, linkable6 joined 03:21 frost left 03:22 evalable6 joined 04:22 evalable6 left, linkable6 left 04:23 evalable6 joined, linkable6 joined 05:18 Geth left 06:05 reportable6 left 06:06 reportable6 joined
Nicholas Today’s coffee bootstrapping problem - the AeroPress does not make very good coffee if you forget to put the filter paper in. 07:15
(good *, *)
nine Is it a bit chewy? 07:33
Nicholas well, there's a *lot* of coffee grouns in the original mug, but the mug I filtered it into is doing OK 07:34
oops, "spoke" too soon. Have just reached the bottom, and there were some coffee grounds 07:35
07:54 frost joined
nine That can still count as ok 07:54
09:04 sena_kun left 09:07 sena_kun joined 09:52 Geth joined 10:00 Geth left, Geth joined 10:02 RakuIRCLogger joined
jnthnwrthngtn Coffee was successfully made here today. :) 10:06
Nicholas \o/ 10:07
nine jnthnwrthngtn: brane cooperating better today?
jnthnwrthngtn A bit; didn't catch up quite as much on sleep as hoped because somebody was getting some construction work done starting from earlier than ideal. 10:12
nine jnthnwrthngtn: pushed a couple commits to rakuast 10:43
10:50 Altai-man joined
jnthnwrthngtn nine: Cool. Just spectested them while lunching, still on 321. Will take a look over them. 11:55
nine: Was reading one commit and was like "ah, I should point at StubbyMeta"...then came across the one where you found it anyway :D 12:03
12:05 reportable6 left
jnthnwrthngtn nine++ # commits look good 12:06
12:07 reportable6 joined
nine \o/ 12:09
The PACKAGES thing was the 3rd iteration already :D
Next up: colon pairs, as Test has multi sub trait_mod:<is>(Routine:D $r, :$test-assertion!) is export 12:10
12:17 frost left
jnthnwrthngtn Ah, you're on the "compile Test" mission? :) 12:21
I think `multi` will be the blocker before that; I put it off until after new-disp
nine Yes, I am. Probably not the easiest entry into the project, but now that I've started, I'm curious where it leads me 12:27
13:14 frost joined
[Coke] (coffee) ugh, I need to stop using k-cups. :| 13:40
nine++ jnthnwrthngtn++ 13:41
13:46 frost left
nine m: dd sub foo:$bar() { } 14:04
camelia Sub foo: = sub foo: { #`(Sub|4492199190672) ... }
nine jnthnwrthngtn: is this ^^^ the reason why deflongname doesn't just use <colonpair>* like in the old parser? 14:05
jnthnwrthngtn nine: I think I only commented out <colonpair>* 'cus it's not implemented/used in any way yet 14:20
nine Ah, ok. It now is :) 14:21
m: dd sub foo:bar<baz>:$qux() { } # never realized that this is legal syntax
camelia Sub foo:bar<baz>: = sub foo:bar<baz>: { #`(Sub|2707841213400) ... }
jnthnwrthngtn It is, although dubious semantics :) 14:22
nine What's a placeholder signature? 14:51
jnthnwrthngtn { :$^foo } 14:52
Funnily enough I'm looking at an issue around that right now :)
nine Routine resolves the placeholder-signature but not the plain normal signature in PERFORM-BEGIN. Doing the latter, too, gets me further 14:53
Well, now there's no avoiding multi anymore 14:54
jnthnwrthngtn OK, phew, today I managed to fix the { $^foo } compilation bug that defeated me last time I looked at it :) 15:16
It gets me no more fully passing spectest files, but a lot further into at least one more file 15:17
[Coke] Do rewrites like this highlight anything we can be doing in roast to better isolate features? 15:28
nine Somehow a simple if $!signature { 16:05
$!signature.IMPL-CHECK($resolver, True); } causes weird regressions like turning default argument types to Mu instead of Any
(in RakuAST::Routine.PERFORM-BEGIN) 16:06
[Coke] getting an error building on windows: moarvm complaining it cannot find stdatomic.h, no such file 16:10
jnthnwrthngtn nine: It'll be dupe-checking if you do that 16:11
And it shouldn't really be checked at BEGIN time either
The only reason we do it for placeholder signatures is because they are generated and so not actually in the AST
Oh, wait, True there means resolve only
But still, I'm surprised it's needed 16:12
nine Traits need those types to be resolved
jnthnwrthngtn Which types? 16:13
The implicit lookups? 16:14
nine parameter types 16:15
Traits need a decl-target, which we get from the compile-time-value of the target which we get via meta-object which tries to process the signature 16:16
Ah, I think at that time the args aren't attached yet, so they have no owner so this check fails: nqp::istype($!owner, RakuAST::Routine) ?? Any !! Mu 16:33
Timing is everything
jnthnwrthngtn Up to 324 passing, plus some others getting further 17:11
(either with compilation or running)
2 just from correct exception type for undeclared routine
home time & 17:12
17:17 Altai-man left 18:05 reportable6 left 18:07 reportable6 joined
nine Tell, don't ask! 18:16
I'd say an argument shouldn't determine its own default type based on its owner. It should be told what type to use 18:17
18:59 sena_kun left 19:08 sena_kun joined 22:38 nebuchadnezzar left