[racket] howto-like text about writing DSLs?

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Wed Nov 10 16:13:51 EST 2010

We are concerned with the production of complex DSLs and haven't made the production of easy DSLs -- like the one you see on Linkedin -- easy. 

The 'creating a language' is one half of the problem: make a module and a reader and wire it all up so you can say 

 #lang MyDSL 

somewhere else. 

The other half is implementing the parser/constraint checker/semantics, which happens within the language module/package. For that, you need to study things such as syntax-parse and the syntax system and then syntax-case and -- for easy style -- plain old syntax-rules. So the reverse order of what I just wrote will usually do you much more good than the actual order. 

Other than that, look at things such as Algol 6o (in the core and a tad old) and Jay's Datalog language (on Planet, and recent) to study some example.s 

-- Matthias






On Nov 10, 2010, at 3:50 PM, keydana at gmx.de wrote:

> Hi,
> 
> does anyone know of a tutorial / howto - like text regarding writing DSLs?
> I've read the "creating languages" chapter in the racket guide, but while I find it "technically understandable" I'm a bit at a loss as to "what to do in order to reach which goal" - the chapter explains the technical possibilities I have, but I don't really know which to choose for what purpose / "use case"...
> 
> Many thanks in advance,
> Sigrid
> _________________________________________________
>  For list-related administrative tasks:
>  http://lists.racket-lang.org/listinfo/users



Posted on the users mailing list.