sieve 9 hours ago

Nicely explained. And love the artwork.

I prefer interpreters when playing with the syntax. But once you are serious about taking it further, bytecode is a very good choice because you still maintain control over the execution. Once the code is translated to machine code, you lose that.

Running bytecode on a JIT machine can be quite fast even if you skimp on the optimization passes.