[pro] Fwd: Lisp and DSLs

Ala'a Mohammad amalawi at gmail.com
Thu Jul 28 11:19:13 UTC 2011


[oops, I keep forgetting to add cl-pro email when replying.]

IMHO:

DSL can be made of a varying mix of abstraction, syntax and semantics.
All of which can be achieved within CL using interpreter & compiler,
macros, closures, reader macros, compiler macros, printing protocol
and CLOS. These will help a lot,  both the developer and the user.

check the following examples:

Corman CL Assembler DSL (check the source code for assembler.lisp and
how elegantly normal x86 assembler syntax was introduced into CL code)
http://www.cormanlisp.com/index.html

SBCL VOPs:
http://sbcl-internals.cliki.net/Adding%20VOPs
http://paste.lisp.org/display/41937

GOAL: Game Object Assembly Lisp ("...intermix assembly instructions
seamlessly with higher-level code...")
http://www.gamasutra.com/view/feature/2985/postmortem_naughty_dogs_jak_and_.php?print=1

CLSQL: SQL syntax

CL-Typesetting: typesetting DSL

Prolog interpreter or compiler.

those are the ones I remember directly when talking about DSL in common-lisp

- Ala'a




More information about the pro mailing list