Why Fennel?
Fennel in real use (Neovim, games, Lua embedding)
- Several commenters enjoy Fennel for Neovim configs and plugins, praising pattern matching, structural decomposition, and macro power.
- Others reverted their configs back to Lua, arguing Fennel adds complexity without enough benefit for simple configuration, especially given weaker tooling.
- Fennel is seen as a good fit where Lua is already embedded: Love2D, Pico‑8/TIC‑80, and Lua-embeddable systems (e.g., servers with Lua scripting). Some highlight hot-reload workflows with Neovim + Conjure.
- There’s interest in stronger typing or gradual typing for Fennel; one runtime-typed extension exists, but nothing mature for static checking yet.
Tooling, LSPs, and adoption
- A recurring theme: niche languages often lack mature tooling (especially LSPs), which hinders broader adoption.
- For Fennel, existing language servers are described as weaker than the mainstream Lua LSP and “Fennel-only,” making mixed Lua/Fennel projects awkward.
- Some argue that for many niche languages, domain-focused tooling or REPL workflows matter more than LSPs.
Lua-targeting alternatives and related languages
- Janet is mentioned frequently: liked for small personal projects and embedding, but criticized for choices like no persistent data structures and unhygienic macros without namespaces.
- Other Lua-layer languages: MoonScript, YueScript, and ML-on-Lua projects (e.g., LunarML) are suggested for people who want different syntaxes or type systems over Lua.
Lisps: appeal vs skepticism
- Non-fans find Lisp syntax visually noisy and “paren-heavy,” preferring C-like languages and richer parsers to serve the user.
- Lisp fans counter that symbol counts are comparable or lower than C-like code; the real advantages cited are:
- Homoiconicity and macros (easy code generation and DSLs).
- REPL-centric, incremental development against a running system.
- Structural editing (paredit-style) that manipulates code as trees, not text.
- Uniform syntax making data and code share the same representation.
- Multiple explanations and learning resources (SICP, HtDP, etc.) are suggested for understanding Lisp’s appeal.
Editors and “too much freedom”
- A large subthread debates Emacs vs Neovim:
- Some find Emacs overly fragile and time-consuming to configure, with plugin breakage and noise; they prefer Neovim’s faster, plugin-manager-centric model.
- Others emphasize Emacs as “a Lisp REPL with a built-in editor,” capable of far more than editing code, and see its extensibility as a major strength rather than a liability.
Fennel’s positioning and design
- Commenters note the main site’s one-line elevator pitch (Lisp syntax + Lua’s simplicity/speed/reach) should appear on the “rationale” page for clarity.
- One critique: Fennel claims to make “different things look different” (e.g., splitting
for/each), yet function calls and macros look identical, potentially undermining that goal, especially with powerful or scope-altering macros.
Miscellaneous
- Discussion touches on how easy it is today to build new languages (interpreters, transpilers), with references to small domain-specific languages and books on implementing languages.
- Light jokes appear about fennel (the spice), language naming trends, and “keeping other Lisps to oneself.”