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:06
reportable6 left
00:07
reportable6 joined
01:43
benchable6 left,
sourceable6 left,
evalable6 left,
unicodable6 left,
shareable6 left,
bloatable6 left,
statisfiable6 left,
coverable6 left,
bisectable6 left,
quotable6 left,
tellable6 left,
releasable6 left,
greppable6 left,
notable6 left,
reportable6 left,
linkable6 left,
committable6 left,
nativecallable6 left,
shareable6 joined
01:44
benchable6 joined,
unicodable6 joined,
bisectable6 joined,
committable6 joined,
evalable6 joined,
coverable6 joined,
quotable6 joined,
nativecallable6 joined,
bloatable6 joined
01:45
statisfiable6 joined,
linkable6 joined,
reportable6 joined
01:46
greppable6 joined,
sourceable6 joined,
tellable6 joined,
notable6 joined,
releasable6 joined
03:21
evalable6 left,
linkable6 left,
evalable6 joined,
linkable6 joined
06:07
reportable6 left
06:08
reportable6 joined
|
|||
nine | "into native integer" sounds like it's trying to write into a native _signed_ int. That's why it thinks the value is too large | 06:58 | |
07:08
linkable6 left,
evalable6 left
07:09
evalable6 joined
07:10
linkable6 joined
07:12
[Coke]_ joined
07:14
[Coke] left
|
|||
nine | 423! | 08:17 | |
I think commits like github.com/rakudo/rakudo/commit/ae...e9d6f8af2d why it's so much more joy to implement features in RakuAST than it was on the old compiler frontend. Good luck with even finding all the bits of sub-signature support in the latter. | 08:18 | ||
09:15
dogbert17 left
09:54
dogbert17 joined
10:15
sena_kun left
10:16
sena_kun joined
10:19
dogbert17 left
11:16
sena_kun left
11:18
sena_kun joined
12:07
reportable6 left
12:08
frost joined
|
|||
nine | LOL RakuAST does crazy things like sub signature declarations and auto generated protos, but then stumbles over a basic %h<foo>:exists. | 12:08 | |
Though to be fair, that looks far more innocent than it is. | |||
lizmat | indeed: I remember Larry telling that parsing that was really breaking "only parse once" rule | 12:09 | |
12:09
reportable6 joined
|
|||
nine | It's also one of the few features where I really don't understand what they are there for. Why go to all the trouble, complicating the compiler, when a simple %h.has-key('foo') would have been just as good and not introduce this weird special syntax for passing named args? | 12:11 | |
How many Raku programmers won't see %h<foo>:exist as anything but some special magic syntax? | 12:12 | ||
lizmat | %h.EXISTS-KEY("foo") | 12:15 | |
works | |||
fwiw, I think the power of :adv only comes into play with slices | |||
m: my %h = :42a, :666b; dd %h<a b>:p | 12:16 | ||
camelia | (:a(42), :b(666)) | ||
jnthn | Ah, operator adverbs... They're parsed as fake infixes and then re-arranged, iirc. | 13:00 | |
Don't believe they violate one-pass parsing though | 13:01 | ||
They're just an annoyance when constructing expression ASTs | |||
13:09
evalable6 left,
linkable6 left
13:11
evalable6 joined
13:12
linkable6 joined
|
|||
lizmat | well, I knew there was something tricky there, as I remember it taking Larry a long time to come up with that solution | 13:15 | |
Nicholas | I've seen this SEGV twice now: gist.github.com/nwc10/797b7e49d17a...faa32dcd1e | 13:30 | |
can't reliably reproduce | |||
nine | Well, that wasn't so bad after all and brought us up to 432 passing! | 13:31 | |
14:19
[Coke]_ is now known as [Coke]
15:29
linkable6 left,
evalable6 left,
linkable6 joined
15:31
evalable6 joined
15:45
frost left
15:54
rypervenche joined
16:10
[Coke] left,
[Coke] joined
16:15
[Coke] left,
[Coke] joined
17:13
sena_kun left
17:14
sena_kun joined
17:20
sena_kun left
17:21
sena_kun joined
18:08
reportable6 left
18:09
reportable6 joined
|
|||
MasterDuke | lizmat's example is calling MVM_args_get_named_int instead of MVM_args_get_named_uint | 19:02 | |
from param_on_i, obviously should be param_on_u | 19:03 | ||
looks like it's happening inside a QAST::IVal | 19:06 | ||
do we need a QAST::UVal? | |||
lizmat | not sure | 19:09 | |
m: class A { has int $.a = 42 }; use BUILDPLAN A | 19:10 | ||
camelia | class A BUILDPLAN: 0: nqp::bindattr_i(obj,A,'$!a',:$a) if possible 1: Don't know how to handle: (401, A, "\$!a", 42) |
||
lizmat | m: class A { has uint $.a = 42 }; use BUILDPLAN A | ||
camelia | class A BUILDPLAN: 0: vivify nqp::getattr(obj,A,'$!a') if part of a mixin 1: Don't know how to handle: (410, A, "\$!a", 42) |
||
lizmat | the "nqp::getattr(obj,A,'$!a')" is wrong | ||
that should be "nqp::bindattr_u(obj,A,'$!a',:$a) if possible" | 19:11 | ||
I guess BUILDPLAN will also need some TLC | |||
will look at that tomorrow | |||
nine | ++lizmat | 19:17 | |
20:15
linkable6 left,
evalable6 left,
evalable6 joined
20:17
linkable6 joined
20:45
sena_kun left
20:46
sena_kun joined
21:12
MasterDuke left
|