The Emacs Problem (2005)
sites.google.com
sites.google.com
So, stupid question:
Given that [1] one of the problems of moving Emacs to Common Lisp is that RMS & the FSF wouldn't cooperate
and
[2] the difficulty with this led Lucid to fork Emacs into XEmacs, which is still out there and updated in the SXMacs fork (http://www.sxemacs.org/)
then
[3] How about porting XEmacs or SXEmacs to CL instead?
See https://emacsconf.org/2019/talks/26/ (you can skim through the slides to save time)
People have different ideas but I'd like to emphasize the good work being done on GNU Emacs right now. Also lots of new efforts such as Remacs. But there's no reason to try to rewrite emacs in Common Lisp or GNU Guile or whatever.
Having Emacs be "Lisp all the way down" is my ideal, and the ideal of many other Emacs users.
While rewriting the C portions of Emacs in Rust would be a step forward, because of its non-Lispy nature it would still fall far short of an Emacs fully written in Lisp or Scheme.
Ideally, Emacs would be fully written in and scripted in the same language, and that language would be a Lisp.
In the meantime, people are actually improving elisp, giving us things like the new async options and performance improvements. People like to hate on elisp because of some ugly syntax and some missing stuff that most mainstream programming languages have, but it's uniquely crafted for Emacs stuff and fills that role better than any other language.
SBCL is written in C, a bit assembly and most of the code is written in Common Lisp. For example the compiler which generates native code for various processors is written in Common Lisp. A lot of code can be written from Common Lisp, which calls external OS routines via Foreign Function Calls. Thus there is not much C-based glue code needed.
In GNU Emacs the execution engine running the byte code is written C. The byte code compiler is written in Emacs Lisp.