A domain specific language example in Nu
Nu
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
README
fowler_dsl.nu

README

INTRODUCTION

This is a Nu implementation of a Domain Specific Language example that
appeared in the following article by Martin Fowler:
 "Language Workbenches: The Killer-App for Domain Specific Languages?"
 http://martinfowler.com/articles/languageWorkbench.html

This Nu version is adapted from a nicely-done Common Lisp version of
the example by Rainer Joswig.  After Rainer saw the Java and C# versions
that Martin Fowler and others had done in the above article, he knew he
could do better.

Rainer has an article explaining his take on the example problem:
 http://lispm.dyndns.org/news?ID=NEWS-2005-07-08-1

Even better, watch Rainer's screencast in which he develops
the solution from scratch in about 15 minutes using Common Lisp.
 http://www.cl-http.org:8002/mov/dsl-in-lisp.mov

I ported Rainer's Common Lisp version to Nu as part of testing out
the new macro-1 features in Nu 0.4.  I added a simple dispatching
mechanism and some sample debugging output as part of the 
code-generation in the macro.


SYSTEM REQUIREMENTS

This code requires Nu 0.4 or above.


AUTHOR

The original Common Lisp code was written by Rainer Joswig.
The Nu version was written by Jeff Buck.