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 :) 00:03
'night o/
01:05 AlexDani` joined 01:10 AlexDaniel left 03:11 squashable6 left 03:12 squashable6 joined 04:58 squashable6 left 05:04 squashable6 joined, ChanServ sets mode: +v squashable6 07:20 patrickb joined
[Tux] Rakudo version 2019.03.1-660-g9b639961c - MoarVM version 2019.05-93-g80bc744fa
csv-ip5xs0.693 - 0.717
csv-ip5xs-205.448 - 5.531
csv-parser24.606 - 24.718
csv-test-xs-200.451 - 0.453
test7.145 - 7.177
test-t1.757 - 1.852
test-t --race0.827 - 0.842
test-t-2030.905 - 31.243
test-t-20 --race9.893 - 9.952
08:05
08:22 MasterDuke left
Geth nqp: 82b33a6ff6 | (Paweł Murias)++ | 2 files
[js] Implement nqp::bindlexdyn
13:50
nqp: f5ae4b4ff2 | (Paweł Murias)++ | t/nqp/021-contextual.t
Test nqp::bindlexdyn
nqp: 0784193e2c | (Paweł Murias)++ | src/vm/js/nqp-runtime/runtime.js
[js] Fix loadng stuff from paths that don't end up with /
14:19 pamplemousse joined
AlexDani` releasable6: status 14:20
14:20 AlexDani` is now known as AlexDaniel, AlexDaniel left, AlexDaniel joined
releasable6 AlexDani`, Next release will happen when it's ready. 5 blockers. 262 out of 660 commits logged (⚠ 1 warnings) 14:20
AlexDani`, Details: gist.github.com/06665db60feace46fc...6008d39915
AlexDaniel m: (when %()<>:exists { ... }) 14:21
camelia ===SORRY!===
internal problem: parser did not give circumfix an EXPR
AlexDaniel c: 9135914^,9135914 (when %()<>:exists { ... })
committable6 AlexDaniel, ¦9135914^: «» ¦9135914: «===SORRY!===␤internal problem: parser did not give circumfix an EXPR␤ «exit code = 1»»
timotimo The Promise returned from start is only kept once any obtained Supply of the output streams has delivered all of its events. This means one can assume that all output has been delivered by the time the Promise is kept, which overall greatly simplifies working with Proc::Async (without this behavior, we'd likely see a good number of buggy programs that lose output). However, if that Supply is never tapped, 14:22
then there's no way for that to happen, thus the hang.
whoops, that was an accidental paste 14:23
15:26 patrickb left 16:56 pamplemousse left 17:22 pamplemousse joined 17:36 lucasb joined 17:50 DrForr_ joined 17:53 DrForr left
dogbert11 timotimo, AlexDaniel: I updated R#3015 with a golf from the module source 18:53
synopsebot_ R#3015 [open]: github.com/rakudo/rakudo/issues/3015 [BLOCKER][regression] Some issue in LMDB module
timotimo if that's what the module does, it's just wrong 19:01
dogbert11 timotimo: that is what it's doing. One blocker down then :) 19:22
timotimo it'll have to expect that to return 1 in the future 19:24
b2gills vrurg: I wonder if your 6.e issue is similar to one I've come across. If you export a multi sub, it may end up exporting an alias to the proto sub. Which makes it so that exporting multi subs of the same name from two modules will export the subs into the first module rather than the lexical scope. 19:35
19:37 MasterDuke joined
b2gills { module Foo; multi foo is export ( 1 --> 'one' ){} } { module Bar; multi foo is export ( 2 --> 'two' ){} } { use Foo; use Bar; say Foo::foo(2); #`(two) } 19:37
vrurg b2gills: no idea yet. So far all I got time for is to find out that what is exported from CORE.e ends up in SETTING:: and totally overrides what was exported from CORE.d.
timotimo it's not enough to set the setting to CORE.d when compiling the CORE.e setting? 19:38
b2gills I tried implementing `multi COERCE` and this prevented me from making any progress.
*(in a module) 19:39
vrurg timotimo: I'm too new to all this, will be doing my home work analysing the sources. So far debug informs me that ModuleLoader does fetch CORE.d when CORE.e is loaded. But when I define subs `for-d-only` and `for-e-only` in dorresponding settings I find the latter in SETTING::, not the former. 19:41
timotimo hmm 19:42
is it only not in SETTING::, or is it also not reachable at all?
vrurg Not mentioning that I'd expect both to end up in CORE:: and be available to compilie time.
timotimo perhaps the way settings are stacked inside of each other, it's kind of like in SETTING::OUTER or something silly like that
vrurg timotimo: I'll check later when have time.
b2gills Maybe it isn't a one inside of another. Maybe `usev 6.d` just overwrites what is in `v6.c`. 19:44
vrurg Brief look into how settings are loaded tells me that something like this is pretty much expected because when it loads CORE it sets outer_ctx key and then treats others like normal units; or, at least, it looks so to me.
b2gills: 6.<letter> settings are supposed to override what's in earlier COREs. I.e. 6.e would override 6.d and both override 6.c. The bug you observe is probably what allows 6.d to work because it does not override normally but rather extends multi-dispatches. 19:47
jnthn vrurg: Yes, I think that's probably about the issue.
vrurg jnthn: Any docs, blog posts about this subject? Sources are great source of information, but they're much better if backed up by clearly formulated concepts. ;) 19:51
jnthn vrurg: Not that I'm aware of, though maybe the nqp::ctx op and friends will be documented in the ops documentation 20:04
vrurg jnthn: ok, thanks! 20:06
jnthn iirc, the way that it works is that we iterate the set of symbols in the setting by obtaining it via nqp::ctx. The bug we have implies that we somehow get the 6.c one always in this context. We then use this information to set up a bunch of QAST::Var/.symbol entries with compile-time-known values. 20:08
And those are used by find_symbol to do the compile-time symbol resolution
The reason anything works at all is because at runtime we do the lexical lookups and hit the correct setting "chain2
*chain
There's also some trick in there to not *actually* resolve the values unless we have to as well 20:09
In order to facilitate lazy deserialization
A non-tiny bit of startup time goes on setting up the fake outer scope, and I've sometimes wondered if we couldn't avoid doing that at all, and have find_symbol look directly at the ctx or some such 20:10
Not sure what else'd need to change though 20:11
AlexDaniel timotimo, dogbert11: OK! 20:45
we're down to 4 then
one of them is just waiting for confirmation…
Geth ¦ problem-solving: AlexDaniel assigned to jnthn Issue read-bits/read-ubits on Int as well? github.com/perl6/problem-solving/issues/51 20:57
21:12 pamplemousse left 21:13 pamplemousse joined
vrurg jnthn: thanx! That's a lot of info. 21:35
21:41 pamplemousse left 22:07 MasterDuke left 22:31 ggoebel left 22:45 |Tux| joined 23:29 rba left