I had something like this in mind: - There's a set of clojure.core vars that mean something (potentially) expensive yet convenient, and default to true - Neither library producers or consumers have ever to touch those (unless they want fine-grained control for some specific var/context) - When performing a release to clojars or central, Lein creates two versions ("DEBUG", "NO-DEBUG"), in which the vars are set to true and false, respectively - Then library consumers can specify either [com.example/awesomelib * "1.4.0"*], [com.example *"1.4.0-DEBUG"*], or [com.example * "1.4.0-NO-DEBUG"*] in their :dependencies vector, in the corresponding project.clj. - If no version directive is specified, "DEBUG" would be chosen unless specified otherwise in profiles.clj: {:user {:debug-dependencies false}}
Does it sound good enough? On Friday, February 8, 2013 6:18:54 PM UTC+1, vemv wrote: > > Given that: a) fns can have names for debugging purposes, and b) data > structures can have metadata, wouldn't it be a good idea to let let auto > attach (where possible) the names of the bindings to their corresponding > values? > > For example, the improved let I'm thinking of would translate this input: > > (ns my.namespace) > > (defn do-it > (let [foo (fn [] (throw (Exception.))) > bar {:hello (/ 0 0)}])) > > to: > > (ns my.namespace) > > (defn do-it > (let [foo (fn foo [] (throw (Exception.))) > bar ^{:origin :my.namespace/do-it$let$bar} {:hello (/ 0 0)}])) > > This could be used to increase the precision of the stack traces, or in > IDEs/editors for locating the exact source of an exception. > > Do you see such a mechanism being incorporated to clojure.core/let - > should I open a ticket? > -- -- 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.