A Common Lisp implementation of the OMeta programming language