Looking for (c)lisp examples of mini-languages, that is, DSLs

common-lisp, lisp, open-source

Solution

I feel your constraints are over-specified:

small enough to comprehend, varied enough to show off most of (c)lisp's tricks and features without being opaque (the 'well-written' part of the wish), and independent of other packages.

Common Lisp is a huge language, and the power set that emerges when you combine the language elements is much larger. You can't have a small program showing "most tricks" in CL.

There are also many concepts that you will find alien when you learn CL coming from another language. As such CL is less about tricks but more about its fundamental paradigms.

My suggestion is to read up on it a bit first and then start building your own programs or looking into open source code.

Edi Weitz for example usually writes good code. Check out his projects at http://www.weitz.de/.

And now go read PCL. :)

Problem

Reading well-written code seems to help me learn a language. (At least it worked with C.) [deleting the 'over-specified' part of the question] I'm interested in particular in lisp's reputation as a language suited to creating a mini-language or DSL specific to a problem. The program ought to be open-source, of course, and available over the web, preferably. I've Googled and found this example: http://lispm.dyndns.org/news?ID=NEWS-2005-07-08-1 Anybody have another? (And, yes, I will continue reading "Practical Common Lisp".) After 11 hours (only 11 hours!): Thanks, everyone. What a wonderful site, and what a bunch of good answers and tips!

Original source