🦋 Welcome to the IRC channel of the core developers of the Raku Programming Language (raku.org #rakulang). This channel is logged for the purpose of history keeping about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | log inspection situation still under development | For MoarVM see #moarvm
Set by lizmat on 22 May 2021.
lizmat Files=1352, Tests=117183, 292 wallclock secs (40.11 usr 11.29 sys + 4058.31 cusr 326.80 csys = 4436.51 CPU) 08:05
Geth rakudo: 4b9c315c6b | (Elizabeth Mattijsen)++ | 2 files
Add "api" attribute to CompUnit

This was apparently missed when the "api" selector on identities was introduced.
Adapt calls where "api" is available accordingly.
09:07
rakudo: e3ab530917 | (Elizabeth Mattijsen)++ | src/core.c/CompUnit/Repository/Installation.pm6
Lose one private method in CURI

Move the local class definitions of LazyDistribution and friends up in the code, so that we do not need a method call to create a LazyDistribution object.
09:37
rakudo: ec1c001a54 | (Elizabeth Mattijsen)++ | src/core.c/CompUnit/Repository/Installation.pm6
Fix double worded comment

Was in the original comment twice already, but it survived reformatting.
  MasterDuke++ for the spot
09:43
Geth rakudo: 943c443c9c | (Elizabeth Mattijsen)++ | src/core.c/Slip.pm6
Also shortcut Empty.sort

The actual sorting routines already have an internal short-cut for empty lists, but if we know beforehand it's Empty, then why even bother.
11:01
Geth roast: bea51148db | (Elizabeth Mattijsen)++ | S32-list/toggle.t
Remove over-specific test on Empty.toggle

One could argue the other tests for ().Seq are also too specific.
Also use .raku instead of .perl for diagnostics.
11:35
Geth rakudo: 1afc3f4f1a | (Elizabeth Mattijsen)++ | src/core.c/Slip.pm6
Add Empty shortcuts for many more methods

Basically the remaining Any-iterable methods, specifically:
are, batch, deepmap, duckmap, maxpairs, minpairs, nodemap, pairup, repeated, rotor, skip, squish, toggle, unique
Also put these in alphabetical order for maintainability
11:38
Geth DBIish: massa++ created pull request #225:
Add :$connection-timeout option to MySQL/MariaDB connections
12:11
Geth rakudo: 32b7d3303f | (Elizabeth Mattijsen)++ | src/core.c/CompUnit/Repository/Installation.pm6
Streamline CURI.candidates

  - don't use returns, let the failed if return Empty
  - only create Pairs for entries that actually match, rather than
   creating a Pair with a meta hash for each entry, and then grepping
   on the matchers firing
  - don't use samewith in the slow path candidate
This also removes support for level 0 repositories. The chance that there is still an un-updated repo from before January 2016 in production, is deemed to low to warrant keeping supporting it.
13:25
lizmat hmmm... actually February 2016... but still :-)
MasterDuke lizmat: re removing the level 0 support, think that's safe given what we just found out about the default WSL rakudo (which iirc was from 2014)? but then again i don't really know what the levels mean, so take my question with a grain of salt 13:48
lizmat well, if it was form 2014, then it had no real precomp support at all 13:51
that was created in the 6 months before Christmas 2015
prior to that, re-compiling a changed setting meant needing to **re-install** all modules that you had 13:52
MasterDuke ah 13:59
[Coke] ... that may explain why I have my overkill script on windows: I'm old. 14:06
Geth rakudo: fe829e075f | (Elizabeth Mattijsen)++ | src/core.c/CompUnit/Repository/FileSystem.pm6
Streaming CURF!matching-dist

In the same way as CURS!matching-dist
14:27
rakudo: 43521e36e1 | (Elizabeth Mattijsen)++ | src/core.c/CompUnit/Repository/Installation.pm6
Streamline CURS!precomp-stores

  - use fast nqp::ifnull to check whether initialized
  - do actual initializetion in another method for better inlineability
   of !precomp-stores
  - don't build the whole repo-chain first
15:20
Geth rakudo: ca61b56590 | (Elizabeth Mattijsen)++ | src/core.c/CompUnit/Repository.pm6
Use one var less in CUR.repo-chain

Every little bit helps
15:35
rakudo: 1b3d39f4ae | (Elizabeth Mattijsen)++ | src/core.c/CompUnit/Repository/Installation.pm6
Streamline CURS.precomp-store a bit

Using an nqp::ifnull check.
15:56
Geth rakudo: 7c72a30326 | (Elizabeth Mattijsen)++ | src/core.c/CompUnit/Repository/Installation.pm6
Streamline CURS!prefix-writeable

  - use fast nqp::ifnull check
  - do actual initialization in another private method for better
   inlineability of !prefix-writeable
16:22
bartolin just as a quick note: on 4b9c315c6b the jvm backend is very broken. a lot of spectests and installation fail with "Method 'stringified' not found for invocant of class 'CompUnit::DependencySpecification'". For the spectests it seems to happen when compiling Test::Util. Unfortunately I don't have time to look closer. 16:25
lizmat bartolin: thanks for the nudge, will look into it 16:26
bartolin: is it exact that commit? or could it be an earlier one ? 16:27
Geth rakudo: c4e4e5c851 | (Elizabeth Mattijsen)++ | src/core.c/CompUnit/Repository/Installation.pm6
Streamline CURS.remove-dist-from-short-name-lookup-files

  - bind variables rather than assigning
  - just if, don't have an explicit return
16:30
bartolin lizmat: no, could well be an earlier commit. last run I had was on c917f32c1 (that one was good). maybe something sticks out? & 17:19
lizmat ah... that's quite a while ago :-( 17:31
in number of commits :-( 17:32
Geth rakudo: d258957e1d | (Elizabeth Mattijsen)++ | src/core.c/CompUnit/Repository/Installation.pm6
Streamline CURS!read-dist and add "api" support

  - use hash at compile time
  - bind variables instead of assigning
Also streamline CURS!file-id by taking native strings
17:34
lizmat bartolin: I'm doing a lot of smallerish commits for better bisectability
Geth rakudo: d3cc4e9117 | (Elizabeth Mattijsen)++ | src/core.c/CompUnit/Repository/Installation.pm6
Streamline CURS.uninstall

  - set up variables only when they are needed
  - copy private method into uninstall code, only called in 1 place
  - set up constant list with script extensions used
  - take unlink logic out of the method, useful elsewhere
  - clearer signature
18:31
Geth rakudo: 6e21b22bb0 | (Elizabeth Mattijsen)++ | 2 files
Revert "Add "api" attribute to CompUnit"

This reverts commit 4b9c315c6b1a0cebbfdd8e9f06c8d5f9749fb782.
This causes unnecessary dependency checksum tests, significantly slowing down loading of modules with many dependencies (such as e.g. Cro). Apparently the additional api attribute is messing with the sha calculations. More research is needed, so reverting for now.
19:55
lizmat bartolin: I've reverted 4b9c315c6b1a0cebbf as it (also) caused a performance regression 19:56
Geth rakudo/rakuast: 0686333e5a | (Stefan Seifert)++ | src/Raku/ast/variable-declaration.rakumod
Fix uninitialized package variables in nested compilation not retaining outside value

package M { our $var = 1; say EVAL 'our $var; $var' } should output 1 but didn't. Instead of the attach target, use the resolver's current-package method
20:12
rakudo/rakuast: 0c8ffcde4f | (Stefan Seifert)++ | src/Raku/Actions.nqp
Fix compilation of variables without longname

  $/ doesn't have a longname, thus unconditionally accessing <longname><name>.ast
must fail
bartolin lizmat: I think the commit that started the trouble for the jvm backend was 1b75e3fa0c. The following code blows up then: 'use lib "t/spec/packages/Test-Helpers"; use Test::Util' 20:22
gist.github.com/usev6/141ec892ee3c...c41a729f3e 20:23
oh, the CI also had this error (since it does a 'make install'): dev.azure.com/Rakudo/rakudo/_build...bf417ae738 20:24
lizmat bartolin: cool., that will give me something to work on tomorrow 22:49
gfldex What does ». actually dispatch to? 23:23
Found it. It's .list . 23:42