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