First of all, this might very well be a ramble without much sense, but please 
bear with me.
Secondly, I’m writing this first and foremost not as an application programmer.

Having programmed in the crud-application business some twenty years 
professionally, the last couple of them in Clojure, there are (at least) two 
things (that might be related) that puzzle me:

1) The power of macros
I see, and acknowledge that eg the go-macro core.async is a wonderful piece of 
work, and that it’s really cool that it could be done in a library. But as an 
application programmer, I really don’t care if it’s a macro or a language 
feature, and I couldn’t really see myself investing that amount of time (nor 
would I have the skills to do so if I had the time) to solve my concurrency 
problems in such a general manner.

2) The creating of a DSL for your problem domain, and then write a custom 
compiler to solve your problem
In my (most optimistic view) every program that I write is somewhat an internal 
DSL, built up of domain-specific functions, glued together with Clojure. But I 
don’t feel that this is very specific to how I program in Clojure vs other 
languages.

So what I’d really like to achieve with this post is two things

1) Arguments ranging from  “Oh, you should look at it from this angle” to 
“That’s how I feel too” to “You’re totally wrong, because…”

2) Pointers to blogs/articles/codebases which shows how applications written 
either with extensive use of macros or by implementing an internal DSL (and 
compiler) are significantly quicker to develop than their brute-force 
alternatives.

You might consider this as a first effort to create a presentation around the 
subject :)

Erik.

-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to