🦋 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:34
[Coke] left
01:56
[Coke] joined
08:31
sena_kun joined
|
|||
nine | It occurs to me that we really don't have a good story for pragmas in RakuAST yet. Most just call $*LANG.set_pragma which is fine for pragmas that only influence parsing and AST generation. It's definitely no good for pragmas like fatalize. | 08:49 | |
Geth | rakudo/main: bfdbf1cfa3 | (Stefan Seifert)++ | 6 files RakuAST: no need to traverse the whole AST for BEGIN time Each node should already get a chance to run BEGIN time effects when it gets added to the AST. IMPL-BEGIN is a very blunt tool that hides places where we miss to-begin-time calls. It is however only meant to be used for synthetic ASTs. |
14:54 | |
nine | Turns out, actually understanding the design really helps with applying it correctly :) Anyway, this change speeds up compilation a bit more and saves a few % of compilation time. RakuAST should now be a little bit faster than the old frontend, even with optimizer disabled. | 14:55 | |
Looks like I successfully procrastinated on implementing use fatal; today | |||
16:43
japhb_ joined
16:47
japhb left,
timo left
16:48
timo joined
|
|||
nine | m: dd (defined 1 div 0) | 17:37 | |
camelia | Bool::False | ||
nine | m: dd ((1 div 0).defined) | ||
camelia | Bool::False | ||
nine | m: use fatal; dd (defined 1 div 0) | 17:38 | |
camelia | Bool::False | ||
nine | m: use fatal; dd ((1 div 0).defined) | ||
camelia | Attempt to divide 1 by zero using div in block <unit> at <tmp> line 1 |
||
nine | m: use fatal; dd ((1 div 0).so) | 17:39 | |
camelia | Attempt to divide 1 by zero using div in block <unit> at <tmp> line 1 |
||
nine | Arguably that's a bit too fatal | ||
I wonder if I could piggyback on the sinking infrastructure for fatalizing | 17:47 | ||
OTOH maybe I should just steal the old implementation. Sometimes processing QAST is really the lesser evil. fatalize is just 42 LOC and I guess it's ok to do this ast QAST gen time | 17:55 | ||
21:28
sena_kun left
|
|||
Geth | rakudo/coolroot: 7c3db0041e | (Timo Paulssen)++ | src/vm/moar/ops/perl6_ops.c Use fancy new root macro from moarvm pull request #1828 |
21:46 |