Ken Wesson <kwess...@gmail.com> writes: >> * OO programs conflate value, state, and identity. > > Ah. So, like the confused situations you get with Java's mutable > collections.
I just thought of a non programming language example which might help explain what "state and identity conflation" means. The web (as traditionally implemented) conflates state and identity. For instance, suppose I give you this URL: "http://www.infoq.com/about" When you resolve that, you instantly get back a value: a particular string of HTML. I can't give you a reference to a particular state of that page. By the time you look at it, it could be completely different to what I saw. This flaw in the model of the web is one of the driving forces behind projects like Memento [1] and WebCite [2]. Wikis on the other hand, typically separate state and identity. With a wiki there's a distinction between an identity: http://en.wikipedia.org/wiki/Clojure and a state: http://en.wikipedia.org/wiki/Clojure?oldid=396404196 I can give you a reference to each independently. Unfortunately while wikis solve the problem, they do it in ad-hoc way. There's no standard mechanism in the HTTP protocol to "deref" a wiki page and get back the URL of its current state. "OO typically unifies identity and state, i.e. an object (identity) is a pointer to the memory that contains the value of its state. There is no way to obtain the state independent of the identity other than copying it." -- clojure.org/state -- [1] http://www.mementoweb.org/about/ [2] http://www.webcitation.org/ -- 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