Common Lisp Development Tooling
2 months ago
- #Common Lisp
- #Development Tools
- #Programming
- Common Lisp开发环境具有复杂的层次结构,旨在管理依赖关系和交互式开发。
- 开发栈包含六个层级:机器层、编译器/运行时层(如SBCL)、构建系统层(ASDF)、包仓库层(Quicklisp)、项目隔离层(可选工具如Qlot)以及编辑器层(如带SLIME的Emacs)。
- Common Lisp的交互式开发模型支持实时内省、函数重定义和无需重启进程的调试。
- Quicklisp是Common Lisp的核心包仓库,每月提供精选的库版本发布。
- Qlot等按项目隔离工具可管理单个项目的依赖,但多数开发者仍使用全局Quicklisp配置。
- Swank有线协议实现了编辑器与运行中Lisp进程的实时通信,为交互式开发提供支持。
- 编辑器选择在Common Lisp中至关重要,Emacs+SLIME/SLY是最成熟且功能全面的方案。
- 替代编辑器包括集成Vlime的Vim/Neovim、集成Alive的VSCode,以及Lisp原生编辑器Lem。
- Roswell通过统一管理实现版本、Quicklisp等工具,简化了Common Lisp开发流程。
- Docker可提供快速启动环境,但缺乏本地设置的灵活性和深度理解。