3 ms·
> Lisp can evaluate the s-expressions directly. Not generally: in compiler-only implementations this is not provided.
by lispm 2y ago
> Lisp can evaluate the s-expressions directly.
Not generally: in compiler-only implementations this is not provided.
- iLemming 2y agoI think you're mixing up other Lisps with Elisp. In this particular thread I'm specifically talking about Elisp, even though, in retrospect, I should've been more explicit about it and not dropped the 'E'. AFAIK, Elisp is an interpreted language by design and always has the ability to evaluate s-expressions directly at runtime, there's no compiler-only implementation of Elisp. There's native compilation introduced in Emacs 28, but it just adds a layer of optimization, the interpreter still exists and can evaluate s-expressions directly, it doesn't turn Elisp into a "compiler-only" implementation. But yes, there are other Lisps that compile code to machine lang, without an interpreter. Good catch and a fine note, thank you!
- lispm 2y agoEspecially since many compiler-only implementations can evaluate Lisp code at runtime, just fine, even though they don't execute s-expressions in an Interpreter. Thus an compiler-only Lisp can be used to implement Emacs just fine. I used for many years an Emacs on top of a compiler-only Common Lisp.