vrurg AlexDaniel: ^^ did it rebuild after my fix? 00:46
AlexDaniel vrurg: I think so
vrurg Good, thanks!
01:13 lucasb left, sena_kun joined 01:15 Altai-man_ left 02:13 Altai-man_ joined 02:15 sena_kun left 02:44 travis-ci joined
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Streamline CU::RepositoryRegistry.setup-repositories 02:44
travis-ci.org/rakudo/rakudo/builds/661295967 github.com/rakudo/rakudo/compare/6...23d3ad0e01
02:44 travis-ci left 03:43 travis-ci joined
travis-ci Rakudo build failed. Vadim Belman 'Merge pull request #3544 from vrurg/fix-perl6-aliases-install 03:43
travis-ci.org/rakudo/rakudo/builds/661305164 github.com/rakudo/rakudo/compare/6...ad174ca14d
03:43 travis-ci left 04:13 sena_kun joined 04:15 Altai-man_ left 04:43 travis-ci joined
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Streamline CU::RepositoryRegistry.setup-repositories 04:43
travis-ci.org/rakudo/rakudo/builds/661305881 github.com/rakudo/rakudo/compare/1...fd100da243
04:43 travis-ci left 06:13 Altai-man_ joined 06:15 sena_kun left
Geth rakudo: b3f7ad2fcd | (Stefan Seifert)++ | src/core.c/CompUnit/RepositoryRegistry.pm6
Revert "Streamline CU::RepositoryRegistry.setup-repositories"

This reverts commit 24fd100da243067dbbbc8418fb2eee61cb2088f1.
rakudo: c29a2bf013 | (Stefan Seifert)++ | src/core.c/CompUnit/RepositoryRegistry.pm6
Revert "Streamline CU::RepositoryRegistry.setup-repositories"

This reverts commit 6723d3ad0e01a55921fece8d1e1adb06f448737a.
The change broke Inline::Perl5 with: No such method 'prefix' for invocant of type 'Capture'
   at SETTING::src/core.c/Exception.pm6:62 (throw)
... (5 more lines)
nine Oh, Travis actually reported the same errors. 08:14
08:14 sena_kun joined 08:15 Altai-man_ left 09:18 travis-ci joined
travis-ci Rakudo build passed. Stefan Seifert 'Revert "Streamline CU::RepositoryRegistry.setup-repositories" 09:18
travis-ci.org/rakudo/rakudo/builds/661424415 github.com/rakudo/rakudo/compare/2...9a2bf013d2
09:18 travis-ci left
lizmat Files=1305, Tests=111214, 207 wallclock secs (29.82 usr 8.29 sys + 2901.94 cusr 268.81 csys = 3208.86 CPU) 09:33
nine: weird, it passed all tests here, including the Inline::Perl5 tests
nine lizmat: it passed rakudo's make test on the OBS (which flaged Inline::Perl5 failing) as well. Very odd indeed 09:34
lizmat even odder, in that code, there is no method call to a method call "prefix" at all ??? 09:36
ah, but there is later
09:40 domidumont joined
Tux__ Rakudo version 2020.02.1-153-gc29a2bf01 - MoarVM version 2020.02.1-42-g6b31c93c8 10:04
csv-test-xs-20 0.363 - 0.373
csv-ip5xs 0.693 - 0.701
test-t --race 0.838 - 0.847
test-t 1.851 - 1.896
csv-ip5xs-20 6.245 - 6.282
test 7.941 - 8.501
test-t-20 --race 8.664 - 9.105
csv-parser 24.564 - 25.428
test-t-20 31.327 - 31.531
10:12 Altai-man_ joined 10:15 sena_kun left
lizmat in any case, it looks like my changes reduced spectest by 1 wallclock and 16 CPU seconds 10:19
which makes sense, as it runs on a 16 core machine :)
nine: do you have a test-case for the Inline::Perl5 failures ? 10:39
I can't reproduce anything locally :-(
10:40 domidumont left 10:44 MasterDuke left
lizmat nine: found it 10:54
well, a way to reproduce the error
nine: some progress: turns out that custom-lib somehow contains \(foo) instead of foo for 2 of the 4 entries (home and site) 11:27
looks like it was a stupid typo :-( 11:39
nine Well at least those are usually easily fixable :) 11:45
lizmat well, it changed the error :-( 11:46
An exception occurred while evaluating a constant
at /Users/liz/Github/Inline-Perl5/lib/Inline/Perl5/Interpreter.pm6 (Inline::Perl5::Interpreter):12
nine I'd guess that it couldn't access the bundled library 11:53
i.e. repository-for-name still not working correctly
lizmat hmmm... Inline::Perl5 tests fail for me on master as well ?? 11:57
maybe I should follow instructions :-)
ok, tests are clean on master when I follow instructions :-) 11:58
tests also clean with fix 12:01
Geth rakudo: b07224f684 | (Elizabeth Mattijsen)++ | src/core.c/CompUnit/RepositoryRegistry.pm6
Revert "Revert "Streamline CU::RepositoryRegistry.setup-repositories""

This reverts commit c29a2bf013d20d000779cfefcebb2f72f8402935.
rakudo: 7de42d4b93 | (Elizabeth Mattijsen)++ | src/core.c/CompUnit/RepositoryRegistry.pm6
Revert "Revert "Streamline CU::RepositoryRegistry.setup-repositories""

This reverts commit b3f7ad2fcda5334b1b5807fa02994ba1ef6fc82e.
rakudo: 7b5e14345f | (Elizabeth Mattijsen)++ | src/core.c/CompUnit/RepositoryRegistry.pm6
Fix stupid typo that broke NativeCall

And indirectly Inline::Perl5
12:13 sena_kun joined 12:15 Altai-man_ left
lizmat github.com/rakudo/rakudo/issues/3546 12:25
12:37 Xliff joined
Xliff \o 12:38
--stagestats is broken? I take it folks are aware?
lizmat gist ?
Xliff gist.github.com/Xliff/217a6e743331...4678ae1bf7 12:39
Geth rakudo: 68cadd7901 | (Elizabeth Mattijsen)++ | src/core.c/CompUnit/RepositoryRegistry.pm6
Improve readability of setting up custom-lib

No functional changes intended
Xliff lizmat: Rakudo::Internals.STAGESTATS eq '--stagestats' in PrecompilationRepository.pm6#L45 12:50
lizmat looks 12:51
Xliff Updating gist. 12:52
Gist updated
sena_kun seems like debug leftover 12:53
Xliff "whenever $proc.stderr.lines { note (" $_"); $*ERR.flush }" # Maybe? 12:54
lizmat I'm not sure I understand the problem 12:56
sena_kun lizmat, I think repeated "--stagestats" lines to blame in the gist?
lizmat is unclear on how to reproduce the issue 12:58
Xliff lizmat: Attempt to precompile a scripts with nested dependencies. 12:59
And those dependencies also need to require a recompile.
lizmat Representation for CompUnit::Repository must be composed before it can be serialized 13:46
how can we get such an error *after* the settings have been built ?
ah... it's a role 13:47
Geth rakudo: f980898f71 | (Elizabeth Mattijsen)++ | src/core.c/CompUnit/RepositoryRegistry.pm6
Streamline CU::RepositoryRegistry.use-repository a bit

  - don't use return when we don't need to
  - don't use named parameters or default when we don't need to
  - add some extra type checking
  - use binding where possible
14:12 Altai-man_ joined 14:15 sena_kun left 14:28 pmurias joined 15:05 domidumont joined
Kaeipi can someone review github.com/rakudo/rakudo/pull/3451 and github.com/rakudo/rakudo/pull/3491 ? 15:06
15:09 Xliff left, travis-ci joined
travis-ci Rakudo build errored. Elizabeth Mattijsen 'Streamline CU::RepositoryRegistry.use-repository a bit 15:09
travis-ci.org/rakudo/rakudo/builds/661542168 github.com/rakudo/rakudo/compare/6...80898f71af
15:09 travis-ci left
lizmat restarted the one failing job 15:10
Kaeipi: sorry, am recusing myself on account of insufficient insight 15:11
feels to me jnthn should have a look at that
Kaeipi aight 15:12
15:26 pmurias left 15:28 pmurias joined 15:43 pmurias left
Geth rakudo: bec2ac4ce5 | (Elizabeth Mattijsen)++ | src/core.c/CompUnit/PrecompilationRepository.pm6
Change a number of if $foo -> \bar cases

Since the if $foo -> \bar case atm is 10x slower than the equivalent my \bar := $foo; if $foo
16:13 sena_kun joined 16:15 Altai-man_ left 16:16 domidumont left
Geth nqp: 96162898bf | (Elizabeth Mattijsen)++ | tools/templates/MOAR_REVISION
Bump Moar to get libuv upgrade
rakudo: a5017544fd | (Elizabeth Mattijsen)++ | tools/templates/NQP_REVISION
Bump NQP to get latest libuv support

make test, make spectest and Inline::Perl5's make test are clean
AlexDaniel jnthn: how is this possible :D github.com/rakudo/rakudo/issues/3547 16:52
this is precisely what I expected react block to prevent, uh! 16:53
jnthn AlexDaniel: Because there's a special case for a single-whenever react and apparently it's not doing the right thing
AlexDaniel oooh
yep 16:54
once another whenever is added it's back to normal
lizmat jnthn: so, if I let signal do a .serialize on the Supply it returns, rypervenche's example works as expected
AlexDaniel thanks, I can pick up my jaw from the floor now :)
rypervenche I probably should have added the word "single" to that...
jnthn lizmat: I don't think that's the place to fix it.
lizmat ok
git reset --hard :-) 16:55
afk for dinner&
AlexDaniel rypervenche: yeah, if you knew that :) I was like :-O 16:56
jnthn and I used to know where to look, but somebody decided Supply.pm6 was too long, I guess
ah, or maybe it's the 6.d changes 16:57
Anyway, start around github.com/rakudo/rakudo/blob/e935...t.pm6#L101
AlexDaniel we can bisect it if you want
jnthn Doesn't matter; I don't really mind things moving :) 16:58
Just my mental map of where things are in Rakudo used to be pretty accurate, and these days it isn't. Maybe I just don't hack on it enough. :)
AlexDaniel yeah, that's software :( 17:00
kinda great to look away, come back and see a lot of progress
but it always takes time to catch up
6c: start for ^3 { sleep 0.3; run ‘kill’, -SIGINT, $*PID }; my $a = -1; react whenever signal(SIGINT) { $a++; sleep 1.5; exit $a; } 17:07
that's pretty cool actually
I like puzzles like this :)
jnthn :) 17:10
I'll have a look at fixing it in a bit
sena_kun jnthn, don't want to be pushy, but I humbly suggest network PRs want attention whenever available. 17:12
committable6 AlexDaniel, gist.github.com/5cdc2e41353a458aca...219a74a908
AlexDaniel sena_kun: did you say `whenever` needs attention? :)
wow what 17:13
sena_kun AlexDaniel, I think concurrency has mixed up words order. :P
AlexDaniel c: HEAD start for ^3 { sleep 0.3; run ‘kill’, -SIGINT, $*PID }; my $a = -1; react whenever signal(SIGINT) { $a++; sleep 1.5; exit $a; }
committable6 AlexDaniel, ¦HEAD(a501754): « «exit code = 2»»
AlexDaniel c: 2018.06 start for ^3 { sleep 0.3; run ‘kill’, -SIGINT, $*PID }; my $a = -1; react whenever signal(SIGINT) { $a++; sleep 1.5; exit $a; } 17:14
committable6 AlexDaniel, ¦2018.06: «»
AlexDaniel why didn't 6c: command work? Weird
c: 2019.01 start for ^3 { sleep 0.3; run ‘kill’, -SIGINT, $*PID }; my $a = -1; react whenever signal(SIGINT) { $a++; sleep 1.5; exit $a; }
committable6 AlexDaniel, ¦2019.01: «Cannot find this revision (did you mean “2020.01”?)»
AlexDaniel c: 2019.03 start for ^3 { sleep 0.3; run ‘kill’, -SIGINT, $*PID }; my $a = -1; react whenever signal(SIGINT) { $a++; sleep 1.5; exit $a; }
committable6 AlexDaniel, ¦2019.03: « «exit code = 2»»
AlexDaniel bisect: old=2018.06 new=2019.03 start for ^3 { sleep 0.3; run ‘kill’, -SIGINT, $*PID }; my $a = -1; react whenever signal(SIGINT) { $a++; sleep 1.5; exit $a; } 17:15
bisectable6 AlexDaniel, Bisecting by exit code (old=2018.06 new=2019.03). Old exit code: 0
AlexDaniel, bisect log: gist.github.com/8d260cc32746b37013...72b0bc59f4 17:16
AlexDaniel, (2018-10-27) github.com/rakudo/rakudo/commit/46...96034408c8
AlexDaniel OK it was a bit trickier: 17:19
bisect: old=2018.01 new=2019.03 use v6.d.PREVIEW; start for ^3 { sleep 0.3; run ‘kill’, -SIGINT, $*PID }; my $a = -1; react whenever signal(SIGINT) { $a++; sleep 1.5; exit $a; }
bisectable6 AlexDaniel, Bisecting by exit code (old=2018.01 new=2019.03). Old exit code: 0 17:20
AlexDaniel, bisect log: gist.github.com/2c75a2232185fb225b...8493ceeb1e
AlexDaniel, (2018-03-06) github.com/rakudo/rakudo/commit/db...482081c9ed
Geth rakudo: jnthn self-assigned react/whenever is not serialized by default github.com/rakudo/rakudo/issues/3547
8aa25bfbba | (Jonathan Worthington)++ | src/core.c/signals.pm6

That implies that it is serial (since sanity is a stronger promise than serialized). However, it's not serial. This meant that we could end up with concurrent execution in a situation like:
   react whenever signal(SIGINT) { #`(long running stuff) }
... (5 more lines)
17:30 travis-ci joined
travis-ci Rakudo build errored. Elizabeth Mattijsen 'Change a number of if $foo -> \bar cases 17:30
travis-ci.org/rakudo/rakudo/builds/661592699 github.com/rakudo/rakudo/compare/f...c2ac4ce554
17:30 travis-ci left
AlexDaniel jnthn: you can take the test from the bisectable command above, as long as you can run a separate process 18:00
just check the exit code, it'll be 0 if everything is alright and something else otherwise
that's also if you can afford to wait 1.5s :) 18:01
Geth rakudo: jnthn self-unassigned react/whenever is not serialized by default github.com/rakudo/rakudo/issues/3547
fc0f78d5cb | (Ben Davies)++ | 2 files

It's possible to make objects that don't have support methods when working with custom HOWs. Though you wouldn't ordinarily have types that don't support methods, it's nice to be able to test HOWs before they do have it.
jnthn Plus it needs a "will it run on this platform" check, given the `run` it does... 18:03
18:13 Altai-man_ joined 18:15 sena_kun left 18:25 cfa joined
cfa morning all 18:25
it looks like i can no longer push to Raku/doc (nee perl6/doc); i'm still in the old perl6 team but do i need to be added to a new one?
Altai-man_ cfa, certainly. what's your github nickname? 18:27
cfa cfa :)
Altai-man_ it seems I don't have rights, but I've sent an invite to send an invite and someone will look at it. :) 18:31
cfa thanks
i'll do a pr for now 18:32
Altai-man_ yes, that'd be nice
cfa aha, i see AlexDaniel sent me a couple of invites in early jan; those links unfortunately no longer work 18:36
and one from jj for doc specifically that's expired
i'm not sure how easy it is for those to be resent 18:37
18:52 ufobat_ joined 18:56 ufobat__ left
Kaeipi bisectable6, proto sub foo(|) {*}; multi sub foo(Int:D $bar) { $bar }; multi sub foo(**@bar) { @bar }; say foo 1 19:20
bisectable6 Kaeipi, On both starting points (old=2015.12 new=fc0f78d) the exit code is 0 and the output is identical as well
Kaeipi, Output on both points: «1␤»
Kaeipi oh, never tested with one argument lmao 19:21
Geth rakudo: d66068c189 | (Elizabeth Mattijsen)++ | src/core.c/CompUnit/PrecompilationRepository.pm6
Fix stagestats mixup spotted by Xliff++

See gist.github.com/Xliff/217a6e743331...4678ae1bf7 for more info.
rakudo: be9c139fd4 | (Jonathan Worthington)++ | src/Perl6/Actions.nqp
Code-gen `-ne` as a loop, not a map call

This was an initial attempt to help with #3545. It turns out this isn't the biggest cost, however this is retained as it helps a tiny bit.
rakudo: 5cad8feee4 | (Jonathan Worthington)++ | src/Perl6/Actions.nqp
Produce better copy for `$foo is copy`

We were doing it in a way that did not use the spesh assignment plugin on MoarVM. That further cost other optimization opportunities, for example scalar replacement of the Scalar container.
linkable6 RAKUDO#3545 [open]: github.com/rakudo/rakudo/issues/3545 "raku -n" is almost two times slower than manual iteration
rakudo: 31197cd3bb | (Elizabeth Mattijsen)++ | src/core.c/CompUnit/PrecompilationRepository.pm6
Publish dependencies in a single print

  - avoids the overhead of having to repeatedly look up $*OUT
  - avoids any issues with partial publishing
  - should be quite noticeable on files that have 100's of dependencies
19:50 travis-ci joined
travis-ci Rakudo build passed. Jonathan Worthington 'The signal Supply should not claim sanity 19:50
travis-ci.org/rakudo/rakudo/builds/661636465 github.com/rakudo/rakudo/compare/a...a25bfbbaad
19:50 travis-ci left
lizmat nine: in CU::PrecompilationRepository.precompile we check for "$io.e and $io.s" 20:01
but isn't that a race condition? Could it not be that the other process is *not* ready writing, while this process thinks it is all hunky dory ? 20:02
nine lizmat: at that point the precomp store is already locked (by the self.store.destination call) 20:05
lizmat ah, ok, that's unclear from that piece of code, will add a comment :-) 20:06
nine Yeah, that's been bothering me pretty much since I wrote that code. The .destination call is the obviously correct place to take the lock, but it's not at all visible. 20:07
20:13 sena_kun joined 20:15 Altai-man_ left
lizmat nine: have you considered caching CHECKSUM ? 20:33
or is the chance that a single process would need to checksum the same file more than once minimal ?
nine: is there a reason we don't put a LEAVE block in precompile that will do a "LEAVE self.store.unlock if $io" ? 20:41
20:44 MasterDuke joined
MasterDuke lizmat: oops, i saw that typo yesterday and thought i commented on the original commit, but i must have closed the tab before actually clicking the button. oh well, you found it quick enough regardless 20:46
lizmat MasterDuke++ # I saw your comment *after* I fixed it :-) 20:47
MasterDuke oh, i did actually comment? i looked and didn't see it on the commit 20:48
lizmat I found it in a mailbox, not sure which one anymore 20:50
it was a comment on github.com/rakudo/rakudo/commit/24...t-37779408 20:51
MasterDuke huh 20:52
pmurias: congrats! going to be able to work on the truffle backend with your 20%? 20:55
tellable6 MasterDuke, I'll pass your message to pmurias
21:07 travis-ci joined
travis-ci Rakudo build passed. Ben Davies 'Make Test's &cmp-ok work with objects without support for methods 21:07
travis-ci.org/rakudo/rakudo/builds/661642107 github.com/rakudo/rakudo/compare/8...0f78d5cba1
21:07 travis-ci left
AlexDaniel cfa: do you have autosubscribe turned on or off? 21:16
cfa: see github.com/Raku/please-turn-off-th...ch-feature 21:17
cfa AlexDaniel: looking 21:25
done 21:26
and joined 21:27
is this the only invite i need?
(i had three before) 21:28
nine lizmat: I don't see a way how CHECKSUM would be run multiple times in normal circumstances 21:40
lizmat nine:ok
nine lizmat: the reason was simply that I wasn't aware of LEAVE blocks back then. Xliff actually put them in in his parallelization branch
lizmat ok, then I will put in a LEAVE now 21:41
Geth rakudo: 2899d737ec | (Elizabeth Mattijsen)++ | src/core.c/CompUnit/PrecompilationRepository.pm6
Abstract already compiled logic into private method

  - to allow for better readability
  - and other future optimizations
rakudo: 76c20d28a0 | (Elizabeth Mattijsen)++ | src/core.c/Rakudo/Internals.pm6
Remove Failures from R:I:FILETEST methods

Should the associated nqp:: op give a strange error value, the resulting Failure would be eaten by the IO::Path.letter methods. So instead of wrapping these strange events in a Failure, we just throw the exception to make sure it will not go unnoticed.
22:13 Altai-man_ joined 22:15 sena_kun left
lizmat nine: re io.e && io.s test if we're sure the other process finished writing the file, isn't the io.s test superfluous ? 22:28
Geth rakudo: 355b520bf7 | (Elizabeth Mattijsen)++ | src/core.c/IO/Path.pm6
Make all IO::Path.letter methods a few percent faster

  - prevent HLLizing if not needed
  - move failure creating into private sub to reduce code size
  - use nqp::ifnull in abspath creation, instead of //=
lizmat and that concludes my hacking for today&
AlexDaniel cfa: should be correct now 23:35
I have also synced the userlist for raku-community-modules 23:38
sjn AlexDaniel: what's "Raku Community Modules"? 23:45
AlexDaniel I don't know
sjn ok, so you don't know what you are inviting people to? o_O
AlexDaniel sjn: it's a separate org for… stuff
I'm not sure if people are encouraged to put their modules there or not 23:46
sjn hm
AlexDaniel at some point it was decided that it's probably better if a module has a proper maintainer
so now it says “Module Adoption Center”
sjn If I'd speculate freely, I'd guess "an organization where member devs are free to fix and improve all member repositories" 23:47
something like that would at least make some sense... 23:48
AlexDaniel yeah
sjn: but I think we need a maintainer for that org…
it's funny, yeah 23:49
sjn maybe those of you who are listed as owners can find such a person? :)
sjn sees 12 people who are listed as owners
AlexDaniel all but two are set to Private :) 23:50
japhb IIRC the original purpose was to make sure that when someone left the community or was otherwise no longer able to maintain their modules, that the community could adopt them and prevent abandonware
AlexDaniel interesting, github now lists Raku and Perl 6 as separate languages?
sjn yay to AlexDaniel++ & ugexe++ :-D 23:51
AlexDaniel japhb: yeah, that's cool, but then what?
I mean, that part of the problem is solved
but what should happen with these modules afterwards
japhb No argument, just adding a little historical info
(I wasn't part of that project, just remembering it.)
sjn AlexDaniel: I think it would be a good starting point to take inspiration from "The Lancaster Consensus" document (which is the current policy for CPAN and PAUSE): github.com/Perl-Toolchain-Gang/too...sting-help 23:53
(this would be an extremely useful discussion to have at the PTS (or raku equivalent, if that's needed) 23:55
I can imagine a bunch of community banners on modules.raku.org and/or metacpan.org with texts like "Want to join an Open Source project? Adopt a module!" 23:56
Geth ¦ problem-solving: AlexDaniel assigned to jnthn Issue Abandoned modules, deceased authors, etc. (Raku Community Modules) github.com/Raku/problem-solving/issues/168 23:58
23:59 travis-ci joined
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Publish dependencies in a single print 23:59
travis-ci.org/rakudo/rakudo/builds/661674249 github.com/rakudo/rakudo/compare/5...197cd3bbc9
23:59 travis-ci left
AlexDaniel sjn: github.com/Raku/problem-solving/issues/168 23:59