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. |
|||||||||||||||||||||||||||||||||||||||
jnthn | vrurg: Ah, I see. | 00:04 | |||||||||||||||||||||||||||||||||||||
Yeah, that makes sense. | 00:05 | ||||||||||||||||||||||||||||||||||||||
I'd probably do it by a different meta-object...I mean, GrammarHOW is very tiny :) | |||||||||||||||||||||||||||||||||||||||
A v6.e GrammarHOW too, configured with the correct version of the parent, is probably a way to go | 00:06 | ||||||||||||||||||||||||||||||||||||||
vrurg | Metamodel is not language-dependent, actually. | ||||||||||||||||||||||||||||||||||||||
jnthn | Trying to figure out "which Grammar" in DefaultParent feels fragile | ||||||||||||||||||||||||||||||||||||||
It ain't, but OTOH I think %*HOW is initially populated from CORE.setting | 00:07 | ||||||||||||||||||||||||||||||||||||||
And so can be versioned that way | |||||||||||||||||||||||||||||||||||||||
vrurg | Not really. A compunit always have a core attached. So, one can always find what's needed. | ||||||||||||||||||||||||||||||||||||||
jnthn | I forget precisely how it happens, perhaps an EXPORTHOW | ||||||||||||||||||||||||||||||||||||||
vrurg | EXPORTHOW, yes. | ||||||||||||||||||||||||||||||||||||||
jnthn | Could even declare the new GrammarHOW in the CORE.e.setting | 00:08 | |||||||||||||||||||||||||||||||||||||
vrurg | There is something with how it's what made me doubt if it worth touching. | ||||||||||||||||||||||||||||||||||||||
jnthn | Then it effectively is versioned :) | ||||||||||||||||||||||||||||||||||||||
vrurg | But, anyway, if the code works, it would probably worth making an op of it. There will be more and more situations when one would need to find a symbol from client's lexical. | 00:09 | |||||||||||||||||||||||||||||||||||||
jnthn | Maybe it can be figured out down in the metamodel, I'm just not sure I'd do it that way. It "feels" wrong somehow. | ||||||||||||||||||||||||||||||||||||||
vrurg | OTOH, I don't feel like multiplying HOWs is a good idea for as long as we don't really need it. | 00:11 | |||||||||||||||||||||||||||||||||||||
jnthn | Dunno, I'd much sooner have a new metaclass for new metabehavior. | 00:17 | |||||||||||||||||||||||||||||||||||||
Time to sleep o/ | 00:18 | ||||||||||||||||||||||||||||||||||||||
vrurg | o/ | 00:19 | |||||||||||||||||||||||||||||||||||||
timotimo | gn jn | ||||||||||||||||||||||||||||||||||||||
Geth | roast: ZhongnianTao++ created pull request #569: Add test for GB18030 encoding |
00:57 | |||||||||||||||||||||||||||||||||||||
01:16
MasterDuke left
01:28
lucasb left
|
|||||||||||||||||||||||||||||||||||||||
vrurg | m: class Foo { has int $.a; }; use nqp; my $f = Foo.new; nqp::bindattr($f, Foo, q<$!a>, 42); say $f.a | 02:27 | |||||||||||||||||||||||||||||||||||||
camelia | 0 | ||||||||||||||||||||||||||||||||||||||
vrurg | class Foo { has int $.a; }; use nqp; my $f := Foo.new; nqp::bindattr($f, Foo, q<$!a>, 42); say $f.a | ||||||||||||||||||||||||||||||||||||||
m: class Foo { has int $.a; }; use nqp; my $f := Foo.new; nqp::bindattr($f, Foo, q<$!a>, 42); say $f.a | |||||||||||||||||||||||||||||||||||||||
camelia | P6opaque: representation mismatch when storing value (of type Int) to attribute (of type int) in block <unit> at <tmp> line 1 |
02:28 | |||||||||||||||||||||||||||||||||||||
vrurg | ^ anybody with ideas as to why is it happening? | ||||||||||||||||||||||||||||||||||||||
m: class Foo { has int $.a; }; use nqp; my $f := Foo.new; nqp::bindattr($f, Foo, q<$!a>, nqp::unbox_i(42)); say $f.a | |||||||||||||||||||||||||||||||||||||||
camelia | P6opaque: representation mismatch when storing value (of type Int) to attribute (of type int) in block <unit> at <tmp> line 1 |
||||||||||||||||||||||||||||||||||||||
02:42
evalable6 left
02:47
evalable6 joined
|
|||||||||||||||||||||||||||||||||||||||
nine | AlexDaniel: please don't assume that just because someone's logged onto a channel, they will actually see all the messages. I certainly don't. | 03:22 | |||||||||||||||||||||||||||||||||||||
tellable6 | 2019-08-21T10:22:21Z #perl6-dev <tbrowder> nine ^^^ THANKS! | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | nine: so-o-oā¦ you want me to implement automatic .tell if the person didn't talk for a few hours? | 03:23 | |||||||||||||||||||||||||||||||||||||
I can do that | |||||||||||||||||||||||||||||||||||||||
to clarify, the discussion was about this behavior: | 03:24 | ||||||||||||||||||||||||||||||||||||||
MasterDuke: hello world! Just testing the bot | |||||||||||||||||||||||||||||||||||||||
tellable6 | AlexDaniel, I'll pass your message to MasterDuke | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | which currently only works if the person is not on the channel | ||||||||||||||||||||||||||||||||||||||
you can still use .tell | 03:25 | ||||||||||||||||||||||||||||||||||||||
to pass messages even to those who are still online | |||||||||||||||||||||||||||||||||||||||
nine | AlexDaniel: the old bot didn't try to be smart at all and just delivered the message. That sometimes led to some superfluous deliveries, but it was absolutely reliable. | 03:29 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | nine: this bot is even more reliable because it won't let you pass to non-existent nicknames | 03:32 | |||||||||||||||||||||||||||||||||||||
.tell ninez hello | |||||||||||||||||||||||||||||||||||||||
tellable6 | AlexDaniel, I haven't seen ninez around, did you mean nine? | ||||||||||||||||||||||||||||||||||||||
nine | Just because someone talked within the last few hours doesn't actually tell you if they are still there. The last message could very well be a "good night" followed by a busy day at work with loads of backlog | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | yeah, you're right, so I guess there's no way to implement that | 03:33 | |||||||||||||||||||||||||||||||||||||
nine | I guess there are a few specific cases where you can be reasonably sure. Like the .tell being followed by an answer of the addressed person on the same channel with no other messages in between (and not too much time or disconnects). At least if the telling person is being addressed in the response | 03:35 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | nine: that works, yeah | 03:38 | |||||||||||||||||||||||||||||||||||||
but that's not related to automatic .tell | 03:39 | ||||||||||||||||||||||||||||||||||||||
03:47
evalable6 left
03:51
evalable6 joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | nqp: 051cbec2bc | usev6++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/reprs/MultiCacheInstance.java [JVM] Factor out some duplicated code |
05:05 | |||||||||||||||||||||||||||||||||||||
roast: 3301d4f1c7 | usev6++ | 3 files [JVM] Unfudge some passing tests |
05:54 | ||||||||||||||||||||||||||||||||||||||
|Tux| |
|
08:37 | |||||||||||||||||||||||||||||||||||||
10:46
Xliff joined
12:10
robertle joined
12:12
lucasb joined
15:12
a3f left
15:19
a3f joined
16:42
MasterDuke joined
16:44
robertle left
16:51
pamplemousse joined
17:50
robertle joined
19:01
pamplemousse left
19:02
pamplemousse joined
19:13
Kaiepi left,
Kaiepi joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | roast: 1f7877acf8 | ZhongnianTao++ | 4 files Add test for GB18030 encoding |
19:22 | |||||||||||||||||||||||||||||||||||||
roast: a5f03b1ae0 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | 4 files Merge pull request #569 from ZhongnianTao/master Add test for GB18030 encoding |
|||||||||||||||||||||||||||||||||||||||
19:27
Ven``_ joined
19:43
pamplemousse left
19:44
Ven``_ left
19:45
Ven``_ joined
|
|||||||||||||||||||||||||||||||||||||||
vrurg | I'm considering renaming directory core into core.c to conform with two other cores. Are there any objections to this? | 19:47 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | lizmat: that GB18030 roast merge was a bit too early, moarvm pull request is not merged yet | 19:51 | |||||||||||||||||||||||||||||||||||||
tellable6 | AlexDaniel, I'll pass your message to lizmat | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | vrurg: not really | 19:52 | |||||||||||||||||||||||||||||||||||||
vrurg | AlexDaniel: it's actually gonna be more than that. I'm opening a problem solving on this. | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | tellable6: jnthn please do something about this: github.com/perl6/problem-solving/pull/87 | 19:53 | |||||||||||||||||||||||||||||||||||||
tellable6 | AlexDaniel, I'll pass your message to jnthn | ||||||||||||||||||||||||||||||||||||||
Geth | problem-solving: AlexDaniel assigned to jnthn Issue Reconsider Rakudo build structure github.com/perl6/problem-solving/issues/94 AlexDaniel assigned to jnthn Issue Support for custom knowhows isn't generic enough github.com/perl6/problem-solving/issues/90 Add one more template If this looks alright, I'll add one for every label. |
19:54 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | tellable6: jnthn correct me if I'm wrong, but to me it looks like vrurg is stumbling upon problems, files them as tickets, figures out what needs to be changed, and changes stuff | 19:55 | |||||||||||||||||||||||||||||||||||||
tellable6 | AlexDaniel, I'll pass your message to jnthn | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | tellable6: jnthn so if they're able to drive the development by themselves, why not set them as a responsible dev for both `language` and `rakudo`, right next to you? | 19:57 | |||||||||||||||||||||||||||||||||||||
tellable6 | AlexDaniel, I'll pass your message to jnthn | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | hmmm | 20:06 | |||||||||||||||||||||||||||||||||||||
vrurg | AlexDaniel: I just realized you gave me permissions on problem-solving. Strangely, I got no notification from github on this. | 20:07 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | vrurg: I think that happened through `core` team | 20:08 | |||||||||||||||||||||||||||||||||||||
vrurg: when I locked the threads, I gave write permissions to the core team so that actual devs can leave comments | 20:09 | ||||||||||||||||||||||||||||||||||||||
I guess it doesn't notify in that case? | |||||||||||||||||||||||||||||||||||||||
vrurg | AlexDaniel: possibly, I have a feeling that I wasn't able to set labels pretty much recently. | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | vrurg: we should set up issue templates | 20:10 | |||||||||||||||||||||||||||||||||||||
vrurg | Ah, ok. Then this is what happened. | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | then labeling will happen automatically | ||||||||||||||||||||||||||||||||||||||
vrurg | For well-designed templates it is necessary to analyse what tickets we have, what are the most common subjects they have. | 20:11 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | one template per label will do for now | 20:12 | |||||||||||||||||||||||||||||||||||||
vrurg | Like, it makes no sense for a template for the build process because mine is probably gonna be a single one for a long time. | ||||||||||||||||||||||||||||||||||||||
I'm off for lunch. Will try to think out something useful. | 20:14 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | vrurg: don't, it's much more straightforward :) | 20:15 | |||||||||||||||||||||||||||||||||||||
problem-solving: 8e2376159a | (Aleks-Daniel Jakimenko-Aleksejev)++ | .github/ISSUE_TEMPLATE/issue-template-language.md Fix template name |
20:16 | ||||||||||||||||||||||||||||||||||||||
problem-solving: 1d70626aa9 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 8 files Add issue templates for every label |
20:29 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | vrurg: at least now I won't need to assign people: github.com/perl6/problem-solving/i...new/choose | 20:30 | |||||||||||||||||||||||||||||||||||||
damn I can't find my comment on the Raku PR | 20:53 | ||||||||||||||||||||||||||||||||||||||
x) | |||||||||||||||||||||||||||||||||||||||
ha, I won't need to rename github.com/AlexDaniel/raku-golf-cheatsheet | 21:09 | ||||||||||||||||||||||||||||||||||||||
Ven``_ | jnthn: I got a version of COMPILING:: working, but for now that means sacrificing compile-time "undeclared variable $x" | 21:18 | |||||||||||||||||||||||||||||||||||||
jnthn | Ven``_: hm, curious...though how come? :) | 21:19 | |||||||||||||||||||||||||||||||||||||
tellable6 | 2019-08-23T19:53:54Z #perl6-dev <AlexDaniel> jnthn please do something about this: github.com/perl6/problem-solving/pull/87 | ||||||||||||||||||||||||||||||||||||||
2019-08-23T19:55:59Z #perl6-dev <AlexDaniel> jnthn correct me if I'm wrong, but to me it looks like vrurg is stumbling upon problems, files them as tickets, figures out what needs to be changed, and changes stuff | |||||||||||||||||||||||||||||||||||||||
2019-08-23T19:57:17Z #perl6-dev <AlexDaniel> jnthn so if they're able to drive the development by themselves, why not set them as a responsible dev for both `language` and `rakudo`, right next to you? | |||||||||||||||||||||||||||||||||||||||
Ven``_ | jnthn: if the macro does COMPILING::<$x> = 4;, we don't actually run this code until we're running the whole, so we'd already have error'd out parsing the rest of the file. | 21:20 | |||||||||||||||||||||||||||||||||||||
s/whole/whole file/ | |||||||||||||||||||||||||||||||||||||||
(also, "if the macro's quasi code contains") | 21:21 | ||||||||||||||||||||||||||||||||||||||
jnthn | Ven``_: The macro does that, or that appears in a quasi? | ||||||||||||||||||||||||||||||||||||||
Ven``_ | jnthn: gist.github.com/vendethiel/9792ef3...4efa5bfb23 | ||||||||||||||||||||||||||||||||||||||
jnthn | Hm, I'd figured the COMPILING would be "erased" at quasi interpolation time... | ||||||||||||||||||||||||||||||||||||||
And then check done then | |||||||||||||||||||||||||||||||||||||||
masak | that seems right to me | ||||||||||||||||||||||||||||||||||||||
I'd expect the real thing to be closer to `my COMPILING::x = 10;` | 21:22 | ||||||||||||||||||||||||||||||||||||||
that is, a declaration in the mainline | |||||||||||||||||||||||||||||||||||||||
Ven``_ | so the COMPILING access itself can't access anything in its own phase? | ||||||||||||||||||||||||||||||||||||||
only from the outer macro? | |||||||||||||||||||||||||||||||||||||||
masak | "outer macro"? it's accessing the macro's caller | 21:23 | |||||||||||||||||||||||||||||||||||||
Ven``_ | well, the macro itself, not the quasi that COMPILING inhabits | ||||||||||||||||||||||||||||||||||||||
masak | "COMPILING" refers to "the code we were compiling as the macro was detected and called" | ||||||||||||||||||||||||||||||||||||||
aka "the mainline" | 21:24 | ||||||||||||||||||||||||||||||||||||||
jnthn | AlexDaniel: I'll get to that, but really want to look over and give my feedback on #89 first | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | OK | ||||||||||||||||||||||||||||||||||||||
that's also important, yes :) | |||||||||||||||||||||||||||||||||||||||
Ven``_ | masak: not what I mean | ||||||||||||||||||||||||||||||||||||||
masak .oO( you're in a maze of twisty little differences in meaning, all alike ) | 21:25 | ||||||||||||||||||||||||||||||||||||||
Ven``_ | masak: gist.github.com/vendethiel/b83e27c...7dd447519b first one ok, second one not ok? | 21:26 | |||||||||||||||||||||||||||||||||||||
jnthn | AlexDaniel: Though maybe I can put some initial thoughts on 87 sooner than that :) | ||||||||||||||||||||||||||||||||||||||
masak | Ven``_: correct. $f is not visible in the hole. | ||||||||||||||||||||||||||||||||||||||
Ven``_ | is there a way to intercept every single OO call in a module after my module is imported? :D | ||||||||||||||||||||||||||||||||||||||
masak: so we'd preprocess COMPILING::<>s, and hoists the names right before the macro invocation itself? | 21:27 | ||||||||||||||||||||||||||||||||||||||
masak | Ven``_: my tentative conclusion is that method calls and macros do not mix very well | ||||||||||||||||||||||||||||||||||||||
Ven``_ | masak: oh, it's not for macros | ||||||||||||||||||||||||||||||||||||||
I'd like a... lexical-er OO "thing" for an experiment. | |||||||||||||||||||||||||||||||||||||||
masak | Ven``_: unknown. but `COMPILING::x` would do the right thing with `x` in the mainline, is the thing | ||||||||||||||||||||||||||||||||||||||
Ven``_ | seems like hoisting would allow for that, then | 21:28 | |||||||||||||||||||||||||||||||||||||
.oO( When you have a tree-walker, every problem looks like an AST ) |
|||||||||||||||||||||||||||||||||||||||
masak | Ven``_: jnthn is free to disagree with me, but the "selling point" of methods calls is that they are late-bound, not lexical | ||||||||||||||||||||||||||||||||||||||
Ven``_ | how dareth a perl developer tell another perl developers how things ought to be? :-) | ||||||||||||||||||||||||||||||||||||||
masak | hehe | 21:29 | |||||||||||||||||||||||||||||||||||||
you can call a method call lexical all you want. don't make it so | |||||||||||||||||||||||||||||||||||||||
still* | |||||||||||||||||||||||||||||||||||||||
Ven``_ | I just want to insert code around it. | ||||||||||||||||||||||||||||||||||||||
not actually disrupt normal OO flow | 21:30 | ||||||||||||||||||||||||||||||||||||||
masak: should COMPILING unwind its whole lexical pads chain? | |||||||||||||||||||||||||||||||||||||||
jnthn | masak: I think a module that wants to, for example, enforce stronger compile-time checking of method calls should be possible to write. :) More generally, I think modules whose contribution to the language is "I process what I'm imported into afterwards" is probably generally useful. | 21:31 | |||||||||||||||||||||||||||||||||||||
There's many things that I don't mind being possible to write, even if I'd be happy without them. :) | 21:32 | ||||||||||||||||||||||||||||||||||||||
Ven``_ | I wonder how precompilation and side-effects inside macros interact. | 21:34 | |||||||||||||||||||||||||||||||||||||
masak | could you be more specific? | 21:35 | |||||||||||||||||||||||||||||||||||||
jnthn | Don't think macros bring anything new in that sense, given we already have BEGIN and friends | ||||||||||||||||||||||||||||||||||||||
Ven``_ | true, fair | ||||||||||||||||||||||||||||||||||||||
jnthn | bbiab | 21:41 | |||||||||||||||||||||||||||||||||||||
21:56
epony left
22:03
Ven``_ left
22:28
sortiz joined
22:34
bloatable6 left
22:36
Ven`` joined
22:40
Ven`` left
22:55
epony joined
|