A Common Lisp DSL for generating ASM