3 ms·
Apple even locked down the M1 and M2 machines so that user programs cannot normally produce object code and then jump to it. (IOW the compiler is active at runt
by dreamcompiler 4y ago
Apple even locked down the M1 and M2 machines so that user programs cannot normally produce object code and then jump to it. (IOW the compiler is active at runtime.) Lisp programmers who use Lisp compilers just call this behavior 'Lisp' but everybody else calls it 'JIT' because the only time it comes up in other languages is in interpreters that optimize at runtime.
Fortunately Apple carved out an exception for runtime object code on Apple silicon to allow optimizing interpreters to work, and they call it 'JIT.' Because of this loophole it's still possible to run Lisp compilers on MacOS on Apple silicon.
Apple never allowed the JIT loophole on IOS, which is why it's not possible to run a full Lisp compiler on IOS. You can run programs created with Lisp but you can't use any Lisp features that depend on the runtime compiler, so the language feels somewhat crippled.