News for hackers. Stuff that matters.
Re:Building Fast Interpreters in Rust by RReverser on Monday March 04, 2019 @08:21PM (#19307332)
> at the end of the day it is still an AST interpreter

In a pretty remote sense, I guess.

> One possibility is that you are passing around the operands to your filters as Rust lexically-closed values instead of using a custom stack for your interpreter, which makes things a bit more "statically typed".

Yes, that and using native dynamic dispatch instead of walking a tree structure with branching are making this technique much closer to template JITs than AST interpretation, with corresponding performance wins.

Re:Building Fast Interpreters in Rust by ufo on Monday March 04, 2019 @10:13PM (#19307811)
The reason I think it is fair to call it an AST interpreter is that there is roughly one function call for each AST node. This isn't necessarily a bad thing though -- AST interpreters are super simple and maintainable (as you have demonstrated) so if you got good performance out of one then it is great!