Hey Gary, Thanks for the references. Those videos were awesome!
I think Cristophe definitely hit the nail on the head with this slide<http://www.slideshare.net/cgrand/dsl-5537797/21> about the challenges of binding. Though, I'm not sure I fully get what he meant by "binding specs" and "capturing specs". Do you happen to know of any more resources on that topic? I took another attempt <https://gist.github.com/bellkev/7653342> at my "deftemplate" syntax with a gradual progression from data->functions->macros as discussed by Cristophe. This approach left me with something similar to one of my earlier samples that copied leiningen's "defproject" syntax very heavily. The only issue I have with this new syntax it seems overly data-like/keyword-heavy. For example this section: :my-second-condition [:cfn= [:cfn-inmap :my-mapping :first-level-key-one :second-level-key-two] [:cfn-ref :my-parameter]] Could be replaced by this: my-second-condition (cfn= (cfn-inmap my-mapping :first-level-key-one :second-level-key-two) (cfn-ref my-parameter)) Which I feel is much more readable, with the cfn-whatever functions simply returning specially-formatted string maps. Except, my-mapping and my-parameter aren't defined as vars in the data-structure-like syntax, so I would have to do some of that funky symbol-grabbing/walking in a macro that people seem to be cautioning against... -- -- 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.