3 ms·
The answer is Graal or RPython, which for not very good reasons they "immediately discard".
by noelwelsh 3y ago
The answer is Graal or RPython, which for not very good reasons they "immediately discard".
- noelwelsh 3y agoFollowing up on this, this paper was recently posted to HN: https://stefan-marr.de/downloads/oopsla23-larose-et-al-ast-vs-bytecode-interpreters-in-the-age-of-meta-compilation.pdf https://stefan-marr.de/downloads/oopsla23-larose-et-al-ast-v... It shows performance approximately equal to V8 if you write an interpreter + a few optimizations and feed it to Graal.
- chubot 3y agoJudging by the example of Babashka, Graal apparently does give you a "huge opaque runtime", and also there seem to be severe limitations on loading code. I think it basically has to include all the Clojure code up front, which makes it arguably NOT interactive. RPython and PyPy are great engineering and great projects, but I think RPython has not quite "escaped" into the real of general purpose language implementation - https://www.pypy.org/posts/2018/09/the-first-15-years-of-pypy-3412615975376972020.html https://www.pypy.org/posts/2018/09/the-first-15-years-of-pyp... I think it taught a lot of valuable lessons in this space, but it's not really an answer to the stated problem.