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| |
|
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
|