x-lisp x-lisp -- dynamic language with GC -- where every function is generic define-data -- define data constructor -- use predicate to do modelling instead of types