Didier Verna didier@lrde.epita.fr writes:
Dear friends,
http://groups.google.com/group/comp.lang.lisp/browse_frm/thread/0245342429c6...
Notably, in this type of DSL, you'll note how you can mix Lisp expressions with expressions in the new languages, at several levels.
@[Icals method:(pressPop:(:id)sender) ; resultType:(:id) ; objcl body: ; (declare (ignore sender)) ; (loop ; lisp :for i :from 0 :below 3 ; :do [(aref (icals-stack self) i) setIntValue:[(aref (icals-stack self) (1+ i)) intValue]])] ^^ ^^ || || |+-- lisp |+--- lisp +--- objcl +---- objcl
It might be worthwhile comparing the sources of an early Objective-C front-end such as POC (that includes only the parsing of Objective-C syntax, and generation of the C code for the usual C compiler, and thus is functionnaly equivalent to ObjCL), with the lisp sources of ObjCL.
http://users.telenet.be/stes/compiler.html (objc-3.2.11.tar.gz)