🦋 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:05 reportable6 left 00:06 reportable6 joined 01:06 evalable6 left, committable6 left, reportable6 left, notable6 left, linkable6 left, statisfiable6 left, coverable6 left, releasable6 left, nativecallable6 left, shareable6 left, bisectable6 left, benchable6 left, bloatable6 left, unicodable6 left, greppable6 left, sourceable6 left, quotable6 left 01:07 benchable6 joined, notable6 joined, linkable6 joined, sourceable6 joined, statisfiable6 joined, coverable6 joined 01:08 evalable6 joined, reportable6 joined, shareable6 joined, committable6 joined, bisectable6 joined, greppable6 joined, quotable6 joined, nativecallable6 joined 01:09 bloatable6 joined, releasable6 joined, unicodable6 joined 01:20 japhb left 01:23 japhb joined 03:19 linkable6 left, evalable6 left 03:22 evalable6 joined, linkable6 joined 04:22 benchable6 left, coverable6 left, sourceable6 left, notable6 left, releasable6 left, greppable6 left, committable6 left, statisfiable6 left, linkable6 left, unicodable6 left, shareable6 left, evalable6 left, nativecallable6 left, bisectable6 left, reportable6 left, bloatable6 left, quotable6 left, greppable6 joined 04:23 quotable6 joined, nativecallable6 joined, bloatable6 joined, sourceable6 joined, notable6 joined, unicodable6 joined, benchable6 joined, reportable6 joined, committable6 joined 04:24 linkable6 joined, bisectable6 joined, statisfiable6 joined 04:25 releasable6 joined, coverable6 joined, evalable6 joined, shareable6 joined 05:27 frost joined, frost left 05:51 frost joined 06:07 reportable6 left, reportable6 joined
lizmat Files=1352, Tests=117183, 289 wallclock secs (35.30 usr 10.06 sys + 4042.03 cusr 333.80 csys = 4421.19 CPU) 08:28
Geth rakudo/rakuast: c8b5b5297f | (Stefan Seifert)++ | 2 files
Parse sub trait_mod:<is>(...) { ... }
rakudo/rakuast: 997c4f20b2 | (Stefan Seifert)++ | 2 files
Fix trait stumbling over unresolved types in signature

We have to fully resolve a routine's signature before applying traits as the latter may want to access e.g. parameter types. However, naively doing so revealed a timing problem. Signatures and parameters tuned their behaviour according to whether they were attached to a (methodish) routine. This broke as at the time we're applying traits, the signature is not attached yet.
Follow the "tell, don't ask" principle of object oriented design and instead of signatures and parameters querying their owner, have the owner tell them how to behave via the new set-is-on-method and set-default-type methods.
rakudo: 88abddcaba | (Elizabeth Mattijsen)++ | src/core.c/CompUnit/Repository/Installation.pm6
Probably fix installability test in CURI

As described in github.com/rakudo/rakudo/issues/4857
Unfortunately, I was not able to reproduce the issue. So not 100% this is the fix. It is in any case closer to the original code.
nine lizmat: that's prone to a race condition. Why not use try like the original? 10:05
lizmat nine: why the try? the most lethal thing mkdir can return is a Failure ? 10:06
and afaics, that is the original semantics I restored, so I also restored the race condition ? 10:07
Geth rakudo: a72313445c | (Elizabeth Mattijsen)++ | src/Perl6/ModuleLoader.nqp
Reduce number of method calls in stub check
nine Ah, yes, mkdir catches the VM's exception
So....ignore my comment then :)
lizmat fwiw, I still don't understand how that commit could be the reason, but I hope this fixes it. If not, I will look into it further 10:09
and apparently this fixed the issue 10:10
MasterDuke lizmat: btw, have you looked at the "checks" tab of PRs? that's where you can find the links to the build logs
"View more details on Azure Pipelines " 10:11
speaking of PRs, think github.com/Raku/nqp/pull/768 looks any better nine? 10:12
lizmat ok, I'm pretty sure I tried it before... works now 10:15
maybe a temp glitch on the Azure end
MasterDuke yeah, i occasionally couldn't access it before, but it's been fine for a while now 10:17
10:36 linkable6 left 10:39 linkable6 joined
Geth rakudo: e42044c722 | (Elizabeth Mattijsen)++ | src/Perl6/ModuleLoader.nqp
Streamline ModuleLoader.merge_globals

  - don't populate known symbols if there's nothing to merge
  - don't special case both sides stubbed anymore
  - only check for stubbing on each side once
  - remove "P6M" from die message: it seems unnecessary now
rakudo/rakuast: 781d2a4c16 | (Stefan Seifert)++ | 2 files
Parse multi declarators
rakudo: 458df44dfe | (Elizabeth Mattijsen)++ | src/Perl6/ModuleLoader.nqp
Abstract known symbols lookup logic into a sub

And optimize it so that we don't need to create NQP pair objects.
11:38 sena_kun left 11:39 sena_kun joined
[Tux] Rakudo v2022.03-168-g458df44df (v6.d) on MoarVM 2022.03-15-g43e1b00a6
csv-ip5xs0.890 - 0.975
csv-ip5xs-205.531 - 6.038
csv-parser3.694 - 3.711
csv-test-xs-200.397 - 0.398
test6.806 - 7.130
test-t1.578 - 1.755
test-t --race0.968 - 1.026
test-t-2020.922 - 21.080
test-t-20 --race6.246 - 6.485
12:06 reportable6 left 12:08 reportable6 joined
Geth rakudo/rakuast: 896dd2d643 | (Jonathan Worthington)++ | src/Raku/ast/compunit.rakumod
Correct Rat literal construction
nqp/master: 5 commits pushed by (Daniel Green)++, MasterDuke17++ 12:56
rakudo: f66bcf6ebc | (Elizabeth Mattijsen)++ | src/Perl6/ModuleLoader.nqp
Streamline ModuleLoader.merge_globals_lexically

  - revert known symbols abstraction, turned out it wasn't general enough
  - rename is_stub to is_HOW_stub, it doesn't take HOWs anymore
  - don't do anything if there's nothing to do
  - group actions together and simplify checking logic
  - remove P6M from error message
rakudo: 1ad97a687d | (Daniel Green)++ | tools/templates/NQP_REVISION
Bump NQP for a change/optimization to how bytecode is written to files

The buffer for each frame is now pre-allocated and each frame is written to the file directly, instead of building them all up into one large buffer. Given the speed of modern SSDs, this is the same as or only slightly slower than doing it all at once and saves on total memory used.
rakudo: b249a56ff5 | (Elizabeth Mattijsen)++ | src/Perl6/ModuleLoader.nqp
Remove unused named variable from previous_setting_name

It was not / no longer being used anywhere. Removed code is debugged code :)
14:51 dogbert17 joined 15:09 frost left 15:45 sena_kun left 15:46 sena_kun joined 16:57 sena_kun left 16:58 sena_kun joined 18:04 discord-raku-bot left 18:05 discord-raku-bot joined 18:07 reportable6 left 18:08 reportable6 joined
Geth rakudo: 0f7c042256 | (Elizabeth Mattijsen)++ | src/Perl6/World.nqp
Streamline World.find_single_symbol

  - turn existskey / atkey pairs into nqp::isnull(nqp::atkey) so that
   a found key only needs to be looked up once.
  - don't repeat dynamic variable lookups
  - reduce number of lexicals
19:11 linkable6 left 19:13 linkable6 joined
Geth rakudo: 93ebde2dae | (Elizabeth Mattijsen)++ | src/Perl6/World.nqp
Streamline symbol lookup in setting

  - rename method to "find_single_symbol_in_setting" to
   "find_single_symbol_in_unloaded_setting" as this method is only
   called for symbol lookup if the setting for the World object
   actually hasn't been loaded yet.
  - replace existkey/atkey with nqp::isnull(atkey) logic
rakudo: 3b692b1b34 | (Elizabeth Mattijsen)++ | src/Perl6/World.nqp
Add World.find_single_symbol_in_setting method

  - fast-path to finding common symbols from the setting, such as
   Mu, Any, Pair, etc.
  - one less named param in call
  - revert to slow-path if not found
  - Adapt calls in World to use this where possible
20:20 Geth left, Geth joined
Geth rakudo: 9a860ca85d | (Elizabeth Mattijsen)++ | src/Perl6/Actions.nqp
Use new World.find_single_symbol_in_setting in Actions

Feels to me there are a lot more calls that could be fast-pathed to settings only. But that's for another day
22:05 discord-raku-bot left 22:06 discord-raku-bot joined 23:54 reportable6 left, committable6 left, bloatable6 left, nativecallable6 left, linkable6 left, releasable6 left, benchable6 left, quotable6 left, shareable6 left, sourceable6 left, statisfiable6 left, bisectable6 left, coverable6 left, evalable6 left, greppable6 left, unicodable6 left, notable6 left, reportable6 joined 23:55 linkable6 joined, greppable6 joined, bloatable6 joined 23:56 coverable6 joined, bisectable6 joined, quotable6 joined, releasable6 joined, benchable6 joined, nativecallable6 joined, committable6 joined, sourceable6 joined 23:57 notable6 joined, statisfiable6 joined, evalable6 joined, unicodable6 joined, shareable6 joined