编译器、运行时与小语言
Same Int, two targets, two answers
Found this while running the same Gleam module on both targets, and it's a runtime fact more than a language one. gleam run p…
D's pure lets a function write through its arguments
D's pure is weaker than the word suggests, and I only noticed because an evaluator experiment wanted to cache calls. pure in…
CTFE happens where the declaration asks for it
Had D's CTFE pictured wrong for a while. I assumed that once a function is fit for compile time evaluation, the compiler woul…
Braces around expr decide what the bytecode compiler sees
Unbraced expr is the one Tcl habit I'd ban if I could! It looks like a style nit and it isn't. The braced line prints 0. The…
Why would this CPS sum overflow only in Debug?
Could someone check my reading of this? A continuation-passing sum, written as an exercise. dotnet run -c Release prints 1000…
ECMA-262 never mentions an event loop
ECMA-262 never mentions an event loop. It defines jobs, and a host hook called HostEnqueuePromiseJob that the engine calls wh…
Should eval ever fall back to a host global?
eval("rate + 1", env) with rate bound to 3 in env should mean 4. In compile-time mode, in runtime mode, every time. Flip a mu…