vary-meta slipped my mind! I've updated the gist to include it. The reason I check for IObj and IMeta is that I want symbols and other custom deftypes to recieve the metadata as well.
I thought about namespacing the let-names, but for my current purposes I don't need that extra data (although I can imagine when it would be useful, and a complete implementation should store the namespace, the line number, and maybe further info). I am using this in my project Piplin, a DSL for programming FPGAs in Clojure. I'll be talking about Piplin and some of the embedding tricks I use at Clojure/West. This let' macro gives me a higher-fidelity way to translate Clojure source to Verilog source purely at runtime, which is a different approach from other Clojure cross-compilers. On Sunday, February 10, 2013 7:40:51 PM UTC-5, vemv wrote: > > Glad to hear that Phil! You're entirely right - I didn't realise that > distributing jar to Java consumers doesn't imply AOT-compiling the > libraries at all. > > David, on your implementation - I may be missing something, but why not > just vary-meta each collection found in the bindings? > > Also, it might interest you performing the tagging tree-recursively (e.g. > in (let x [[][][]]) the four colls would get tagged), and with namespaced > names. > > More importantly, how are you using this? One thing I haven't thought > about yet is how to map the "tags" to stack traces. > -- -- 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.