🦋 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
|