I was about to point out this reference, but realized Rich has already already given a nice explanation. Good to know that this newbie (myself) is on the right track!
On Thu, Dec 17, 2009 at 3:24 PM, Rich Hickey <richhic...@gmail.com> wrote: > > > On Dec 17, 2:16 pm, Martin Coxall <pseudo.m...@me.com> wrote: > > On 17 Dec 2009, at 10:04, Dmitry Kakurin wrote: > > > > > Please keep in mind that it is almost literally the speech that I give > > > to my friends/colleagues when they ask me why am I so excited about > > > Clojure. I did it many times now and I have quickly learned that > > > saying "persistent data structures" gets misinterpreted by every > > > single person as "something you can save to file [as XML/binary]", > > > i.e. serialization. > > > So the funny thing is: by changing my tune and being imprecise, I > > > communicate the basic idea much better now :-). > > > > I note that Haskellers don't refer to their data structures as > "persistent", despite the fact that lazy evaluation means they get > persistence of all data structures 'for free'. > > > > They seem to use the rather vague "purely functional data structure". > > > > There are differences in strictness in the interpretation of > "persistent". At the most basic, it just means creating a "changed" > version leaves the old version intact. But, if you use amortization in > your analysis of the cost model for the data structure, then many such > purely-functional data structures do not maintain their performance > bounds when used in a non-ephemeral, i.e. persistent way. This latter > characteristic does not come for free merely via immutability or > laziness. > > The use of the term persistent for Clojure data structures is the > stricter sense, both that old versions are unchanged and available > *and* that performance guarantees are met when used persistently. > > See: > > Purely Functional Data Structures - Okasaki > > for details. > > Rich > > -- > 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<clojure%2bunsubscr...@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