Extending Emacs with Fennel (2024)

85 Bogdanp 13 7/23/2025, 5:54:21 AM andreyor.st ↗

Comments (13)

adastra22 · 2h ago
TIL you can configure Emacs with Brainfuck. This is so appropriate and I can’t think of a better language to use.
tmountain · 3h ago
Fennel absolutely rocks for creating games. It integrates with TIC-80 (open source fantasy console) and also Love (game engine) and PICO-8. Lots of blog articles on getting started. Check it out!
jhoechtl · 5h ago
What makes a modern Lisp? I am aware of Fennel and Jannet. Anyone havng experience with one of those or another one I am not aware of?
tmtvl · 3h ago
Common Lisp, which I would consider the most modern, has convenience features which most other languages (even other Lisps) lack. CLOS, macro expansion, and, of course, the condition system.
terminalbraid · 24s ago
Which lisps lack a macro expansion system?
radiator · 2h ago
Janet (with one l) is modern because it is, well, new. It doesn't need to carry the historical baggage of Common Lisp. It has many data structures, a concurrency model, it is suitable for functional programming and for object-oriented programming. It has libraries for common tasks and is well documented.
ritenuto · 1h ago
> Janet (with one l)

Typo, it should be: “with one n” (as the earlier commenter wrote “Jannet”). It took me a while to parse this, I was searching for the nonexistent “l” embarrassingly long.

xlii · 4h ago
Having experience with many IMO it's all about value added. There might be concurrency, message passing (Janet) od global scope isolation (Fennel). Personally I had difficulty getting into Fennel, but no problems incorporating Janet into my flow even though the author is the same. I'm not a fan of hygienic macros though.

I would add Clojure to the modern Lisps, too, which I find the most feature rich (even though had much more blast writing Janet).

TacticalCoder · 3h ago
> I would add Clojure to the modern Lisps, too, which I find the most feature rich (even though had much more blast writing Janet).

Yup. Clojure may not be the most lispy Lisp but it reaches: it works on top of the JVM (with super easy Java interop), it transpiles to JavaScript and I also use it to write script using Babashka (GraalVM/AOT native Clojure interpreter which starts in milliseconds, avoiding JVM startup time [notoriously slow for regular Clojure programs]).

Being able to share code between Clojure and ClojureScript is really sweet.

Clojure(Script) / Emacs (CIDER) / eglot (LSP client for Emacs): life is good!

neutronicus · 3m ago
I know the homoiconicity purists hate the additional braces in Clojure, but I consider the literal vectors and hash tables a pretty big win over `#()` and the mess that is dealing with hash tables in CL.
campak · 46m ago
came thinking somehow fennel the seed extended Emacs
psychoslave · 4h ago
Sorry, but what is Fennel?
Lyngbakr · 3h ago
Fennel[0] is a Lisp-like language that transpiles to Lua. It was originally developed by Calvin Rose (author of Janet[1]), but is now maintained by Phil Hagelberg (author of Leiningen[2]).

[0]https://fennel-lang.org

[1]https://janet-lang.org/

[2]https://codeberg.org/leiningen/leiningen