On Sun, Dec 19, 2010 at 10:33 PM, Tim Daly <d...@axiom-developer.org> wrote:
> On 12/19/2010 10:21 PM, Ken Wesson wrote:
>>
>> On Sun, Dec 19, 2010 at 9:42 PM, Tim Daly<d...@axiom-developer.org>
>>  wrote:
>>>
>>> On 12/19/2010 9:24 PM, Ken Wesson wrote:
>>>>
>>>> On Sun, Dec 19, 2010 at 8:25 PM, Tim Daly<d...@axiom-developer.org>
>>>>  wrote:
>>>>>
>>>>> On 12/19/2010 8:20 PM, Ken Wesson wrote:
>>>>>>
>>>>>> On Sun, Dec 19, 2010 at 8:18 PM, Tim Daly<d...@axiom-developer.org>
>>>>>>  wrote:
>>>>>>>
>>>>>>>  I didn't mean to imply that other people
>>>>>>> don't have the "ah-hah!" experience with
>>>>>>> other languages. However, I have only had
>>>>>>> the (before lisp)|(after lisp) experience
>>>>>>> with lisp.
>>>>>>>
>>>>>>> Your enlightenment might vary.
>>>>>>>
>>>>>>> Rich gave his "Whitehead" talk and brought
>>>>>>> up the fact that OO languages get several
>>>>>>> things wrong.
>>>>>>
>>>>>> Out of curiosity, which "several things" were these?
>>>>>
>>>>> http://www.infoq.com/presentations/Are-We-There-Yet-Rich-Hickey
>>>>
>>>> "Please install Flash Player".
>>>>
>>>> Has everyone on this list developed a sudden allergy to plain text and
>>>> HTML? First I get pointed to a 34-minute video, and now this. A simple
>>>> bulleted list with a brief precis about each item would have sufficed;
>>>> a multi-megabyte install of an executable and who knows how much
>>>> futzing around, overkill.
>>>>
>>> The points made by Rich in the video require context.
>>> Besides, the only way I could make a bullet list would
>>> be to listen to the video again. My memory is hopelessly
>>> lossy.
>>
>> Exactly why text is preferable to video for stuff that can be
>> expressed in text. Your memory wouldn't matter -- you could link to
>> the text. And Google could search inside it.
>
> This video is not just a list of broken things. It goes to the
> very philosophy behind the difference between values, identity,
> and state. The bullet point you seek is:
>
> * OO programs conflate value, state, and identity.
>
> That is the essence but I'm not sure you'll understand it
> without the video.

Ah. So, like the confused situations you get with Java's mutable
collections. Two lists are equal if they have the same contents in the
same order -- but then you use one as a key in a hashmap, and then add
an item to it, and boom! Clojure separates this stuff out because the
Clojure vector's immutability makes its value stable given its
identity. Refs and atoms and agents can encapsulate mutable state, but
their identity (as defined by = and hash) is fixed rather than
changing with its state. And some objects (keywords and symbols) exist
to be almost pure identity, used to label other things.

Something like that?

-- 
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