Category: Computer Program Design; Symbolic Programming; Flexible Design; Domain-Specific Languages; Constraints; Additive Programming; Evolvable Design; Generic Procedures; Combinators; Evaluators; Provenance; Dependencies; Pattern Matching; Unification; Rule Systems; Backtracking; Propagation; Lisp; Scheme