3 ms·
As measured by what? Clojure is pretty popular, as is Racket in other circles. Common Lisp is robust, standardized, and "decentralized" with both free and comme
by reikonomusha 3y ago
As measured by what? Clojure is pretty popular, as is Racket in other circles. Common Lisp is robust, standardized, and "decentralized" with both free and commercial implementations. It and Python power a few quantum computing technologies.
- opan 3y agoIn addition to this, Guile is big in the GNU space, used for Guix and other things.
- nequo 3y agoThere was also sustained effort over the past two decades to move Emacs from Elisp to Guile but that has stalled: https://emacsninja.com/posts/state-of-emacs-lisp-on-guile.html https://emacsninja.com/posts/state-of-emacs-lisp-on-guile.ht...
- User23 3y agoAnd now thanks to the JIT patch elisp outperforms Guile considerably. Emacs dev is very much motivated by pragmatism, jokes about Emacs being a tool created to write Emacs config notwithstanding.
- gjvc 3y agoI think of emacs as a lisp machine with an editor attached.
- davexunit 3y agoYou sure about that? Guile also has a JIT compiler these days and I don't know of any benchmarks comparing the two in a meaningful way.
- anthk 3y agoNo, Guile got a JIT too and elisp is not that fast. I mean, I'm sure I could write a fast enough GB emulator with Guile. Not with Elisp, even with the XCB or XLIB bindings for Elisp/Emacs.
- skissane 3y agoMy impression is that part of the problem is that Emacs Lisp is a large language (lots of data types and functions implemented in C) and one without any formal specification, which makes duplicating it correctly in another system very difficult. By contrast, Scheme is a smaller language and has a reasonably clear spec. Which makes me wonder – instead of trying to port GNU Emacs to run on top of Scheme, might it be easier to produce a Scheme implementation that ran on top of Emacs Lisp? Possibly Emacs Lisp is missing some of the primitives required to implement Scheme efficiently, but the amount of code required to add those primitives will likely turn out to be less than that required to reimplement the whole of GNU Emacs in Scheme – and adding those new primitives may make Emacs Lisp a better language, thus benefitting even those users who aren't interested in Scheme in itself.
- davexunit 3y agoGuile has a generic VM and extensible compiler tower, so a bug for bug port of elisp was proving to be an effective method. Unfortunately, the project did not interest the Emacs devs so there just wasn't the buy-in necessary to work through the finer details and make it happen for real. You can open a Guile REPL today and switch the language from Scheme to Elisp and hack away. What makes the whole thing so appealing is that the Elisp compiler simply lowers the code to Guile's "tree intermediate language" (Tree-IL) and gets a free ride the rest of the way through optimization and bytecode emission. The biggest impact Elisp support had on core Guile was that a new immediate type had to be added to represent 'nil'. Soon it won't even be much of a stretch to compile Elisp to WebAssembly (would be funny!) once that backend is ready for Scheme. Guile is undervalued as a platform for language implementation and Emacs missed out on a cool opportunity.
- packetlost 3y agoI'm a user of one of those QC technologies (ARTIQ), but what's the CL one?
- remexre 3y agohttps://github.com/quil-lang/quilc https://github.com/quil-lang/quilc
- packetlost 3y agoDidn't realize Rigetti was a CL shop. That's cool!
- reikonomusha 3y agoAt least HRL Laboratories, Rigetti Computing, and D-Wave all use/deploy Common Lisp.