The Emacsen family, the design of an Emacs and the importance of Lisp (2023)
A new Emacs-like editor called Lem, built in Common Lisp, is drawing interest for its speed, SDL2-based UI, and built-in LSP support, while also raising questions about missing Emacs staples like Org mode, Magit-level git tooling, and the vast extension ecosystem. Commenters debate permissive (MIT) versus copyleft (GPL) licensing in the context of editors, weighing individual versus community freedom and how much licenses can really protect user rights over time. The thread also broadens into the long-running Emacs/Vim vs. VS Code tension, highlighting Emacs’s Lisp-based extensibility and “editor as platform” philosophy as the main reason many users stick with it despite mainstream shifts toward VS Code.
Lem: Common Lisp Emacs-Like Editor
- Lem is highlighted as a Common Lisp–based Emacs-style editor, with links to its site and repo.
- It has both SDL2 (graphical) and ncurses (terminal) UIs; SDL2 is described as “fun” and responsive, with fast startup (≈1s).
- Nix/NixOS users note a flake exists but is lagging behind current Lem versions.
Licensing: GPL vs MIT and Software Freedom
- Some are disappointed Lem isn’t GPL; others question why that should be “sad.”
- One camp sees GPL as preserving community freedom (preventing proprietary enclosure of improvements).
- Another camp prefers permissive licenses (MIT) as maximizing individual freedom, arguing GPL is more restrictive and harder to enforce in practice.
- There’s debate over whether copyleft advocates ultimately want to abolish software copyright, and whether that goal is coherent.
- Practical points: legal enforceability of GPL, corporate risk aversion to copyleft, and concern about “working for corporations for free” with MIT code.
Emacs, Vim, VSCode, and “Editor Wars”
- Some claim Vim and Emacs “lost” to VSCode in popularity; others respond that similar claims were once made about Sublime, Atom, TextMate, etc.
- Several argue Emacs and Vim don’t aim for market dominance and have durable communities.
- One view: going deep on any powerful editor (Emacs or Vim) matters more than chasing each new fad.
Emacs as Platform vs Editor
- Emacs is described as a general platform (PIM, email, IRC, Mastodon client, web scraping, spreadsheets, literate programming, PDF annotation, etc.), not just a code editor.
- VSCode is seen as a strong IDE, especially with LSP, but less malleable: Emacs lets users execute arbitrary Lisp as configuration, live in the running process.
- Some emphasize Emacs’s value for non-programming workflows (org-mode, Magit, task management), even if coding ergonomics lag behind VSCode in some areas.
Lem Features, Gaps, and UX
- Lem has an LSP client, Emacs-style and Vim-style modes, an SDL-based image-capable UI, a directory/filer mode, and a WIP Git interface with staging and rebasing.
- It currently lacks core Emacs “killer apps” like org-mode, Magit’s maturity, and rich ecosystem tools (treemacs, vertico, etc.), which makes migration hard.
- Modal editing exists; leader-key style setups (as in Doom/Spacemacs) are not yet present and seen as a blocker for some.
- One commenter wants stronger built-in graphics/charting; Lem’s SDL capabilities hint at, but don’t yet deliver, this.
Website and Media Delivery
- The EmacsConf website is praised for working well without JavaScript and being lightweight.
- Some users on Apple/Safari struggle with WebM/VP9 playback, leading to discussion about codec support rather than JS.
History and Related Projects
- Clarifications: the original EMACS was an MIT AI Lab project; Gosling Emacs later had a commercial version that influenced GNU Emacs.
- Other Emacs-inspired projects are mentioned: Rune (Rust), Pimacs (Go), Helix/Kakoune-style editors, and the historical Deuce architecture as an underappreciated inspiration source.