🦋 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.
00:13 qorg11 left 00:14 qorg11 joined 00:56 frost joined 03:06 evalable6 left 03:07 linkable6 left, evalable6 joined 03:08 linkable6 joined 04:16 benchable6 left, bloatable6 left, evalable6 left, sourceable6 left, linkable6 left, greppable6 left, notable6 left, coverable6 left, shareable6 left, unicodable6 left, reportable6 left, committable6 left, quotable6 left, releasable6 left, statisfiable6 left, nativecallable6 left, bisectable6 left, bisectable6 joined, quotable6 joined 04:17 releasable6 joined, reportable6 joined, bloatable6 joined, benchable6 joined, greppable6 joined, coverable6 joined 04:18 notable6 joined, nativecallable6 joined 04:19 sourceable6 joined, statisfiable6 joined, evalable6 joined, linkable6 joined, unicodable6 joined, committable6 joined, shareable6 joined 06:06 reportable6 left 06:09 reportable6 joined
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
08:25 casaca left 08:27 ilogger2 left, Geth left, Geth__ joined 08:32 Geth__ left, Geth joined 08:38 rypervenche left, rypervenche joined 08:40 ilogger2 joined
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.
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.
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:54 discord-raku-bot left, discord-raku-bot joined
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:04 frost left 11:15 Geth left, Geth joined, Altai-man joined
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:38 Geth left, Geth joined
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
12:08 reportable6 left 12:09 ggoebel left, ggoebel joined, reportable6 joined
Geth DBIish: massa++ created pull request #225:
Add :$connection-timeout option to MySQL/MariaDB connections
12:12 frost joined 12:42 casaca joined, Altai-man left 12:43 Altai-man joined 12:57 notna joined 13:09 frost left
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.
lizmat hmmm... actually February 2016... but still :-)
13:26 frost joined 13:32 frost left
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
14:13 qorg11 left 14:26 qorg11 joined
Geth rakudo: fe829e075f | (Elizabeth Mattijsen)++ | src/core.c/CompUnit/Repository/FileSystem.pm6
Streaming CURF!matching-dist

In the same way as CURS!matching-dist
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:28 [Coke] left 15:30 [Coke] joined
Geth rakudo: ca61b56590 | (Elizabeth Mattijsen)++ | src/core.c/CompUnit/Repository.pm6
Use one var less in CUR.repo-chain

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

Using an nqp::ifnull check.
16:00 notna left
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
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
16:25 linkable6 left 16:26 linkable6 joined
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
16:29 notna joined
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 notna left 16:50 ggoebel left
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
lizmat bartolin: I'm doing a lot of smallerish commits for better bisectability
17:37 Altai-man left 18:05 reportable6 left 18:06 reportable6 joined
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:47 sena_kun left 18:48 sena_kun joined
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.
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
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
20:20 sena_kun left 20:21 sena_kun joined
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