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

Reply via email to