🦋 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:00 japhb left, Xliff left, sivoais left, Xliff joined, sivoais joined 00:05 japhb joined 00:07 reportable6 left 00:09 reportable6 joined 00:26 frost joined 00:46 frost left, frost joined
Geth rakudo/yet-another-broken-master: 565630cfb9 | (Nick Logan)++ | t/02-rakudo/reproducible-builds.t
Revert "Missed one CompUnit::PrecompStore::FileSystem reference"

This reverts commit 553852bb8b1967c12f961e7a01136121e068e815.
02:20
rakudo/yet-another-broken-master: 13a73cf900 | (Nick Logan)++ | 5 files
Revert "Rename CompUnit::PrecompilationStore::File -> FileSystem"

This reverts commit 4c5c7e6b5e3c43db71bd48d7a32fe72d9fad8f24.
rakudo: ugexe++ created pull request #4858:
Fix regression from unreviewed commits
rakudo: 565630cfb9 | (Nick Logan)++ | t/02-rakudo/reproducible-builds.t
Revert "Missed one CompUnit::PrecompStore::FileSystem reference"

This reverts commit 553852bb8b1967c12f961e7a01136121e068e815.
02:22
rakudo: 13a73cf900 | (Nick Logan)++ | 5 files
Revert "Rename CompUnit::PrecompilationStore::File -> FileSystem"

This reverts commit 4c5c7e6b5e3c43db71bd48d7a32fe72d9fad8f24.
rakudo: 138ac465bf | (Nick Logan)++ (committed using GitHub Web editor) | 6 files
Merge pull request #4858 from rakudo/yet-another-broken-master

Fix regression from unreviewed commits
03:39 frost left 04:52 reportable6 left, greppable6 left, bisectable6 left, shareable6 left, committable6 left, notable6 left, unicodable6 left, benchable6 left, sourceable6 left, quotable6 left, releasable6 left, evalable6 left, coverable6 left, nativecallable6 left, bloatable6 left, linkable6 left, statisfiable6 left, benchable6 joined, bisectable6 joined, reportable6 joined 04:53 greppable6 joined, notable6 joined, linkable6 joined, bloatable6 joined 04:54 releasable6 joined, shareable6 joined, nativecallable6 joined, unicodable6 joined 04:55 quotable6 joined, evalable6 joined, statisfiable6 joined, sourceable6 joined, committable6 joined, coverable6 joined 05:43 AlexDaniel left, uzl[m] left, kawaii_ left, jjatria left, kawaii_ joined, jjatria joined 05:45 uzl[m] joined, AlexDaniel joined 06:07 reportable6 left 06:09 reportable6 joined 06:58 nebuchadnezzar joined 07:36 frost joined 07:54 sena_kun left 07:55 sena_kun joined
MasterDuke i think this is know, but the jvm build is currently failing with `Failed to get the directory contents of '/home/vsts/work/1/rakudo/../install/share/perl6/vendor/dist': nqp::opendir: unable to get a DirectoryStream` during the `+++ Preparing installation` stage 08:11
lizmat yeah, I got a lead on that yesterday evening 09:07
will look at it today
MasterDuke cool 09:11
lizmat atm I'm just slightly miffed at some passive aggressiveness in the early morning 09:12
Geth rakudo/CUPFile2CUPFileSystem: 35cb69f9f9 | (Elizabeth Mattijsen)++ | 6 files
Rename CompUnit::PrecompilationStore::File -> FileSystem

For a PR by popular demand
09:26
rakudo: lizmat++ created pull request #4859:
Rename CompUnit::PrecompilationStore::File -> FileSystem
09:27
lizmat notable6: weekly 10:41
notable6 lizmat, 4 notes: gist.github.com/21781d70731c806946...736a3b6aac
lizmat notable6: weekly reset 10:49
notable6 lizmat, Moved existing notes to “weekly_2022-04-11T10:49:10Z”
Geth rakudo/CUPFile2CUPFileSystem: f8441e9b91 | (Elizabeth Mattijsen)++ | src/core.c/CompUnit/PrecompilationStore/FileSystem.pm6
Add deprecation for CUPS::File
11:38
12:04 Altai-man joined 12:06 reportable6 left 12:07 reportable6 joined
lizmat and yet another Rakudo Weekly News hits the Net: rakudoweekly.blog/2022/04/11/2022-15-wordling/ 12:30
Geth DBIish/main: b88a29c665 | (Rod Taylor)++ | 2 files
0.6.5
12:37
DBIish/rbt.legacy-filenames: c65510a133 | (Rod Taylor)++ | 65 files
Rename legacy filenames

All reasonably supported versions of Raku, due to NativeCall and threading issues, allow the newer filenames. Use them here too.
12:54
DBIish: rbt++ created pull request #227:
Rename legacy filenames
12:55
13:25 frost left
Geth DBIish/rbt.legacy-filenames: a68f96f629 | (Rod Taylor)++ | 65 files
Rename legacy filenames

All reasonably supported versions of Raku, due to NativeCall and threading issues, allow the newer filenames. Use them here too.
13:38
rakudo: 1bdebbba84 | (Elizabeth Mattijsen)++ | src/core.c/CompUnit/Repository/Installation.pm6
Remove CURS writeability check caching for now

This needs a better solution. But for now, it will at least allow more than one module to be installed in the same directory if the directory did not exist yet when the CURS object was made.
Spotted by hythm7++
13:47
13:54 Altai-man left, Altai-man joined
Geth nqp/faster_sorted_keys: 1908455fb3 | (Elizabeth Mattijsen)++ | src/core/Hash.nqp
Reduce number of count checks for > 2
14:00
lizmat afk for a few hours& 14:16
14:17 childlikempress joined 14:18 masak left, moon-child left 14:19 masak joined
Geth DBIish/rbt.legacy-filenames: 568c311db4 | (Rod Taylor)++ | 65 files
Rename legacy filenames

All reasonably supported versions of Raku, due to NativeCall and threading issues, allow the newer filenames. Use them here too.
14:38
[Coke] (Documentable) Raku/doc uses it to build the documentation that gets deployed 14:41
Not sure why it's not listed in the META6.json requirements.
[Tux] Rakudo v2022.03-193-g1bdebbba8 (v6.d) on MoarVM 2022.03-17-g794e1d589
csv-ip5xs0.854 - 0.855
csv-ip5xs-205.441 - 5.811
csv-parser3.563 - 3.617
csv-test-xs-200.401 - 0.441
test7.054 - 7.516
test-t1.479 - 1.587
test-t --race0.864 - 0.994
test-t-2020.519 - 21.111
test-t-20 --race7.526 - 7.691
14:47
Geth DBIish/rbt.legacy-filenames: 966a5992df | (Rod Taylor)++ | 65 files
Rename legacy filenames

All reasonably supported versions of Raku, due to NativeCall and threading issues, allow the newer filenames. Use them here too.
14:48
DBIish/rbt.docs: 6e802c1fcd | (Rod Taylor)++ | README.md
Correct spelling errors
14:51
DBIish/main: 6e802c1fcd | (Rod Taylor)++ | README.md
Correct spelling errors
15:03
DBIish/rbt.legacy-filenames: 4649342bda | (Rod Taylor)++ | 65 files
Rename legacy filenames

All reasonably supported versions of Raku, due to NativeCall and threading issues, allow the newer filenames. Use them here too.
15:04
DBIish/main: 4649342bda | (Rod Taylor)++ | 65 files
Rename legacy filenames

All reasonably supported versions of Raku, due to NativeCall and threading issues, allow the newer filenames. Use them here too.
16:13 sena_kun_ joined, Altai-man left, dogbert17 joined 16:15 dogbert11 left 17:14 sena_kun_ left 17:35 RakuIRCLogger__ joined, TempIRCLogger left, Geth left 17:36 lizmat_ joined, RakuIRCLogger left 17:37 lizmat left, lizmat_ left 17:38 lizmat joined, RakuIRCLogger__ left 18:05 discord-raku-bot left 18:06 discord-raku-bot joined, reportable6 left 18:08 reportable6 joined
Xliff p6-GLib-Suite compile times for v2022.03-192-g138ac465b 19:08
Total non-parallel compile times: 9113.99s
Total parallel compile times: 1623.00567614s
Speedup factor: 5.6155206 19:09
19:14 discord-raku-bot left 19:15 discord-raku-bot joined
lizmat ok, so that is definitely a step back from before :-( 19:21
Xliff Yes, last week's regular compile time was better. 19:24
lizmat Xliff: could you try on 2022.03-193-g1bdebbba8 it helped me in the installing core modules time
or are you not using CURI ?
Xliff I am not using CURI
lizmat hmmm
Xliff Again, my problems with CURI is user interraction. 19:25
lizmat yeah... it's still on my radar...
Xliff Thank you. 19:30
lizmat: Avg non parallel time is 287.98s. Avg parallel compile time is 50
Those are both too long to go without some form of prompting from the install process. 19:31
s/prompting/notification/
lizmat I'm not sure how to interpret those numbers
Xliff Average time to precompile. Current CURI doubles those numbers. All without any form of notification.
So a new user wanting to install any of my modules would have to wait an average time of 6 minutes. 19:32
Most folks abort non-responsive programs after 180 seconds.
lizmat agree.. I think I can make something that would allow you to specify a callback when calling .install on a CURI object. So basically, it would tell you when something would get precompiled 19:37
but it wouldn't be able to tell you how many precompilations there would be in total
so you would be able to tell something is going on, but not really how for you got 19:38
Xliff: so e.g. in this case: gist.github.com/lizmat/7e80cb6e387...32f373eb0c 19:41
the installer would only see the left-most ones: aka Git::Status and Ecosystem::Archive::Update
Xliff Actually, I am working along the same lines. 19:43
The work is done, but I am not seeing any output from zef.
I don't know why. I think I left you a link to the work a while ago.,
For one thing, I might not be using the right Installer object.
Yes. I think I've seen this. It's a step in the right direciton. 19:44
github.com/Xliff/rakudo/tree/curi-events 19:45
Particularly: github.com/Xliff/rakudo/blob/curi-...lation.pm6
19:47 childlikempress is now known as moon-child
lizmat Xliff: why so many different events? wouldn't precompile starts / installation finished be enough? 19:48
resources/ script installation is basically just a file copy, making an even for that just slows things down
Xliff lizmat: I can trim off the other events easily enough. 19:49
lizmat anyways, I like KISS, so the simplest thing would be a call back parameter to "install" 19:50
that would be called whenever a precomp starts, with the file name
potentially for *each* file being precompiled, with maybe an index into 19:55
something like 1/10 foo 1/10 bar (because dependency of foo), 2/10 baz.... etc
Xliff: also: if you are sure you don't need tests, or you can do them seperately, you can install your modules with your own script that has a CURS and not have to worry about zef not showing the output 19:57
nine lizmat: there's no need to tell the consumer things they already know like the number of modules to be precompiled. Or the number of the currently precompiling one for that matter. If they want, they can count those easily enough 20:00
Geth rakudo/CURS.candidates: 74 commits pushed by (Elizabeth Mattijsen)++, (Antonio Juan Querol)++, Coke++, (Vadim Belman)++, (Daniel Green)++, (Nick Logan)++
review: github.com/rakudo/rakudo/compare/0...b4058045ec
20:02
lizmat nine: I think Xliff's point is exactly that: the user does *not* know that 20:03
nine How is that possible?
lizmat because the user says something like: zef install foo
does the user know how much would need to be precompiled for that ?
nine The "user" in your sentence does not usually talk directly to Supplies. That's why I used the word "consumer", i.e. the callback 20:04
lizmat nine: so you're implying that when we run CURI.install, we can be sure that there will be no recursion to precompile dependencies ? 20:06
or: in other words: if a dist has N files in its provides, that only N files will ever be precompiled ?
nine What else would it precompile? That's the semantics of the install method. "Take this dist and install the modules it contains" 20:07
lizmat because all of the non-dist dependencies will have been precompiled before ?
Xliff nine: Again, the user does not know what they want to know, so why not provide what we can tell them? 20:08
A new user to Raku would not know to look at META6.json
If we want to draw more new users to the language, it would help to polish things. 20:09
My use case: A CIO wants to know how long it would take to get things ready for a Raku class. He has a lab of x machines. He has a list of compunits he wants to install. 20:10
lizmat or maybe she even :-)
Xliff A helpful install process would tell him things like: # of compunits precompiled and time taken to install each compunit.
lizmat: Good point. :)
lizmat having been in that situation myself a few times :-)
Xliff s/time taken to install each compunit/time taken to install each distribution/ 20:11
lizmat have to go afk for a while, I'll get back to this... 20:12
nine All information that the installer program can already provide - today. 20:16
Geth rakudo: vrurg++ created pull request #4860:
Fix for a lexical being localized while used in a nested scope
20:40
roast: vrurg++ created pull request #803:
Add test for topic within a nested closure
20:53
japhb nine: Is this a matter of a default verbosity setting that could be changed, or the difference between "can" and "does"? 20:54
Geth rakudo/rakuast: 64caeaa02b | (Jonathan Worthington)++ | 3 files
RakuAST nodes for X and Z meta-operators

Add parsing and AST production to the RakuAST-based compiler frontend.
21:27
rakudo/rakuast: dfffbc0e13 | (Jonathan Worthington)++ | src/Raku/ast/expressions.rakumod
A couple more reducer-for implementations

All infixish operators shall need these eventually; this adds a couple of straightforward cases.
rakudo/rakuast: a092bb052d | (Jonathan Worthington)++ | src/Raku/ast/operator-properties.rakumod
Add operator properties for −
21:32
rakudo: 19c6c52fe0 | (Vadim Belman)++ | src/Perl6/Optimizer.nqp
Fix for a lexical being localized while used in a nested scope

The cause was dry run wrapping a `QAST::Var(:decl)` into a `QAST::Stmts` casuing the full run to skip it when detecting inner usages.
Note: what is the actual purpose of the wrapping? Can't it be replaced with an annotation?
22:08
rakudo: 43a8724507 | (Vadim Belman)++ (committed using GitHub Web editor) | src/Perl6/Optimizer.nqp
Merge pull request #4860 from vrurg/rakudo-4850

Fix for a lexical being localized while used in a nested scope
roast: 1e998fdac6 | (Vadim Belman)++ | S04-statements/given.t
Add test for topic within a nested closure

In support of rakudo/rakudo#4860 to cover rakudo/rakudo#4850
roast: d2646e2b15 | (Vadim Belman)++ (committed using GitHub Web editor) | S04-statements/given.t
Merge pull request #803 from vrurg/rakudo-4850

Add test for topic within a nested closure
22:09 linkable6 left 22:11 linkable6 joined
Geth nqp/faster_sorted_keys: 08cf08f178 | (Elizabeth Mattijsen)++ | src/core/Hash.nqp
Attempt #2

  - do **not** call nqp::elems on the hash
  - *do* use the nqp::iterator loop
  - integrate the <= 2 test into a single elsif
Timings before after (in msecs): ... (5 more lines)
23:06