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

Reply via email to