On Fri, Dec 14, 2012 at 12:55 AM, Paul Butcher <p...@paulbutcher.com> wrote: > On 14 Dec 2012, at 00:30, kovas boguta <kovas.bog...@gmail.com> wrote:
> If you can't incorporate novelty without cloning the > entire datastructure, thats not that useful. > > > I'm not 100% sure what you mean by this - can you expand? The principle failing of locks is they don't compose. The principle failing of objects w.r.t. concurrency is that locking recipes don't compose. Being able to do concurrent operations on composite objects is a big win for clojure. Very often we want concurrent operations on something that isn't just a simple number, but a map, array, or some more complex nested structure. Values ensure correctness, but the performance would be terrible if every time you changed 1 element in the array, we had to create a new array. Persistent datastructures allow for structural sharing, thus giving you correctness and good performance. Without that, you could never build an database as a value for example. Recommend the value of values, the database as a value, and any early clojure talk. Also this thread https://groups.google.com/forum/?hl=en&fromgroups#!topic/clojure/XHqWLMcsH-c mentions the same themes. It's interesting because Rich makes multiple comparisons between clojure's concurrency model and database systems. > > -- > paul.butcher->msgCount++ > > Snetterton, Castle Combe, Cadwell Park... > Who says I have a one track mind? > > http://www.paulbutcher.com/ > LinkedIn: http://www.linkedin.com/in/paulbutcher > MSN: p...@paulbutcher.com > AIM: paulrabutcher > Skype: paulrabutcher > > -- > 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