Search (c) lisp for examples of mini-languages, i.e. DSL

Reading well-written code seems to help me learn the language. (At least he worked with C.) [removing the "overridden" part of the question]

I am particularly interested in the reputation of lisp as a language suitable for creating a problem-specific mini-language or DSL. Of course, the program should be open source and accessible over the Internet, preferably.

I have Googled and found this example:

http://lispm.dyndns.org/news?ID=NEWS-2005-07-08-1

Does anyone have another? (And, yes, I will continue to read Practical General Lisp.)

After 11 hours (only 11 hours!): Thank you all. What a wonderful site and what a bunch of good answers and tips!

+5
source share
7 answers

I feel your limitations are overridden:

small enough to understand, enough to show most of the (c) lisp tricks and functions without an opaque (“well-written” part desire), and independently of other packages.

Generic Lisp is a huge language, and the power set that comes up when combining language elements is much larger. You cannot have a small program showing "most tricks" in the CL.

There are also many concepts that you will find a stranger when you learn CL coming from another language. Since CL is less about tricks, but more about its fundamental paradigms.

My suggestion is to read it first and then start creating your own programs or looking into open source.

, , . http://www.weitz.de/.

PCL.:)

+6

, Lisp .

+5

, , "Google" / "Bing". .

  • System/Module/File 'defsystem's, ASDF
  • infix readmacro
  • define-application-frame CLIM
  • Lispified SQL- LispWorks CLSQL
  • Knowledgeworks LispWorks: , ,...
  • Allegro CL
  • HTML
  • XMLisp, XML Lisp
  • Screamer
  • PWGL,

, , , Prolog, Screamer, CORBA,...

+5

LOOP DSL, Common Lisp. , , , , .

+4

CLs -dsl.

http://cybertiggyr.com/fmt/

, dsl .

( nil "~ {~ A ~ # [~:;, ~] ~}" lst))

+4

CLSQL provides a Lispy note sheet for SQL queries, which it compiles for SQL, and almost all Lisp libraries for HTML and XML. Metabang bind is a DSL for lexically related variables. You probably didn't know what you needed, but it turned out to be surprisingly useful.

+2
source

SERIES is a kind of DSL, depending on your definition. It is attached to CLTL2, although it is not part of the language.

0
source

All Articles