Get the latest tech news

Extending Emacs with Fennel (2024)


After watching this year’s EmacsConf and seeing Guile Emacs being resurrected I thought to myself - why limit ourselves to Guile? Sure, Guile isn’t just a Scheme implementation, thanks to its compiler-tower-based design. Other languages exist for Guile VM, such as Emacs Lisp, and Guile manual lists the following languages with various stages of completeness:

I took some creative liberties and made it so Fennel hash tables are represented as association lists in Emacs Lisp. Since this package uses the Fennel Proto REPL, which is a custom protocol that can be extended at runtime, we can create a set of functions that will allow us to call back to Elisp. Guile Emacs, if it ever becomes the thing, will be more powerful, as we would be able to leverage all these different languages in the same process, possibly sharing the memory, calling functions interchangeably, etc.

Get the Android app

Or read this on Hacker News

Read more on:

Photo of emacs

emacs

Photo of Fennel

Fennel

Related news:

News photo

JOVE – Jonathan’s Own Version of Emacs

News photo

Jove (Jonathan's Own Version of Emacs)

News photo

Vrs: Personal Software Runtime inspired by Emacs, Plan 9, Erlang, Hypermedia