3 ms·
RPython and Truffle essentially derive language-specific IRs from a specification of an interpreter, with RPython using meta-tracing and Truffle using tradition
by cwzwarich 11y ago
RPython and Truffle essentially derive language-specific IRs from a specification of an interpreter, with RPython using meta-tracing and Truffle using traditional partial evaluation.
RPython's technique also only works for JITs, and neither Swift nor Rust use a JIT in their normal compilation pipeline. Generation of compilers by partial evaluation of an interpreter is interesting, but as far as I know it has never been used in an industrial strength implementation of a language.