FWIW, my Datalog language is now in the core and significantly updated and redesigned to be easier for a beginner to read the code.
Jay On Wed, Nov 10, 2010 at 2:13 PM, Matthias Felleisen <matth...@ccs.neu.edu> wrote: > > 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, keyd...@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 > > _________________________________________________ > For list-related administrative tasks: > http://lists.racket-lang.org/listinfo/users > -- Jay McCarthy <j...@cs.byu.edu> Assistant Professor / Brigham Young University http://faculty.cs.byu.edu/~jay "The glory of God is Intelligence" - D&C 93 _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users