
On Wed, Oct 15, 2014 at 8:25 AM, Richard A. O'Keefe
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