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. |
|||
00:00
vrurg left
00:09
vrurg joined
00:59
MasterDuke joined,
MasterDuke left,
MasterDuke joined
|
|||
Geth | roast: vrurg++ created pull request #543: Test for rakudo/rakudo#2169 |
02:13 | |
synopsebot | RAKUDO#2169 [open]: github.com/rakudo/rakudo/issues/2169 [type captures] Assigning Nil to a scalar declared with captured type changes it's container metaclass to GenericHOW | ||
Geth | rakudo: c0134d2ab8 | (Vadim Belman)++ | src/Perl6/Metamodel/BOOTSTRAP.nqp Fix for rakudo/rakudo#2169 ContainerDescriptor $!default gets instantiated alongside with $!of if necessary. Possible problem: if instantiation will be issued based on ContainerDescriptor.is_generic() return then in cases when $!of is a non-generic value but the default is set to a generic then default won't be instantiated. At this moment such situation is not possible because rakudo dies when `is default` parameter is a generic. |
02:14 | |
rakudo: f1c9e8fa7f | (Vadim Belman)++ (committed using GitHub Web editor) | src/Perl6/Metamodel/BOOTSTRAP.nqp Merge pull request #2731 from vrurg/issue_2169 Fix for rakudo/rakudo#2169 |
|||
02:18
MasterDuke left
04:24
skids joined
04:36
skids left
|
|||
gfldex | I'm getting the following when building Rakudo HEAD: | 05:59 | |
Can't locate object method "note" via package "NQP::Config::Rakudo" at /usr/local/src/rakudo/tools/lib/NQP/Config/Rakudo.pm line 132. | |||
lizmat | gfldex: git submodule update | 06:47 | |
Files=1262, Tests=107964, 201 wallclock secs (26.90 usr 7.07 sys + 2830.05 cusr 241.17 csys = 3105.19 CPU) | 06:48 | ||
this is more than 2x as fast as before | |||
not because of changes in Rakudo, but because of 2x as many slightly faster cores | |||
[Tux] | new laptop? | 07:02 | |
so no more flashing toolbar | |||
Failed to open file /pro/3gl/CPAN/rakudo/tools/templates/moar/moar_core_sources: No such file or directory | 07:04 | ||
at gen/moar/stage2/NQPCORE.setting:733 (/pro/3gl/CPAN/rakudo/install/bin/../ | |||
Geth | roast: fea1220886 | (Vadim Belman)++ | S06-signature/type-capture.t Test for rakudo/rakudo#2169 |
07:05 | |
roast: bc10cbe9b0 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | S06-signature/type-capture.t Merge pull request #543 from vrurg/gh_rakudo_2169 Test for rakudo/rakudo#2169 |
|||
synopsebot | RAKUDO#2169 [open]: github.com/rakudo/rakudo/issues/2169 [tests needed][type captures] Assigning Nil to a scalar declared with captured type changes it's container metaclass to GenericHOW | ||
lizmat | [Tux]: indeed :-) | 07:07 | |
[Tux] | tux.nl/Files/20190528090902.png :( | 07:09 | |
lizmat | git submodule update | ||
are the magic words I have been incantating a lot recently | |||
[Tux] | lready done, to no avail | ||
git submodule sync | 07:10 | ||
git submodule update --init --recursive --remote | |||
lizmat | [Tux]: is that a fresh checkout ? | 07:13 | |
[Tux] | I assume so | 07:14 | |
lizmat | hmmm.... vrurg ^^^ | ||
will check in a moment: am in the middle of needing to reinstall a lot of modules | |||
which seem to be related to recent changes in perl6 configuration, rather than my move to a new MBP | 07:15 | ||
[Tux] does some reset --hard's | 07:18 | ||
same thing | 07:21 | ||
tux.nl/Files/rebuild is what I use to rebuild | 07:25 | ||
lizmat | I just did a fresh checkout in a separate directory, and to my surprise --gen-moar used a Moar that was already installed | 07:27 | |
which is not what I expected, by my expectation may be old and incorrect :-) | |||
[Tux] | same here | ||
lizmat has no idea | 07:30 | ||
perhaps moritz has an idea | |||
[Tux] | busy with work, but a ping might bring me back | ||
gfldex | now I'm getting: cp: cannot create regular file '/usr/local/src/rakudo/install/bin/../bin/perl6': Text file busy | 07:42 | |
lizmat | yeah, I had trouble with that as well, but I guess this is windows ? | 07:43 | |
gfldex | Linux dexhome 4.19.0-4-amd64 #1 SMP Debian 4.19.28-2 (2019-03-15) x86_64 GNU/Linux | 07:45 | |
it helps to unlink first | |||
lizmat | yeah, that's what I did in the end as well | 07:46 | |
after which I had to re-install a lot of modules | |||
gfldex | does Rakudo mmap? | ||
lizmat | MoarVM / liibuv does, afaik | 07:47 | |
hmmm.. seems all of my modules get installed under ~/share now | |||
well, I guess that makes sense generally | 07:48 | ||
timotimo | malloc also mmaps | 08:04 | |
08:08
patrickb joined
|
|||
patrickb | .tell vrurg It's great to see your PRs getting merged! | 08:11 | |
yoleaux | patrickb: I'll pass your message to vrurg. | ||
10:04
lizmat_ joined
10:07
lizmat left
10:08
lizmat_ is now known as lizmat
|
|||
lizmat | m: my %h; %h<a> //:= 42; dd %h # why isn't this a thing ? | 10:13 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Preceding context expects a term, but found infix := instead. at <tmp>:1 ------> 3my %h; %h<a> //:=7⏏5 42; dd %h # why isn't this a thing ? |
||
jnthn | Binding is too low-level to generally support it in meta-ops | 10:40 | |
lizmat | we could add "//:=" as a true operator ? :-) | 10:45 | |
11:29
ggoebel joined
11:39
robertle_ joined
|
|||
Guest12727 | lizmat: what kind of monster computer have you bought? | 11:53 | |
lizmat | 2.4GHhz -> 5.0 Ghz 8-core, 32G ram | 11:55 | |
Guest12727 | very cool | 12:01 | |
lizmat | it tends to get quite hot when running spectest with TEST_JOBS=16 :-) | ||
Guest12727 | I can imagine :-) | 12:02 | |
Geth | rakudo: 26a309b2c5 | (Elizabeth Mattijsen)++ | lib/MoarVM/Profiler.pm6 A lot of work done on MoarVM::Profiler - still a WIP - all objects, except the Profile object itself, now are shims around hashes - this should make creating a profile faster while reducing memory pressure - added documentation about the source format of nqp::mvmendprofile - have Type/Thread point back to Profile, and let methods use that |
12:15 | |
Guest12727 | lizmat: speaking of WIP, what happened to your sprintf rewrite? | 12:19 | |
Geth | ¦ problem-solving: AlexDaniel assigned to rba Issue Push access to repositories in perl6 organization github.com/perl6/problem-solving/issues/33 | 12:20 | |
¦ problem-solving: AlexDaniel assigned to maettu Issue Push access to repositories in perl6 organization github.com/perl6/problem-solving/issues/33 | |||
lizmat | I guess still waiting on a resolution on github.com/perl6/problem-solving/issues/11 | ||
Guest12727 | aha, so more input is needed | 12:22 | |
lizmat | perhaps... I must admit it dropped below my radar for a bit :-) | 12:24 | |
Guest12727 | could one way forward be to implement some of the flags which are currently NYI | 12:25 | |
lizmat | well, that's the question I guess: do we provide sprintf() with POSIX functionality at the level of Perl 5 | 12:26 | |
and do we implement something better / more extended / more extensible and not call that sprintf() ? | |||
or do we pimp sprintf() to become so much more than it is now ? | 12:27 | ||
Guest12727 | IMHO, having a sprintf which is roughly equivalent to what is offered by P5, C, Ruby etc would be a nice starting point | 12:28 | |
lizmat | well, apart from it being relatively slow and some bugs, we already have that | ||
or do you disagree with that assumption? | 12:29 | ||
Guest12727 | I disagree slightly :), looking at docs.perl6.org/routine/sprintf I get the impression that there's some stuff missing currently but I could ofc be wrong | 12:30 | |
lizmat | could you please add to the issue what you think is missing ? | 12:31 | |
Guest12727 | sure | 12:32 | |
timotimo | ẞprintf | ||
or sprintſ | |||
sþrintf | 12:33 | ||
spⓡintf | |||
Guest12727 | wouldn't it be nice if we managed to support most of what can be found here: pubs.opengroup.org/onlinepubs/7908...rintf.html | ||
lizmat | bisectable6: use nqp; nqp::mvmstartprofile({:instrumented}); { Nil for ^10000 }; say nqp::hllize(nqp::mvmendprofile)[1]<call_graph><callees> | 12:49 | |
bisectable6 | lizmat, Bisecting by output (old=2015.12 new=26a309b) because on both starting points the exit code is 0 | ||
lizmat, bisect log: gist.github.com/30c17bb01ec9098248...bf0041c9e0 | |||
lizmat, (2018-09-15) github.com/rakudo/rakudo/commit/8f...b8fff905ae | |||
12:50
pamplemousse joined
|
|||
lizmat | bisectable6: --help | 12:50 | |
bisectable6 | lizmat, On both starting points (old=2015.12 new=26a309b) the exit code is 1 and the output is identical as well | ||
lizmat, Output on both points: «04===SORRY!04=== Error while compiling /tmp/k9S408YmoxUndeclared routine: help used at line 1» | |||
lizmat | bisectable6: help | ||
bisectable6 | lizmat, Like this: bisectable6: old=2015.12 new=HEAD exit 1 if (^∞).grep({ last })[5] // 0 == 4 # See wiki for more examples: github.com/perl6/whateverable/wiki/Bisectable | ||
lizmat | bisectable6: old=2019.03.1 new=HEAD use nqp; nqp::mvmstartprofile({:instrumented}); { Nil for ^10000 }; say nqp::hllize(nqp::mvmendprofile)[1]<call_graph><callees> | 12:51 | |
bisectable6 | lizmat, On both starting points (old=2019.03.1 new=26a309b) the exit code is 0 and the output is identical as well | ||
lizmat, Output on both points: «(Any)» | |||
lizmat | grr | ||
bisectable6: old=2019.03.1 new=HEAD use nqp; nqp::mvmstartprofile({:instrumented}); { for ^10000 { my $a = 42 } }; say nqp::hllize(nqp::mvmendprofile)[1]<call_graph><callees> | 12:53 | ||
bisectable6 | lizmat, On both starting points (old=2019.03.1 new=26a309b) the exit code is 0 and the output is identical as well | ||
lizmat, Output on both points: «(Any)» | |||
12:54
pamplemousse_ joined
12:57
pamplemousse left,
pamplemousse_ is now known as pamplemousse
|
|||
Geth | rakudo: 9203ef2e37 | (Elizabeth Mattijsen)++ | lib/MoarVM/Profiler.pm6 Prevent unnecessary gisting because of sinking |
13:04 | |
lizmat | can someone please confirm that HEAD currently is creating --profile s with only 1 call ? | 13:11 | |
no matter what the code is? | |||
Geth | rakudo: f5f4190151 | (Elizabeth Mattijsen)++ | src/core/Array.pm6 Use the current state of reified for Array.Slip Fixes R#2930 |
13:23 | |
synopsebot | R#2930 [open]: github.com/rakudo/rakudo/issues/2930 Arrays coerced to Slip can be pushed to after which values appear in the Slip | ||
13:28
skids joined
|
|||
Geth | roast: b6c1d7646a | (Elizabeth Mattijsen)++ | S07-slip/slip.t Add tests for R#2930 |
13:29 | |
synopsebot | R#2930 [open]: github.com/rakudo/rakudo/issues/2930 Arrays coerced to Slip can be pushed to after which values appear in the Slip | ||
vrurg | [Tux]: Are you still having issues with moar_core_sources? | 14:09 | |
yoleaux | 08:11Z <patrickb> vrurg: It's great to see your PRs getting merged! | ||
14:17
pamplemousse left,
pamplemousse joined
|
|||
vrurg | .tell [Tux] please, make a ticket if you still having issues with the build. BTW, in your script you use config.status – I'm sorry, but this one is somewhat broken now, gets overwritten after make. I only realized it late yesterday, got no time to fix. | 14:24 | |
yoleaux | vrurg: I'll pass your message to [Tux]. | ||
Geth | rakudo: ca7408e9fa | (Elizabeth Mattijsen)++ | src/core/Any.pm6 Multi-level EXISTS-POS should check for Failures Fixes R#2929 |
14:29 | |
synopsebot | R#2929 [open]: github.com/rakudo/rakudo/issues/2929 @a[-1;0]:exists returns True | ||
vrurg | .tell lizmat picking up of moar/nqp from PATH is aimed at beginners who might have pre-installed packages. It is only used if there is no --prefix or --with-nqp/with-moar are used. | ||
yoleaux | vrurg: I'll pass your message to lizmat. | ||
Geth | roast: 4e732c620b | (Elizabeth Mattijsen)++ | S32-basics/xxPOS.t Add tests for R#2929 |
14:35 | |
synopsebot | R#2929 [open]: github.com/rakudo/rakudo/issues/2929 @a[-1;0]:exists returns True | ||
15:12
robertle_ left
|
|||
Guest12727 | m: printf(q/%1$d:%2$.*3$d:%4$.*3$d/, 17, 10, 2, 33) | 15:16 | |
camelia | Directive 1$d:%2$.*3$d:%4$.*3$d is not valid in sprintf format sequence %1$d:%2$.*3$d:%4$.*3$d in block <unit> at <tmp> line 1 |
||
15:19
patrickb left
|
|||
lizmat | Guest12727: I already implemented that in my version | 15:27 | |
Geth | rakudo: c9a78928fe | (Elizabeth Mattijsen)++ | src/core/Any.pm6 Fix copy-pastos, spotted by Harm te Hennepe++ |
16:52 | |
timotimo | ooooh | 16:54 | |
lizmat | oooh... ? | 16:55 | |
timotimo | good catch | 16:56 | |
[Tux] | vrurg. I'm ready to change my command list. What I posted is what I was told over time | ||
yoleaux | 14:24Z <vrurg> [Tux]: please, make a ticket if you still having issues with the build. BTW, in your script you use config.status – I'm sorry, but this one is somewhat broken now, gets overwritten after make. I only realized it late yesterday, got no time to fix. | ||
lizmat | yup! | ||
17:24
leont joined
18:30
vrurg left
|
|||
Geth | roast: 2fd82d3710 | (Elizabeth Mattijsen)++ | S09-multidim/XX-POS-on-undimensioned.t Add some more 2/3 dimensional array tests This appears to be not tested at all. So add a few tests for some more security. This probably needs a data-driven makeover. |
18:49 | |
19:00
pamplemousse left,
pamplemousse joined
|
|||
Geth | rakudo: ffc47aaeb9 | (Elizabeth Mattijsen)++ | src/core/Attribute.pm6 Don't use .? dispatch in attribute composition This code gets called often enough in the compilation of the setting to warrant its optimzation. This saves about 1 second of parse time for yours truly. |
19:26 | |
19:46
robertle left
|
|||
Geth | rakudo: 2b0ac401af | (Elizabeth Mattijsen)++ | 3 files Don't bother with .? dispatch inside try blocks Since apparently don't care about the result if we can't get it, we don't need to be careful about calling a potentially non-existing method. |
19:53 | |
rakudo: 7b10a428a5 | (Elizabeth Mattijsen)++ | 5 files Replace .?method by nqp::can(foo,"method") && foo.method In the possibly hotter code paths. This saves one method call, and in some cases an hllization of 0/1. |
|||
19:57
b2gills left
20:07
b2gills joined
20:10
ufobat__ joined
20:14
ufobat_ left
|
|||
Geth | nqp: ce1092bbd8 | (Elizabeth Mattijsen)++ | docs/ops.markdown Document the structure returned by mvmendprofile |
20:18 | |
jnthn | lizmat: Umm.... .?method is rewritten into a spesh plugin typically | ||
20:19
pamplemousse_ joined
|
|||
lizmat | jnthn: does that handle .VAR.?name ? | 20:19 | |
jnthn | Apparently, given that the commit that was linked saying it broke it was in the spesh plugin? :) | ||
lizmat | jnthn: do you mean to say that the method dispatch:<.?> shoulnd' | ||
*shouldn't be called at all ? | 20:20 | ||
jnthn | Correct | ||
Well, except for in cases like >>.?foo if things like that work, since those are a bit too complex to deal with otherwise | 20:21 | ||
But a plain .?foo should | |||
lizmat | well, it *does* get called during setting compilation at the moment | ||
in the attribute composition case, a lot | |||
jnthn | Ah, but probably 'cus that's BEGIN time and hasn't been through the optimizer yet? | 20:22 | |
20:22
pamplemousse left
|
|||
lizmat | I dunno... but it appeared to save about a second in parse time of the setting for me | 20:26 | |
but perhaps that was noise after all :-( | |||
[Tux] | .tell vrurg I changed the config.status calls with perl calls as stored in those files. Still fails. No time to dig, not time to file ticket: Im on holiday the next two weeks and $work claimed all time for this week | 20:28 | |
yoleaux | [Tux]: I'll pass your message to vrurg. | ||
[Tux] | '/pro/bin/perl' -I'/pro/3gl/CPAN/rakudo/tools/lib' -I'/pro/3gl/CPAN/rakudo/3rdparty/nqp-configure/lib' '/pro/3gl/CPAN/rakudo/tools/build/check-nqp-version.pl' '/pro/3gl/CPAN/rakudo/install/bin/nqp-m' | 20:29 | |
'/pro/3gl/CPAN/rakudo/install/bin/nqp-m' '/pro/3gl/CPAN/rakudo/tools/build/gen-cat.nqp' moar -f '/pro/3gl/CPAN/rakudo/tools/templates/moar/moar_core_sources' > 'gen/moar/CORE.setting' | |||
Failed to open file /pro/3gl/CPAN/rakudo/tools/templates/moar/moar_core_sources: No such file or directory | |||
at gen/moar/stage2/NQPCORE.setting:733 (/pro/3gl/CPAN/rakudo/install/bin/../share/nqp/lib/NQPCORE.setting.moarvm:open) | |||
20:29
skids left
20:30
lizmat_ joined
20:33
pamplemousse__ joined,
lizmat__ joined
20:34
lizmat left
20:35
lizmat_ left,
lizmat__ is now known as lizmat
20:36
pamplemousse_ left
20:37
pamplemousse__ left
20:42
pamplemousse joined
|
|||
Geth | nqp: d849a0e217 | (Elizabeth Mattijsen)++ | docs/ops.markdown Fix copy-pasto |
20:42 | |
rakudo: a32ad594fd | (Elizabeth Mattijsen)++ | lib/MoarVM/Profiler.pm6 Point to the documentation in the nqp repo |
20:45 | ||
20:53
lucasb joined
20:54
skids joined
|
|||
lizmat | bisectable6: old=2019.03.1 new=HEAD use nqp; nqp::mvmstartprofile({:instrumented}); { for ^10000 { my $a = 42 } }; say nqp::hllize(nqp::mvmendprofile)[1]<call_graph><callees> | 20:56 | |
bisectable6 | lizmat, On both starting points (old=2019.03.1 new=a32ad59) the exit code is 0 and the output is identical as well | ||
lizmat, Output on both points: «(Any)» | |||
lizmat | bisectable6: use nqp; nqp::mvmstartprofile({:instrumented}); { for ^10000 { my $a = 42 } }; say nqp::hllize(nqp::mvmendprofile)[1]<call_graph><callees> | 20:57 | |
bisectable6 | lizmat, Bisecting by output (old=2015.12 new=a32ad59) because on both starting points the exit code is 0 | ||
lizmat, bisect log: gist.github.com/e2bf87d7c0c1d701a3...cbf358c12d | |||
lizmat, (2018-09-15) github.com/rakudo/rakudo/commit/8f...b8fff905ae | |||
lizmat | bisectable6: use nqp; nqp::mvmstartprofile({:instrumented}); { for ^10000 { my $a = 42 } }; say nqp::hllize(nqp::mvmendprofile)[1]<call_graph>.keys | 20:58 | |
bisectable6 | lizmat, Bisecting by output (old=2015.12 new=a32ad59) because on both starting points the exit code is 0 | ||
lizmat, bisect log: gist.github.com/167de8025a5dda46e2...d7e1da9206 | |||
lizmat, (2018-09-15) github.com/rakudo/rakudo/commit/8f...b8fff905ae | |||
lizmat | bisectable6: use nqp; nqp::mvmstartprofile({:instrumented}); { for ^10000 { my $a = 42 } }; say nqp::hllize(nqp::mvmendprofile)[1]<call_graph>.sort.keys | 20:59 | |
bisectable6 | lizmat, Bisecting by output (old=2015.12 new=a32ad59) because on both starting points the exit code is 0 | ||
lizmat, bisect log: gist.github.com/a14db3c2e50ef61768...3c8ac622bd | |||
lizmat, (2016-10-31) github.com/rakudo/rakudo/commit/d5...116e84f2d8 | |||
21:01
skids left
21:12
pamplemousse left
22:05
b2gills left,
b2gills joined
22:18
leont left
22:30
MasterDuke joined,
pamplemousse joined
22:33
MasterDuke left
22:42
pamplemousse left
23:52
lucasb left
|