🦋 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. |
|||
01:11
kjp left
01:13
kjp joined
01:14
kjp left,
kjp joined
08:24
MasterDuke left
|
|||
Geth | rakudo/main: a04a819905 | (Stefan Seifert)++ | 4 files RakuAST: support trait_mod:<will> Fixes: my $begin; my $b will begin { $begin ~= "b" }; say $begin |
08:47 | |
rakudo/main: 56a80347be | (Stefan Seifert)++ | 2 files RakuAST: remove obsolete IMPL-CHECK call from IMPL-BEGIN-TIME-EVALUATE Before the rakuast-phase-cleanup branch, IMPL-CHECK was also responsible for running BEGIN time. It no longer is, so there's no point to enforcing CHECK time before we make BEGIN time calls. |
|||
rakudo/main: ce311700dd | (Stefan Seifert)++ | src/Raku/ast/statementprefixes.rakumod RakuAST: fix CHECK phasers with expressions instead of blocks CHECK takes a blorst, i.e. a block or statement. BEGIN time evaluation can either run a code object or an expression, but not statements. Thunk all expressions before evaluating to get around this. Fixes my $f; CHECK $f ~= 1 |
08:48 | ||
10:41
dawids joined
11:41
dawids left
|
|||
Geth | rakudo/main: 4397c0e245 | (Elizabeth Mattijsen)++ | src/core.c/RakuAST/Deparse.rakumod RakuAST: some small deparsing/highlighting fixes |
12:36 | |
lizmat | heh, while looking at some threading issues, I think I found one of the reasons why precomp on RakuAST is a mess | 12:46 | |
my constant $compilation-id = nqp::box_s( | |||
nqp::sha1($*W.handle.Str ~ nqp::atkey($config,'source-digest')),Str | |||
); | |||
or at least, will need to be fixed to make RakuAST core | |||
Geth | rakudo/main: 9f34623f81 | (Elizabeth Mattijsen)++ | src/Raku/Grammar.nqp RakuAST: remove active mention to $*W |
13:11 | |
13:48
donaldh joined
|
|||
nine | Looks like we're not running out of low hanging fruit at all :) | 13:51 | |
lizmat: I already got a commit dealing with $*W in Variable.rakumod | 14:04 | ||
lizmat | cool! | ||
Geth | rakudo: patrickbkr++ created pull request #5624: Add a test for intepolating variables into grammars |
14:33 | |
rakudo/main: cd67429898 | (Stefan Seifert)++ | 5 files RakuAST: fix adding phasers through will trait The will trait tries to add phasers either to the current block or to the compunit. It needs to access those even in a RakuAST based compiler. |
14:38 | ||
nine | With this we're at 1126 | 14:42 | |
Geth | rakudo/main: 06e1fe6cea | (Stefan Seifert)++ | src/Raku/ast/compunit.rakumod RakuAST: fix CHECK phasers added through will trait accidentally getting added as END phasers |
15:21 | |
rakudo/main: f61870cfee | (Stefan Seifert)++ | 2 files RakuAST: ensure CHECK phasers are run in reverse order of declaration Ironically, this means that StatementPrefix::Check is no longer CheckTime, but instead has to be BeginTime to add the phaser to the compunit's queue. |
|||
nine | And this makes it 1129 | ||
Geth | rakudo/main: 4 commits pushed by (Stefan Seifert)++ | 16:41 | |
nine | Surprisingly this brings us up to 1131 | ||
17:01
sena_kun joined
|
|||
Geth | rakudo/main: fab0ae21e9 | (Patrick Böker)++ (committed using GitHub Web editor) | t/12-rakuast/xx-fixed-in-rakuast.rakutest Assorted grammar tests Pass with RakuAST, fail with the legacy compiler. |
17:21 | |
rakudo/main: 43d2b0fb49 | (Stefan Seifert)++ | src/core.c/Exception.rakumod Support will complain on X::Syntax::Number::LiteralType |
18:37 | ||
rakudo/main: 0be319b8db | (Stefan Seifert)++ | 2 files RakuAST: ensure will complain blocks get code-gened |
|||
nine | I guess there's always room for one more: 1132 | ||
Geth | rakudo/main: 4d35f1e3e9 | (Stefan Seifert)++ | 2 files RakuAST: support ~ regex metachar Fixes regex { '(' ~ ')' a* } |
20:36 | |
rakudo/main: 70059eb1a4 | (Stefan Seifert)++ | 3 files RakuaST: support proto token |
|||
nine | 1134 | 20:37 | |
I thought maybe proto token was a simple fix, but that just opened the door to a whole load of regex issues. And the commit I pushed is just the proto side. Still need to actually support the multis attached to it. | 20:38 | ||
ugexe | m: Nil.asldkjfalskjdf | 20:43 | |
camelia | ( no output ) | ||
ugexe | why? | ||
lizmat | m: say Nil.bhkjhkghk | ||
camelia | Nil | ||
lizmat | the idea being that anything called on Nil will produce Nil | 20:44 | |
ugexe | im having trouble thinking of a situation where one would want this behavior | 20:45 | |
lizmat | from S02-bits: | 21:01 | |
"Any undefined method call | |||
on C<Nil> returns C<Nil>, so that C<Nil> propagates down method call chains. | |||
Likewise any subscripting operation on C<Nil> returns C<Nil>." | |||
[Coke] | You can't fool me, it's Nils all the way down. | 21:06 | |
ugexe | ok, but im trying to thikn of a time where i've written code and would have wanted that behavior. maybe i'm overlooking something | 21:15 | |
[Coke] | fail as late as possible. | 22:12 | |
check for Nil in the last step of the calc so you don't have to do it after each step. Yah, I don't write that way either. | |||
22:30
sena_kun left
|