Hasty Briefsbeta

Bilingual

Common Lisp Development Tooling

4 hours ago
  • #Common Lisp
  • #Development Tools
  • #Programming
  • Common Lisp development environments are complex and layered, designed to manage dependencies and interactive development.
  • The development stack includes six layers: Machine, Compiler/Runtime (e.g., SBCL), Build System (ASDF), Package Repository (Quicklisp), Per-Project Isolation (optional, e.g., Qlot), and Editor (e.g., Emacs with SLIME).
  • Common Lisp's interactive development model allows live introspection, redefinition of functions, and debugging without restarting the process.
  • Quicklisp is the central package repository for Common Lisp, providing curated monthly releases of libraries.
  • Per-project isolation tools like Qlot help manage dependencies for individual projects, though many developers use global Quicklisp setups.
  • The Swank wire protocol enables real-time communication between the editor and the running Lisp process, facilitating interactive development.
  • Editor choices are crucial in Common Lisp, with Emacs + SLIME/SLY being the most mature and feature-rich option.
  • Alternative editors include Vim/Neovim with Vlime, VSCode with Alive, and Lem, a Lisp-native editor.
  • Roswell is a tool that simplifies Common Lisp development by managing implementations, Quicklisp, and other tools in a unified way.
  • Docker can provide a quick-start environment but lacks the flexibility and understanding of a local setup.