2 ms·
C doesn't make for an optimal backend, due to issues like: - no proper tail calls - no way to cheaply check if arithmetic has overflowed, so performant arbitr
by the_why_of_y 12y ago
C doesn't make for an optimal backend, due to issues like:
- no proper tail calls
- no way to cheaply check if arithmetic has overflowed, so performant arbitrary-precision integers are hard to implement
- hard to find GC roots on C stack
C-- is a better portable assembly language that was designed for such purposes.
http://www.cminusminus.org/ http://www.cminusminus.org/
Unfortunately it looks like it hasn't found wider adoption (except for GHC), similar to MLRISC.