Comment by oblio

5 months ago

Next up, the end goal: Emacs Lisp.

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