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:08 reportable6 left 00:09 reportable6 joined 01:09 linkable6 left 01:10 linkable6 joined 02:10 bloatable6 left, benchable6 left, linkable6 left, greppable6 left, quotable6 left, coverable6 left, releasable6 left, shareable6 left, tellable6 left, statisfiable6 left, committable6 left, greppable6 joined 02:11 committable6 joined, linkable6 joined 02:12 statisfiable6 joined, benchable6 joined, tellable6 joined, bloatable6 joined, coverable6 joined, shareable6 joined 02:13 releasable6 joined, quotable6 joined 03:48 Kaiepi left 04:19 sena_kun joined 05:19 benchable6 left, reportable6 left, bloatable6 left, linkable6 left, unicodable6 left, coverable6 left, notable6 left, bisectable6 left, greppable6 left, committable6 left, nativecallable6 left, statisfiable6 left, sourceable6 left, releasable6 left, evalable6 left, quotable6 left, tellable6 left, shareable6 left, bisectable6 joined, greppable6 joined, unicodable6 joined 05:20 bloatable6 joined, committable6 joined, sourceable6 joined, coverable6 joined, shareable6 joined 05:21 linkable6 joined, reportable6 joined, releasable6 joined, benchable6 joined, statisfiable6 joined 05:22 notable6 joined, tellable6 joined, quotable6 joined, evalable6 joined, nativecallable6 joined 06:08 reportable6 left, reportable6 joined 07:51 evalable6 left, linkable6 left 07:53 evalable6 joined 07:54 linkable6 joined 09:08 Kaiepi joined 10:27 Kaiepi left 10:28 Kaiepi joined 10:30 Kaiepi left 10:31 Kaiepi joined
nine There is just no better way to learn really all about a language than implementing a compiler for it. Suddenly I understand how ParametricRoleHOW, ParametricRoleGroupHOW and CurriedRoleHOW fit together. 11:52
11:57 discord-raku-bot left 11:58 discord-raku-bot joined 12:07 reportable6 left, reportable6 joined 12:27 discord-raku-bot left 12:32 discord-raku-bot joined
nine Huh....timing does seem to become a bit of an issue now and then in RakuAST 15:09
dogbert17 how is that possible? 15:11
nine Like when to add a parametric role to its role group. At BEGIN time (when we find or create the group) the role doesn't have a compiled body block yet, so we can't add then. At the time we create the meta object it's too late as in the mean time we may want to specialize the role for a class.
15:31 linkable6 left, evalable6 left, linkable6 joined 15:33 evalable6 joined
nine Yet in the end it's ye good olde semipredicate problem again. Role groups are themselves type objects, i.e. not concrete, thus if $group just doesn't do what I meant 15:42
preventing PRODUCE-META-OBJECT from actually adding the role to its group
15:57 RakuIRCLogger left 15:58 RakuIRCLogger joined 16:02 RakuIRCLogger left, RakuIRCLogger joined 17:02 evalable6 left, linkable6 left 17:03 evalable6 joined, linkable6 joined
nine We haz role groups! 17:28
Now the final piece of the puzzle seems to be currying of roles.
lizmat nine++ 17:36
meanwhile on SO: stackoverflow.com/questions/724165...-from-rust
nine I don't think we support structs as value types 17:51
At least for return values 17:52
17:52 [Coke] left
nine m: role Foo[$i] { }; sub foo(Foo:D[Int]) { }; foo(Foo[Int]) 18:02
18:02 [Coke] joined
camelia Parameter '<anon>' of routine 'foo' must be an object instance of type
'Foo', not a type object of type 'Foo[Int]'. Did you forget a '.new'?
in sub foo at <tmp> line 1
in block <unit> at <tmp> line 1
nine m: role Foo[$i] { }; sub foo(Foo:D[Int]) { }; foo(Foo[Str].new)
camelia ( no output )
nine Somehow, I don't think that's right 18:03
Makes me realize, that I may have done RakuAST::Type::Coercion and RakuAST::Type::Definedness wrong. They should take a base type instead of a type name, so they become composable. 18:06
18:07 reportable6 left 18:10 reportable6 joined 19:18 japhb left 20:51 evalable6 left, linkable6 left, evalable6 joined 20:54 linkable6 joined