So... I've been using Clojure wrong, because I primarily use ClojureScript.


> *Clojure*my.clj.ns=> (def foo 1)
> #'my.clj.ns/foo
> my.clj.ns=> (set! foo 2)
> IllegalStateException Can't change/establish root binding of: foo with set
>  clojure.lang.Var.set (Var.java:221)
>


>
> *ClojureScript*my.cljs.ns=> (def foo 1)
> 1
> my.cljs.ns=> (set! foo 2)
> 2


I'm somewhat of a beginner, and I've always been confused by the need for
vars *and* atoms. Now it's clear -- I've been misusing vars, via def and
set!.

Thoughts? Sorry if I'm overlooking old mail threads on this topic.

Could the compiler throw an error when you try to set! a var that's in a
cljs namespace?

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/clojurescript.

Reply via email to