Lisp1 vs. Lisp2: The Great Namespace Debate
2025-08-09
This technical report delves into the advantages and disadvantages of separating function and value namespaces in Lisp. Lisp1 uses a single namespace, while Lisp2 separates them. The authors analyze the trade-offs in notational simplicity, referential clarity, compiler complexity, higher-order functions, macros, and space/time efficiency. While Lisp1 offers advantages in conciseness and functional programming style, Lisp2 excels in macro usage and mitigating naming conflicts. Ultimately, the report concludes that the status quo (Lisp2) is preferable for Common Lisp.
Development