metaprogramming
Things that help you analyze and write code (code walkers, code transformers, introspection libraries, etc.)

  • bubble-operator-upwards - bubble-operator-upwards is a function that "bubbles an operator upwards" in a form, demultiplexing all alternative branches by way of cartesian product
  • cl-cont - cl-cont is a delimited continuations library for Common Lisp
  • cl-curlex - Leak *LEXENV*, which describes lexical environment, into the runtime
  • cl-indeterminism - Find and manipulate undefined variables and functions in forms
  • cl-walker - cl-walker (home page) implements an sexp => CLOS AST tree transformation (and vice versa)
  • de.setf.utility - de setf utility is a collection of Common Lisp utilities functions and several purpose-specific libraries
  • macroexpand-dammit - macroexpand-dammit is a code walker by John Fremlin
  • parse-declarations - Parse-Declarations is a metaprogramming library to parse, filter, and build Common Lisp declarations (things like (inline foo))
  • parse-number-range - parse-number-range parses LOOP's convenient "for-as-arithmetic" syntax into 5 simple values: from, to, limit-kind (:inclusive, :exclusive or nil if unbounded), by (step) and direction (+ or -))
  • symbol-namespaces - symbol-namespaces defines a new kind of package that's named by a symbol rather than a string and that maps from existing symbols to their respective "implicitly managed" counterparts