Hasty Briefsbeta

Technical issues of separation in function cells and value cells (1988)

19 days ago
  • #Programming Languages
  • #Namespace
  • #Common Lisp
  • The paper discusses the technical, philosophical, and political arguments surrounding the adoption of a single namespace (Lisp1) versus distinct namespaces (Lisp2) for functions and values in Common Lisp.
  • Common Lisp adopted lexical scoping from Scheme but retained separate namespaces for functions and values, unlike Scheme's single namespace approach.
  • The distinction between Lisp1 (single namespace) and Lisp2 (separate namespaces) affects syntax, evaluation rules, and compiler optimizations, with trade-offs in readability, performance, and programming style.
  • Macros in Common Lisp present semantic challenges, especially regarding namespace conflicts, but are pragmatically valuable for code abstraction and optimization.
  • Transitioning from Lisp2 to Lisp1 semantics would introduce compatibility issues, requiring significant changes to existing code and compiler implementations, with potential impacts on performance and space efficiency.