home *** CD-ROM | disk | FTP | other *** search
- From: kers@hplb.hpl.hp.com (Chris Dollin)
- Date: Tue, 18 Aug 1992 10:04:34 GMT
- Subject: Re: Re: Type Conformance and Inheritance (was O.M() versus M(O) notation)
- Message-ID: <KERS.92Aug18110434@cdollin.hpl.hp.com>
- Organization: Hewlett-Packard Laboratories, Bristol, UK.
- Path: sparky!uunet!usc!sdd.hp.com!hpscdc!hplextra!otter.hpl.hp.com!hpltoad!cdollin!kers
- Newsgroups: comp.object
- References: <1992Aug5.162329.22871@ucunix.san.uc.edu> <PCG.92Aug16184526@aberdb.aber.ac.uk> <2+0md-p.objsys@netcom.com>
- Sender: news@hplb.hpl.hp.com (Usenet News Administrator)
- Lines: 69
- In-Reply-To: Bob Hathaway's message of Tue, 18 Aug 92 03:23:46 GMT
- Nntp-Posting-Host: cdollin.hpl.hp.com
-
- In article ... Bob Hathaway <objsys@netcom.com> writes:
-
- No it is not. There is nothing symmetrical about pushing an element onto
- a stack since the two objects are not equal gramatically. O.M ...
-
- I don't see what the grammatical status of an object has to do with anything.
- Surely we're discussing *meaning*, not *notation*, here, and PGs point is
- exactly that the asymmetry of the O.M(...) notation *encourages* a
- corresponding but irrelevant semantic asymmetry.
-
- is imperative (with an IE,) showing clearly the Object (O) to be the
- receiver (or doer) of the command (M) and parameters to be objects.
-
- I think it's M that's the "doer" and O,(...) are the parameters.
-
- A stack has a push "action" so the stack is the doer of the action and
- making this explicit should help.
-
- But this is just one interpretation, right? Stacks don't "have" push actions as
- a matter of Natural Law; it's just one way of carving the computational cake.
- We can just as well say that pushes "have" stack variants.
-
- Now, in the case of stacks and pushes, the stack *changes* [assuming we're in
- an imperative context; in something like Haskell or Axis, the push just gets
- you a new stack, and nothing changes, not ever, not even a bit.]. You could
- chose to indetify the "doer" with the thing subject to change ("objects know
- how to do things to themselves"). An odd model, this, when normally one expects
- the doer to be the one *not* suffering the effect!
-
- Also, if several objects (parameters) are affected, this criterion breaks down.
- What about moving an object from one stack to another? Why should the move
- "message" be sent to one of them, rather than the other? You may argue that
- "move" isn't a real primitive on stacks, but who are you to argue with my
- analysis of a problem domain? [Perhaps I shouldn't call them "stacks", but the
- point remains.]
-
- If this isn't so clear, then go imperative without an explicit receiver of
- M.
-
- By which I presume mean ``try the symmetic notation''.
-
- If it is, you're obfuscating the reciever which will be to the detriment of
- understanding.
-
- Well, the second part follows from the first, because of the meaning of
- ``obfuscation'', but I don't think it's true that one is obf. the receiver,
- because I think the receiver is the message [at least for the purposes of this
- note].
-
- Also, whats with this "only overloading on the first parameter" stuff?
- Have you heard of multi-methods or more simply "dynamic method selection"?
-
- Surely this is the point of PGs postings; given multi-methods, why on earth
- should the invocation syntax specially distinguish one object out of the
- several supplied?
-
- I can't make sense of it.
-
- Of multi-methods or of the discussion so far?
-
- Remember, The Real World Is Not Object-Oriented.
-
-
-
-
- --
-
- Regards, | "I always prefered Sherlock Holmes to Dan Dare"
- Kers. | Nathan Spring, in BBC2's _Star Cops_.
-