To be clear, I actually agree with Stuart. I would really like to dig into this topic and hear everyones thoughts on this; it's such a large piece of Clojure's private and public API.
On Friday, January 30, 2015 at 1:53:37 PM UTC-5, adrian...@mail.yu.edu wrote: > > Metadata fields proliferate throughout the standard Clojure value and > reference types. It seems odd that one would suggest that this seemingly > well supported feature should not be taken advantage of except in very > narrow circumstances. What is the rationale for such robust support for > runtime metadata if their usage should be restricted primarily to > compile-time or metaprogramming tasks? If that was the primary purpose, > certainly a Common Lisp proclaim/declaim/declare-esque expression would be > preferable since then the compiler and macros can take advantage of this > information when reading forms without having to extract data out of > symbols on an ad-hoc basis. It makes me think maybe we're missing the point > here. Rich Hickey clearly carefully designed Clojure to support varied uses > of runtime metadata on Clojure objects. > > On Friday, January 30, 2015 at 1:28:04 PM UTC-5, Stuart Sierra wrote: >> >> Almost never. >> >> Seriously, anything important enough to be included in your program's >> input or output is almost certainly important enough to be *data*, not >> metadata. And the non-equality-checking semantics of metadata are confusing. >> >> About the only place I've found metadata to be worthwhile is >> meta-programming namespaces and Vars, e.g. what clojure.test does. >> >> My personal rule of thumb is: if you strip all the metadata from your >> program it should still work, thought maybe less efficiently. >> >> –S >> >> >> On Thursday, January 29, 2015 at 10:10:34 AM UTC-5, Jonathon McKitrick >> wrote: >>> >>> Is there a rule of thumb or set of use cases when metadata is a more >>> elegant solution than simply adding more entries to a map or record? >>> >> -- 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.