Hasty Briefsbeta

Bilingual

Emacs Is a Lisp Runtime in C, Not an Editor

9 hours ago
  • #lisp
  • #emacs
  • #programming-history
  • Emacs is more than a code editor; it embodies a design philosophy and system software trade-offs.
  • Users often return to Emacs due to its customizable experience and unique tools like OrgMode and Magit.
  • Emacs originated from TECO macros, evolving into a programmable editor with a Lisp interpreter for extensibility.
  • GNU Emacs adopted Emacs Lisp, embedding a Lisp interpreter in C to run on Unix systems.
  • The 'Worse is Better' philosophy explains why C dominated over Lisp in software development.
  • Greenspun's Tenth Rule highlights how complex software often ends up implementing a Lisp-like system.
  • Neovim and VSCode follow a similar pattern by embedding interpreters (LuaJIT and JavaScript/V8) for extensibility.
  • Future exploration includes building a tiny Emacs Lisp interpreter in C with basic elements.