TIL you can configure Emacs with Brainfuck. This is so appropriate and I can’t think of a better language to use.
rayiner · 3m ago
[delayed]
tmountain · 4h 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.
setopt · 15m ago
Do you consider Common Lisp more "modern" than say Scheme or Racket?
As far as I know, the CL spec hasn’t been updated for 30+ years, and most of its design is far older.
terminalbraid · 23m ago
Which lisps lack a macro expansion system?
tmtvl · 10m ago
R7RS (small, at least) doesn't seem to have macro-expand. R6RS also doesn't appear to have it.
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 · 4h 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 · 26m 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 · 1h ago
came thinking somehow fennel the seed extended Emacs
psychoslave · 4h ago
Sorry, but what is Fennel?
Lyngbakr · 4h 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]).
As far as I know, the CL spec hasn’t been updated for 30+ years, and most of its design is far older.
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.
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!
[0]https://fennel-lang.org
[1]https://janet-lang.org/
[2]https://codeberg.org/leiningen/leiningen