On 15/05/2016 8:29 PM, Martin Nowak wrote:
No need for a byte-code interpreter, it mostly just adds overhead and complexity over an AST interpreter. If you want to go really fast you need some sort of JIT anyhow, but a proper interpreter will be orders of mangnitude faster than the current implementation.
The biggest advantage of bytecode is not the interpreter speed, it's that by lowering you can substitute VarExps etc with actual references to memory without modifying the AST.
By working with something lower level than the AST, you should end up with something much less complex and with fewer special cases.
The current goal is not a full JIT, just something that manages memory in a less insane way.