On Wed, Oct 15, 2014 at 8:25 AM, Richard A. O'Keefe <ok@cs.otago.ac.nz> wrote:

On 15/10/2014, at 4:20 AM, Rustom Mody wrote:

> Thanks Richard for your thoughts, especially
>
> I suppose you could summarise it as
>  - the value perspective asks
>    "what does this value MEAN?"
>  - the object perspective asks
>    "what does this object DO?"
>
> [I usually formulate it as the understanding focus vs the doing focus; probably not much difference]

It's interesting that the "semiotics" paper that someone
already mentioned also identifies "being -vs doing" as the
key question, but to my mind has it backwards.  That paper
identifies "being" with *internal structure* and "doing"
with *interface* (in the Java sense) and to my way of
thinking seriously misapplies the term "abstract data type"
and makes some criticisms on the basis of a straw man bad
design.

Heh!

I get into arguments on the python list on the same account.
Python has an 'is' operator which is basically pointer-equality.
I find it silly and inappropriate that a purportedly high level language
needs to conflate ontological being with machine representations

[On the whole though python is nice (with a few such exceptions) for supporting in an even-handed way, imperative and declarative thinking]
 

Let me clarify here that the value perspective is NOT
about knowing (still less about _having_ to know) the
structure of things.  You think about the value (the
state of) a thing *represents*, not its implementation.

Yes
One of my old favorites is Bird and Wadler (1988 Miranda edition)
- concrete types define values
- abstract types are defined around operations

And then without more ado the book sticks to concrete types.

I was looking for something similar but not couched in the framing of FP
stlll less some FP language