One more point that no one has emphasized: Lisps allow code to write code. 
Sometimes the way to provide an abstraction or generalization of a pattern 
is by writing a code-writer.  Macros provide a convenient way of using that 
capability.  

(On a project years ago, for every Java class of kind X, we needed a 
corresponding Java class of kind Y.  There were many X classes, so I ended 
up writing a Perl script to construct Y source files from X source files.  
It was much easier to do that with Perl than to write a Java 
code-translator.  For an analogous problem with Clojure code, it would be 
even easier use Clojure to generate the new code.)

-- 
-- 
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/groups/opt_out.

Reply via email to