Elisp supports static scoping now. Also, native-code compilation. I haven't tried benchmarking it against SBCL, though, and I would be surprised if it approached SBCL's performance.
Oh yes! I was joking that if we were going to port Arc to Emacs Lisp, I would want it to be the classic, dynamically scoped version.
I don't mean that, of course. But there's a reason for the joke. When I did extensive work in Emacs Lisp (before they added lexical scope) I came to appreciate (1) how amazing a domain-specific language it is, for the domain of a programmable text editor—it's really one of the ultimate classics of a domain language; and (2) how everything being dynamically scoped was closely allied with this domain. It made Elisp less useful as a general purpose language (lexical scope is a good thing!) but arguably more useful for making and extending a programmable text editor.
Yes and dynamically scoped.
Elisp supports static scoping now. Also, native-code compilation. I haven't tried benchmarking it against SBCL, though, and I would be surprised if it approached SBCL's performance.
Oh yes! I was joking that if we were going to port Arc to Emacs Lisp, I would want it to be the classic, dynamically scoped version.
I don't mean that, of course. But there's a reason for the joke. When I did extensive work in Emacs Lisp (before they added lexical scope) I came to appreciate (1) how amazing a domain-specific language it is, for the domain of a programmable text editor—it's really one of the ultimate classics of a domain language; and (2) how everything being dynamically scoped was closely allied with this domain. It made Elisp less useful as a general purpose language (lexical scope is a good thing!) but arguably more useful for making and extending a programmable text editor.
1 reply →
yeah that would be a fun thing to do, even though yeah SBCL compiled code will probably be an order of magnitude faster