Tom Tromey on the Future of Emacs

During FOSDEM ’20 Tom Tromey gave a very interesting talk on what he believes the future of Emacs will be. Others, such as Perry Metzger, have also addressed this question. Almost always, one of the suggestions that come out of these talks is the idea of rewriting Emacs in some other language. Sometimes, as with Metzger’s talk, the idea is to replace the C code with some other, safer language such as Rust. Other times the idea is to replace Emacs Lisp with something else such as Guile, Common Lisp, or even—shudder—JavaScript.

Tromey’s idea seems radical but is actually the conservative approach. His idea is to replace the C core of Emacs with … Elisp. Everyone loves to hate on Elisp but Tromey likes it and believes that it’s just the right solution for Emacs. I’ll let you listen to his talk to hear his justification for that but he makes a convincing argument that doing so will solve a lot of problems. For example, implementing threads is tremendously difficult because of race conditions hidden in the C code. If everything were written in Elisp and compiled with a compiler that understood threading, this could be handled more or less trivially.

Tromey’s idea is that while there would be no C code in the core it would still exist in libraries that do things like display PNGs. All that would be handled through a foreign function interface and be isolated from the core functionality. The idea is not to just move the current C code into a library.

The talk is 19 minutes so it shouldn’t be too hard to fit it in. One problem I had was, I guess, limited bandwidth from the server. The talk kept stopping for a second or two giving it a stuttering effect. Perhaps everyone else was trying to listen at the same time I was so you might do better but be warned.

This entry was posted in General and tagged . Bookmark the permalink.