Awesome work! > In particular switching a top level definition from a fn to an object > (which implements IFn) can cause problems. The compiler now issues warnings > if this happens. >
I encountered something similar when implementing bound-fn and friends (see: https://github.com/brandonbloom/clojurescript/tree/vars ) In my little test project (which depends on Vars for some clever DOM manipulation callbacks), I needed a way to get the :dynamic flag when attaching a REPL to an already-compiled front end. What I did was prn the namespaces atom to the output directory with *print-dup* true & reload it server side from my repl initialization script. That prn/read stuff isn't in my branch, just my local project. > Related - dynamic binding. You will now get a warning if you try to use a > var that has not been declared ^:dynamic. Dynamic vars are never direct > invoked. > Have you given any more consideration to bound-fn, {push,pop,get}-thread-bindings, Var with IWatchable, etc? Now that this compiler state is required for optimizations, my Vars changes aren't as big and scary in my mind. I'd be happy to bring the branch up to date, if you're happy to consider it for inclusion :-) -- 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