Thanks Herwig, makes sense.

Cheers,
Alf
On Mar 29, 2012 1:37 PM, "Herwig Hochleitner" <hhochleit...@gmail.com>
wrote:

> 2012/3/29 Alf Kristian Støyle <alf.krist...@gmail.com>:
> > So, long story short, why are namespaces in Clojure mutable? What is
> > the rationale behind this?
>
> It's for REPL development. Everytime you redefine a function, its Var
> needs to be updated.
>
> OTOH, redefining a var during the normal course of operation is frowned
> upon.
> For this reason, defs should always be top level (modulo an enclosing
> let, or something).
>
> The only official way to change a Var value during normal operation is
> binding, which is thread local and dynamically scoped (bound Vars can
> also be set! while bound, still thread locally), so its semantics are
> well defined, if a bit more obscure than normal lexical/immutable let.
>
> kind regards
>
> --
> 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 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