Perl 6 language and compiler development | Logs at colabti.org/irclogger/irclogger_log/perl6-dev | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
Set by Zoffix on 27 July 2018.
vrurg Am I right that nqp doesn't support method overloading? 00:33
timotimo i think it can only do sub overloading, and only for the type of the first argument or something like that 00:34
vrurg thanks! 00:35
01:54 Kaiepi joined, commavir left 01:55 commavir joined 02:00 Kaiepi left 02:26 AlexDani` joined 02:28 AlexDaniel left 03:13 MasterDuke joined, MasterDuke left, MasterDuke joined 03:16 lgtaube left
Geth rakudo: vrurg++ created pull request #2715:
Issue 2698
03:31
03:36 lgtaube joined 03:44 lgtaube left
Geth roast: vrurg++ created pull request #513:
Added tests covering github.com/rakudo/rakudo/issues/2698
03:51
03:57 Kaiepi joined 03:59 lgtaube joined 04:31 Tux__ joined, |Tux| left 04:51 llfourn_ joined 04:52 llfourn left 09:16 Tux__ is now known as |Tux|
|Tux| Rakudo version 2018.12-311-gd6563816e - MoarVM version 2018.12-110-g04982f6e9
csv-ip5xs0.744 - 0.748
csv-ip5xs-206.102 - 6.334
csv-parser22.204 - 22.427
csv-test-xs-200.436 - 0.438
test7.738 - 7.788
test-t1.882 - 1.955
test-t --race0.870 - 0.966
test-t-2030.895 - 31.169
test-t-20 --race10.239 - 10.248
09:33
11:36 Kaiepi left 12:25 lucasb joined 12:35 dogbert2_ left 13:32 Kaiepi joined 13:40 dogbert2_ joined 13:53 Kaiepi left
lucasb hmm, there's String.match(Regex). can I has Regex.match(String) too? 14:06
jnthn It'd be odd; we tend to have many operations coercing their invocant into the appropriate thing 14:08
42.match(/\d/) for example
If you really want a method form, then Regex.ACCEPTS(String) does the job 14:09
lucasb ok, makes sense :) 14:11
14:51 AlexDani` is now known as AlexDaniel 15:52 Kaiepi joined
vrurg jnthn: do you have a minute? 17:07
jnthn vrurg: Sort of :) 17:09
Probably a few of them, even
vrurg ParametricRoleGroupHOW uses non-signatured role for role_typecheck_list but the first one for get_default. Don't you think that the first is more correct and get_default must first find a non-signatured role? 17:10
I mean, when the group type-matches agains one role but does lookups on another candidate ā€“ it's confusing.
jnthn looks 17:11
vrurg: Yes, agree, first non-signatured makes sense, though then we should decide what to do if there sin't one 17:13
*isn't
vrurg Then the first candidate steps in. role typecheck would remain empty then which seems logical to me.
Actually, it should be more complicated, but better keep it simple. 17:14
I'll give it a try this way. 17:15
BTW, can't think out a way to get two non-signatured candidates in the same group... 17:25
jnthn m: role R { }; role R { } 17:26
camelia ( no output )
jnthn You can do that, but it's never going to let you compose them :)
m: role R { }; role R { }; class C does R { }
camelia 5===SORRY!5=== Error while compiling <tmp>
No appropriate parametric role variant available for 'R'
at <tmp>:1
jnthn Should perhaps whine that it's ambiguous
BTW, one other thing about why we put off so much until the final class... 17:27
::?CLASS is a first implicit parameter 17:28
We don't yet let that be mentioned in the signature, however 17:29
Which is arguably wrong in that it's really an implicit first parameter, a bit like self
vrurg Ah, I know. it took me a whole day to figure out why I can't get the right candidate match. 17:30
jnthn That said, the role body can use ::?CLASS within it 17:31
So we probably don't want to invoke it :)
vrurg But, yeah, my phrase should've sounded more like: can't think of how multiple non-signatured could be used.
jnthn (If trying to reason about role relationships a bit earlier)
Though then we don't get a type environment within which to evaluate other things 17:32
Things like `role R[::T, ::U = T.something] does S[U] { }` could exist
vrurg I have to realize what type envornment is, yet. And, BTW, what I lack very much now is comprehencive documentation on ops and a good big article/book on the compiler internals. 17:36
vrurg is dreaming...
jnthn Well, we just use the lexpad (lexical storage) for it. instantiate_generic receives this, finds GenericHOW things, grabs their name, and resolves them using that environment into whatever they are bound to 17:38
So after the signature bind of the role above, T and U are bound to some values. S[U] is a curried role, we then do generic instantiation of it, which will resolve the U into whatever U was bound do 17:39
Giving, say, an R[Int] 17:40
So it's just a fancy way of saying: we use the lexical storage like a hash to look up names it, and those names come from the GenericHOW metaobject of type variables, like those represented by the type object U. 17:41
*look up names in
vrurg jnthn: This is the level at which I understand things. It's just the technical details about the environment, lexpad, etc. ā€“ which I don't know yet. Just resolving things as soon as I need them using deep source scan and loads of debug prints. :)
The last part was the most useful to me! ;) 17:42
Thanks!
BTW, I would greatly appreaciate if PR#2715 would be merged as this is my stopper to work on 2250 and 2677 17:50
17:54 Kaiepi left
jnthn Yeah, I need to look through it and figure out what it does :) 17:57
vrurg Sure. I just hope that as long as it doesn't break spectest... ;) 18:00
18:20 patrickb joined 18:59 ufobat__ joined 19:02 ufobat_ left 19:28 MasterDuke left 19:50 Kaiepi joined
Geth rakudo: vrurg++ created pull request #2717:
Fix for #2714
20:56
synopsebot RAKUDO#2714 [open]: github.com/rakudo/rakudo/issues/2714 Role inheriting from a class fails type checking against that class
Geth roast: vrurg++ created pull request #514:
Issue 2714
21:01
vrurg patrickb: did you see my comment on Mac compiling for relocatable version? 21:05
patrickb vrurg: I didn't. Where do I have to look?
vrurg On github, in your repo. I though github will email you with a note.
Anyway, its simple. Use @executable_path for rpath. That's it, it works. 21:06
patrickb Wow.
Still searching for the note though :-P 21:07
vrurg It's in a commit related to changes in Configure.pl to mac linking. 21:08
Remind me your repo link, pls.
patrickb github.com/patzim/MoarVM/tree/reloc
vrurg Hm, it's gone! :( 21:09
patrickb :(
vrurg Perhaps I forgot to click the 'add' button. Anyway, I made a new one. 21:10
patrickb vrurg: Great! 21:11
vrurg Don't have much time. Trying to re-check if it works again. 21:12
patrickb vrurg: see github... 21:15
vrurg I'll comment over there to keep the history.
Done. Minor correction. Works for me. 21:18
vrurg has to go.
patrickb Thank you! 21:19
22:54 lucasb left 23:07 Kaiepi left