You might find my article useful:
http://pragprog.com/magazines/2011-07/growing-a-dsl-with-clojure

(Errata: http://forums.pragprog.com/forums/134/topics/9318)

You can then dig into the code of stevedore:
https://github.com/pallet/stevedore

It's basically building an interpreter, but all of the same concepts as
building a "DSL".

Thanks,
Ambrose

On Sun, Sep 25, 2011 at 5:17 AM, alexey.petrushin <
alexey.petrus...@gmail.com> wrote:

> Hello, I'm learning Clojure (work mainly with Java and Ruby),
> interested in it after reading Paul Graham and watched very
> interesting presentation about persistent data structures by Rich
> Hickey.
>
> So, one of the cornerstones of Paul Graham articles is - Lisp has no
> syntax, so You can create any syntax that suits You best, and because
> code is just a data it's very easy to do.
>
> You can model any concept - create DSL best suited for Your problem or
> model Object Oriented approach, Inheritance, and so on.
>
> But I believe, it's very hard to demonstrate this advantages on the
> simple samples. You has to do something real and complex to see
> advantages of this approach.
>
> So, maybe there's an interesting Open Source Project that uses this
> approach? With clean code that can be seen as showcase of such
> techniks, and You can dig in it and see all this in action by
> Yourself? It would be really interesting.
>
> Thanks.
>
> P.S. One more small question - as far as I know right now
> ClojureScript doesn't support eval and requires Java for compiling,
> any plans to support this in future?
> ClojureScript compiler written in ClojureScript / JavaScript without
> Java requirement?
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to