🦋 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.
Geth rakudo/main: 20 commits pushed by (Patrick Böker)++
review: github.com/rakudo/rakudo/compare/e...ec504528fb
04:15
patrickb I've just merged the new-script-wrapper PR. Should anyone notice any breakage in relation to our script executables, do ping me. 04:18
japhb For some reason I read that as 'in retaliation to' and had images of programs breaking just because they were annoyed at us. 04:23
patrickb :-P 05:59
lizmat m: use v6.c; "use v6.d; say Raku.version".EVAL # should this fall, or should this DTRT ? 07:06
camelia v6.c
nine > RAKUDO_RAKUAST=1 ./rakudo-m -e 'use v6.c; "use v6.d; say Raku.version".EVAL' 07:22
v6.d
lizmat heh 07:38
> RAKUDO_RAKUAST=1 raku -e 'use v6.c; "use v6.*; say nano".EVAL' 07:39
This element has not been resolved. Type: RakuAST::Term::Named 07:40
vs:
> raku -e 'use v6.c; "use v6.*; say nano".EVAL'
===SORRY!=== Error while compiling /Users/liz/Github/rakudo/EVAL_0
Undeclared routine:
nano used at line 1
so it looks to me it *says* it's using the right language version, but in fact it isn't 07:41
m: use v6.*; say nano
camelia 1749973275206038436
nine We seem to be switching the compiler to that language version, but in general we don't load settings for EVAL 07:43
That would be quite hard since there can only be one outer scope and that's already taken by, well the EVAL's actual outer scope 07:44
lizmat right, so it feels to me that an EVAL with a higher language version should fail
instead of silently doing the wrong thing 07:45
nine yes 07:46
lizmat ok :-) 08:04
08:27 [Tux] left 08:30 [Tux] joined
lizmat patrickb: t/spec/S11-repository/cur-candidates.t fails for me with: 08:36
Failed to open file ...rakudo/install/share/perl6/templates/posix-runner-tmpl: No such file or directory 08:37
in block at t/spec/S11-repository/cur-candidates.t line 185
Geth L10N/main: d748054060 | (Elizabeth Mattijsen)++ | 7 files
Add missing translations

As mentioned in #1, translation (stubs) for temp, True, False, Less, Same, More were missing. These are now added.
10:15
L10N/main: 9382896024 | (Elizabeth Mattijsen)++ | 2 files
Add references to newly added translation (stubs)

core-temp, True, False, Less, Same, More
10:24
lizmat m: Q|my role A { }|.AST.EVAL.new # meh 11:17
camelia Could not instantiate role 'A'; exception details:

Unknown compilation input 'qast'
in any IMPL-COMPILE-DYNAMICALLY at src/Raku/ast/code.rakumod line 410
in any at src/Raku/ast/code.rakumod line 148
in sub at src/Rak…
nine It works with RAKUDO_RAKUAST=1 though 11:19
lizmat ah, intriguing 11:21
I just realized that our L10N support has bitrotted, as did the tests in t/12-rakuast/role.rakutest :-( 11:22
Geth rakudo/main: e5f14526e3 | (Elizabeth Mattijsen)++ | t/12-rakuast/role.rakutest
RakuAST: just skip the synthetic AST tests

It appears that the other tests all run fine, so instead of skipping all 6 tests completely, just skip the synthetic role AST tests for now.
11:29
lizmat hmmm... looking at RakuAST::LexicalFixup... 11:37
11:54 socrates1298 joined 11:56 socrates1298 left
nine I was gonna say packaging rakudo has become almost painless thanks to ChatGPT condensing the changelogs for me but 14:50
[ 148s] cp: cannot stat 'tools/install-dist.p6': No such file or directory
The commit message removing that script only says "- it hasn't been changed functionally since 2018 14:52
", so ok, maybe it just hasn't needed changes because it's just doing what it's supposed to? 14:53
And "- it is obsolete" without any information on what else to do
lizmat install-dist.raku ? 16:14
ugexe i don't think they are asking what else to do. they are commenting that someone who wouldn't know what to do would have to spend time figuring it out. and i guess even i this case even if you know what else to do there was time spent digging to figure out what/why 16:29
install-dist.p6 could theoretically have emitted a message and/or called install-dist.raku directly 16:30
nine I am actually asking. Does install-dist.raku do *exactly* the same as install-dist.p6? I.e. can I just switch over? 16:31
lizmat yes 16:32
initially it was just a rename, because I thought it was only used internally
then it appeared that some toolchain used the .p6 version 16:33
so it was reinstated
more than 6 later it was assumed nobody would use the .p6 version anymore and considered dead code 16:34
that's my recollection
nine Why would anyone stop using a perfectly working script?
ugexe to be fair im not sure it is clear what guarantee we have around stuff in tools/ 16:42
lizmat "initially it was just a rename, because I thought it was only used internally"
exactly
ugexe we shouldn't have stuff like tools/rakudo-swarm.config (wat?) next to stuff that we expect to be used outside of rakudo itself 16:46
ab5tract A swarm of butterflies 🦋 16:50
lizmat nine: looking at the RoleBody logic: wouldn't it have made more sense to create a special type of Blockoid for role bodies ? 17:02
nine Hm....why? 17:04
lizmat because now we have a Blockoid that gets extra stuff added (such as RakuAST::Role::ResolveInstantiations and nqp::list at the end) 17:08
whereas with a subtype of Blockoid we could have hidden that in the subtype? 17:09
nine Which is then something the parser would have to know about as well as anyone else who's constructing an AST 17:11
lizmat fwiw, I'm trying to get synthetic building of a role working again
well, now people constructing an AST need to at least know about RoleBody, and possible something else that is missing atm 17:12
nine Which is already bad enough but hopefully not totally surprising. Arguably it's a bit less surprising than having to supply a RakuAST::Sub for the role's body :) 17:14
lizmat it's really maddening, as deparsing the synthetic AST and .EVALling that, just works :-( 17:45
nine It's all about timing 17:46
Or to be more prcise the sequence in which things are constructed, initialized and have their BEGIN handlers called
lizmat still, it feels that there are things happening in the grammar / actions that should happen in the RakuAST classes ? 17:53
nine Any examples? 18:01
lizmat the whole handling of roles: synthetically built AST of a role deparses ok, and that deparse evals ok, but the AST does *not* eval ok 18:02
nine Any concrete examples of what is happening in grammar / actions but should be in RakuAST classes? 18:03
lizmat gist.github.com/lizmat/de06c440bee...e02c71b075 18:08
nine That was clear already. I'm asking what code is in grammar / actions that should be somewhere else? 18:09
lizmat aahh.. well, *that* I haven't figured out yet
I mean: how is the role body different from a sub, apart from that it return value is added ? 18:10
*a 18:11
nine I would have thought that the code for RakuAST::RoleBody would give that answer 18:12
I mean given the way inheritance works, it's literally a list of differences to RakuAST::Sub :) 18:14
lizmat will get back to it tomorrow 18:17
&
nine I mean given the way inheritance works, it's literally a list of differences to RakuAST::Sub :) 19:13
22:57 kjp left