🦋 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: ... | Logs available at irclogs.raku.org/raku-dev/live.html | For MoarVM see #moarvm
Set by lizmat on 8 June 2022.
japhb Dang, guess I missed him 01:03
01:36 guifa joined
[Coke] back 01:42
was going to try to avoid having conversation by comments on commits, was all. no worries 01:43
Geth Blin/coke/cleanup: eee2fb1c50 | (Will Coleda)++ | bin/blin.p6
Don't silently skip specified, die.

  japhb++
01:46
[Coke] ^^
Good idea to pick a direction, thanks. 01:47
crap. We cannot skip REA for processing because some things only live there. 01:56
like Digest::SHA, e.g.
which is needed by Temp::Path. 01:57
02:31 guifa left
[Coke] can someone with privs add geth to github.com/rakudo/rakudo.org/ ? 02:32
(just closed a few tickets there) 02:34
and merged a PR
[Tux] Rakudo v2025.05-107-gdd636945c (v6.d) on MoarVM 2025.05-71-g0d74aa14d
csv-ip5xs0.267 - 0.267
csv-ip5xs-201.096 - 1.110
csv-parser1.099 - 1.118
csv-test-xs-200.114 - 0.116
test1.804 - 1.837
test-t0.404 - 0.409
test-t --race0.274 - 0.276
test-t-204.882 - 4.908
test-t-20 --race1.222 - 1.232
08:05
tux.nl/Talks/CSV6/speed4-20.html / tux.nl/Talks/CSV6/speed4.html tux.nl/Talks/CSV6/speed.log
Geth L10N/main: 43b53f116c | (Elizabeth Mattijsen)++ | 3 files
Test simplified CI runners
09:30
10:49 guifa joined 11:05 guifa left 11:07 guifa joined
guifa internally for classes, are attributes just stored in a stash/hash ? or something fancier going on? (I feel like it's most the former but don't want to get it wrong) 11:22
tellable6 2025-06-28T05:21:37Z #raku <wayland> guifa: Good! I'll be interested to see it :)
2025-06-28T05:25:21Z #raku <wayland> guifa: metacpan.org/pod/Acme::EyeDrops#An...-of-Perl-6 :)
2025-06-28T05:25:40Z #raku <wayland> guifa: and www.nntp.perl.org/group/perl.packr.../msg3.html
lizmat guifa: something way more, you could consider them a C-struct with pointer accesses timo nine am I lying ? 11:24
guifa asking because I was reminded that in truth, all a P5 "class" (pre Corinna) is sort of two things linked: a ref to a package, and a ref to piece of data, generally a hash 11:25
lizmat yup 11:26
guifa didn't know how much we changed it since really from the programmer's POV, P6 didn't superficially seem to change how a lot was going on, although the superficial need not coincide with the internal 11:27
lizmat m: class A { has $.a = 42 }; my $a = A.new; $a.a for ^10000000; say now - INIT now # attribute accesses are faster 11:29
camelia 0.12217186
lizmat m: my %h = a => 42; %h<a> for ^10000000; say now - INIT now # than has accesses 11:30
camelia 0.826496318
lizmat guifa: ^^
patrickb I'll tackle the binary release this evening latest. 11:32
lizmat ++patrickb 11:33
guifa indeed, but didn't know if that was just the ability during compiling to prelink to the value during compilation (that a hash ultimately would direct to). Like if instead of $a.a for ^10000000 we had $a.::("a") or however that syntax works that I forgot 11:34
guifa should not have waited until the last minute for this talk lol
lizmat yeah, sometimes JIT turns into JTL 11:35
[Coke] lizmat++ 12:34
(not for that comment. :) 12:35
Geth L10N/main: 38cb1b2470 | (Elizabeth Mattijsen)++ | 20 files
CI test before release
12:54
rakudo/main: 58a7b820cb | (Elizabeth Mattijsen)++ | 2 files
RakuAST: remove RakuAST::L10N

It is superseded by the L10N ecosystem distribution. This should allow independence from releases to support development and fix issues
12:57
L10N/main: 6955c76ecc | (Elizabeth Mattijsen)++ | 3 files
0.1.1
13:10
lizmat now: if you want to create a fresh localization, install L10N and run "new-localization XX Xerxes"
and a git repo is created with the name XX and all the files needed are in there already 13:11
I guess I should blog about that
13:30 guifa left 13:34 guifa joined
jdv lizmat: who would know more about this symbol clashing? 14:03
i thought scoping would avoid "most of that" 14:04
Geth Blin/coke/cleanup: 0327f27a67 | (Will Coleda)++ | lib/Blin/Tester/Zef.rakumod
Do not test modules from REA

Closes github.com/Raku/Blin/issues/43
14:17
14:45 guifa left 14:51 guifa joined
[Coke] lightning talk officially accepted (for tomorrow!) 15:07
(so I don't have to even look at it until tomorrow morning! ;)
15:34 liztormato joined 15:46 liztormato left
[Coke] Hey, regarding the removal of $/ - remind me of the reason behind the removal - was it just for performance? 15:49
getting asked about this at the con - (a reminder to myself that we need to include a little explanation with some of the big changes, even if just proposed) 15:51
jdv when is that happening? 15:53
wait? is it removal or just scoping it down more?
[Coke] not in 6.e
jdv or less magic or something like that
15:58 liztormato joined
jdv iirc a long time ago $_ went from dynamic scope to lexical. wonder if its something like that or am i misremembering there 15:58
[Coke] from the 6.e checklist ticket: 15:59
Get rid of $/ ? -> No. Too massive of a task for 6.e. Do put a note in the 6.e release notes we're planing to remove $/ magic.
liztormato [Coke]: github.com/rakudo/rakudo/issues/5626 16:01
16:08 liztormato left
[Coke] thank you! 16:22
added a link to that ticket from the 6.e checklist (as some folks were asking why that was on the list) 16:55
[Coke] is hearing "ray koo" a lot here 17:06
[Coke] is diehard "rackoo" 17:07
guifa [Coke]: I'm also a rackoo 17:08
Wait, I missed all of this about $/, is the idea that an action method might be defined as "action { .... }" and the $<foo> would magically work? 17:09
[Coke] it's not necessarily tied to actions. whenever you do a match, a $/ is available, and if there was a $<foo> in the regex, and it matched, yes, you can get at $<foo> 17:19
m: "larry invented patch" ~~ / $<who>=.* 'invented patch'/; say $<who> 17:20
camelia 「larry 」
[Coke] m: "larry invented patch" ~~ / $<who>=.* 'invented patch'/; say $/<who>
camelia 「larry 」
17:20 liztormato joined
liztormato [Coke]: perhaps raku.land/zef:lizmat/actions ? 17:21
17:26 lizmat left
jdv maybe there could be a pronunciation thing one the front page of raku.org like the dictionary sites do? 17:29
or just say "like raccoon but without the n" but then that leads to the somewhat offputting "rakoon" thing... 17:31
i'd be good with trash panda:)
17:32 liztormato left
[Coke] Trying to clarify some notes for lightning talk tomorrow: rakudoc v2 will be the doc style for v6.e, yes? no more pod6? 17:33
github.com/rakudo/rakudo/issues/5905 - script wrapper was merged, yes patrickb ? 17:36
rant: people who put separating commas as the first thing on the next line. This is more imporant than tabs vs. spaces. 17:38
(meta rant: my rant isn't about the people, it's about the commas)
guifa I like rakoon as the descriptor :) cute and resourceful
[Coke] also: is a wall second the same thing as a Wall second? 17:39
I'm not a fan of 'rakoon', but I'm not sure I can articulate why.
in the US, it's 'raccoon' is empasis on last sylable, not first. 17:40
s/it's// 17:41
17:46 lizmat joined
patrickb [Coke]: Yes, the new script wrappers are in. 18:14
[Coke] updated github.com/rakudo/rakudo/issues/5905 18:18
patrickb Also I plan to rebase, test and merge the return prioritization PR asap 18:23
[Coke]: I'll ping you once it's in. 18:24
[Coke] \o/ 18:30
internet, remind me to check the long path issue in a week. 18:31
lizmat patrickb: I found today that the USAGE generation of installed scripts uses the full installed script name, which is maybe a bit *too* informative
[Coke] ISTR mentioning that on zef ages ago? 18:36
lizmat ah, I thought that was more general about handling a large number of options 18:42
?
[Coke] ah, maybe.
lizmat example: 18:44
% new-localization XX
Usage:
/Users/liz/Github/rakudo/install/share/perl6/site/bin/new-localization.raku <localization> <language> [--<_>=...]
that's a mouth full
patrickb ^^
18:48 guifa left
Geth NL/main: 024d66565d | (Elizabeth Mattijsen)++ | 6 files
0.0.6
18:48
DE/main: dd47fff805 | (Elizabeth Mattijsen)++ | 6 files
0.0.4
18:50
patrickb lizmat: Does it use the full path always? Did the behavior change? I'd say it should either use argv0 or only the filename. 19:14
lizmat I'm not sure what it did before, perhaps easier for you to check (with rakubrew)? 19:15
I was just struck by the length of the path and thought to myself: it didn't used to do that, did it? 19:16
patrickb I fear you're probably right. 19:24
I'll have a look. 19:26
Geth EO/main: ed93b89a3e | (Elizabeth Mattijsen)++ | 15 files
Initial commit from L10N.fresh-distribution
19:46
EO/main: 34bcebf21a | (Elizabeth Mattijsen)++ | 2 files
Add a README
19:47
lizmat patrickb: could be the issue is not in the script wrappers, but in the core's USAGE handling 19:48
patrickb USAGE searches PATH and removes the prefix if the script name is found *and is executable*. But now the .raku script is not executable anymore. Thus the prefix removal doesn't kick in. 19:51
lizmat aha!
[Coke] the missing deps when doing a full run is much larger (but there are alot of dupes, esp. of the Test:ver<v6.c+> 19:52
updated github.com/Raku/Blin/issues/43
patrickb I wonder how bad it would be security wise to special case this to resolve to the wrapper script instead...
I fear we need to do a point release. I think I broke script installation in relocatable builds 🤦🏻‍♂️ 19:53
lizmat because of this ? 19:54
patrickb No separate issue
lizmat ok, so a point release can have 2 fixes then :-)
Geth L10N/main: 66e50241b1 | (Elizabeth Mattijsen)++ | 3 files
0.1.2
19:55
patrickb Yes
I'm still pondering how to best approach the too long path in USAGE thing.. 19:56
lizmat perhaps equate .raku extension with executable ?
Geth ES/main: a2f641d972 | (Elizabeth Mattijsen)++ | 15 files
Initial commit from L10N.fresh-distribution
19:58
patrickb That's the only hack I could come up with. I do wonder how bad the security implications would be though. 19:59
Geth ES/main: a520bdc65d | (Elizabeth Mattijsen)++ | 2 files
Add a README
20:01
patrickb Probably not ideal, but not really bad either. It's not like the path we give in the usage info is typically automatically executed... 20:02
I vote for acceptable and will go fo it.
[Coke] so blin is ignoring "Test" as a dependency but is not ignoring "Test:ver<6.c+>" 20:04
I don't remember it complaining before the rea skip 20:05
lizmat perhaps because there's a Test in the REA ? 20:06
Geth demo-repository/add-badges-to-readme: 403938d2d8 | (Elizabeth Mattijsen)++ | README.md
Add workflow badges to README
20:11
lizmat
.oO( stupid Github )
[Coke] Is there? shouldn't I see it in github.com/Raku/REA/tree/main/archive/T ?
[Coke] is shocked to find he was still posting grants stuff in 2020? 20:13
lizmat ecosystems > identities Test
shows no Test module indeed
[Coke] yah, if I revert the rea skip, Sanity, which complained when skipping REA, doesn't complain. 20:17
weird.
Geth .github/main: 598250d9fd | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | README.md
Initial commit
20:18
[Coke] we need a thought about what happens if we get a CVE in a release. 20:30
with zef info Test:ver<6.c+>, it's in rakudo:ver<2025.05>:auth<Yet Another Society>, which is - Recommended By: Zef::Repository::Ecosystems<rea> 20:31
ugexe: how does rea recommend rakudo? 20:32
(or anyone, I just figured you might know off the top. :)
lizmat [Coke]: that's just "recommendation manager" speak
it's the entity that converts an identity into a repo to use 20:33
in this case the Zef::Repository::Ecosystems module is that entity
[Coke] ok, but it explicitly says <rea> 20:34
(so if I'm skipping rea, presumably we lose that recommendation, and then Test isn't found?)
lizmat eh, I guess the recommendation manager for fez gave no answer
Geth L10N/main: e8e5e8c4d5 | (Elizabeth Mattijsen)++ | 4 files
0.1.3
20:36
ugexe yeah im not sure where the hell rakudo is coming from via that 20:38
zef look Test goes to /private/var/folders/cw/bq4j08yx3wq5b3dvz_s4ygb80000gn/T/.zef.1751142976.15879/rakudo-2025.05.tar.gz/rakudo-2025.05/t/packages/Test-Helpers 20:39
[Coke] ===> Searching for: Test:ver<6.c+>
===> Shelling into directory: /var/folders/8n/rypl9_990b9578zd5435pgr40000gn/T/.zef.1751143171.3971/rakudo-2025.05.tar.gz/rakudo-2025.05/t/packages/Test-Helpers
(same) 20:40
Geth .github/main: dde22b0b6a | (Elizabeth Mattijsen)++ | README.md
Initial version of a real readme
[Coke] in blin, I'm trying to skip REA so we're not making sure old stuff is compiling on HEAD.
ugexe yeah rea has it 20:41
Geth .github/main: e80562fdd2 | (Elizabeth Mattijsen)++ | 2 files
Move README to right position
ugexe gist.github.com/ugexe/9a0c0bd1a757...0e39c06767 20:43
rea has that in its meta list it provides zef
patrickb I have two fixes ready. Now testing them. 20:44
[Coke] ugexe: is "test is in rakudo" something that all the ecosystems should recommend? 20:49
ugexe ecosystems recommend what they contain 20:50
then zef takes those recommendations and figures out what to do
[Coke] ok, but the ecosystems don't contain rakudo, do they? 20:51
ugexe REA has what i linked to previously 20:52
which i don't think it should the way it is fwiw 20:53
but ideally the core distributions would also be released in the ecosystems
so that you can have a truly reproducible set of dependencies
like we'd want to have github.com/rakudo/rakudo/pull/5756 and then release them to an ecosystem with each release of rakudo 20:54
[Coke] so rea is pointing to test-helpers to provide test... but where in REA is that?
ugexe i dunno 20:55
its in the meta data it provides
the source-url is to rakudo so the tar.gz doesnt exist in the rea repo i imagine
[Coke] ok, so where is the info coming from? I'm confused.
ugexe github.com/Raku/REA/blob/main/META.json is the index 20:56
the file is downloaded from whatever source-url is
[Coke] how did 'zef info' figure out to get that tarball, I mean.
ugexe because it is in that META.json i just linked
i have no idea how zef managed to get to t/packages/Test-Helpers after extracting rakudo.tar.gz, but that is a separate issue 20:57
i imagine it just looks for the nearest META6.json file and assume that is the root
[Coke] (ok, digging through that json...)
ugexe search for `"Test":` 20:58
[Coke] ugexe++ # afk for a bit
ugexe another issue is that :ver<6.c+> doesn't mean or do what users probably think it does 21:00
since the versions that get set for that core distribution was changed from 6.* to like 2025.02.342.gf.3.ae.9.c.3876 21:02
Geth rakudo: patrickbkr++ created pull request #5920:
Script wrapper fixes
21:07
patrickb The above contains fixes for both issues. 21:09
jdv: The 2025.06 release has an issue, where it's impossible to install dists that contain executables in relocatable rakudo installations. The fix is in the above PR (to be merged soon). I fear we need a point release. Sorry for that! 21:10
lizmat: I'd welcome a quick review of the USAGE related commit: github.com/rakudo/rakudo/pull/5920...7f8a211bdb 21:12
\q
ugexe what is the script doesn't end in .raku? 21:21
ah that is always being generated now? 21:22
patrickb Yes 21:24
21:40 guifa joined 21:54 guifa left 21:58 guifa joined 22:53 guifa left