> The reason is simple - plain mutable variables have no concurrency > semantics. What if you closed over a mutable local? Now you have an > object with no synchronization, a concurrency mess.
Thanks Rich for the clarification... that makes it immediately obvious why using mutable locals is a bad idea in general. Just to play the devil's advocate, it is theoretically possible to detect someone attempting to close over a mutable local as a compiler error. But given that such a feature would just allow/encourage imperative style, it would be an evil feature. It really comes down to a question of enforcing style I believe? :) Regards, Tim. --~--~---------~--~----~------------~-------~--~----~ 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 To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---