home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / object / 3339 < prev    next >
Encoding:
Internet Message Format  |  1992-08-29  |  3.6 KB

  1. Path: sparky!uunet!dtix!darwin.sura.net!zaphod.mps.ohio-state.edu!sdd.hp.com!hpscdc!hplextra!otter.hpl.hp.com!hpltoad!cdollin!kers
  2. From: kers@hplb.hpl.hp.com (Chris Dollin)
  3. Newsgroups: comp.object
  4. Subject: Re: O.M(...) vs M(...), and is the Real World O-O?
  5. Message-ID: <KERS.92Aug28140316@cdollin.hpl.hp.com>
  6. Date: 28 Aug 92 13:03:16 GMT
  7. References: <KERS.92Aug21150658@cdollin.hpl.hp.com> <t5anrkq.objsys@netcom.com> <BEVAN.92Aug26090351@beluga.cs.man.ac.uk> <31cnnr+.objsys@n
  8. Sender: news@hplb.hpl.hp.com (Usenet News Administrator)
  9. Organization: Hewlett-Packard Laboratories, Bristol, UK.
  10. Lines: 59
  11. In-Reply-To: Bob Hathaway's message of Thu, 27 Aug 92 19:50:22 GMT
  12. Nntp-Posting-Host: cdollin.hpl.hp.com
  13.  
  14. In article ... Bob Hathaway <objsys@netcom.com> writes:
  15.  
  16.    In article ... bevan@cs.man.ac.uk (Stephen J Bevan) writes:
  17.    >So lets take the CLOS one.  After all, as far as I'm aware it predates
  18.    >both Coplien's and you useage of the term.
  19.  
  20.    Then we'd be left with the more verbose but precise: "multiply-polymorphic
  21.    methods" terminology.  People might still get confused over whether 
  22.    "methods" referred to CLOS, classical OO or some other kind of method.
  23.  
  24. So pick a shorter term. Either your technique is the same as CLOS
  25. multi-methods, in which case we'll be happy to use the same term, or it's
  26. different, in which case we'll want a new one. [Well, for ``we'' read ``I'',
  27. and let others have their say.]
  28.  
  29. If your technique is less general than multi-methods, we could call it
  30. ``restricted multi-methods'', ``mini-methods'', ``poly-methods'', ``extended
  31. dispatch'', ``stereo-methods'', ``wide dispatch'', ``smart dispatch'' ... you
  32. get the idea. [After all, the term ``multi-methods'' might initially be taken
  33. to mean that there's more than one method for a given generic function, which
  34. is true (also in conventional OO) and not really the discriminating fact.]
  35.  
  36.    Anyway, I lookup up multi-methods and found the following quote by David
  37.    Moon:
  38.    "CLOS chose generic functions rather than messages in order to minimize the
  39.    number of new mechanisms added to COMMON LISP."  He goes on to say there is
  40.    no difference between the two approaches and that the CLOS designers simply
  41.    didn't want to divide programs into two parts, an "OO" part and a "function-
  42.    oriented" part.
  43.  
  44. I *think* you'll find that Moon is referring partly to the syntactic choice,
  45. ie, using ``(method . args)'' rather than ``(send method .args)'' [``send''
  46. might have been spelt ``=>'']. And when he says that ``there's no difference'',
  47. I *think* he means that they'd support the same underlying semantics. Of
  48. course, since you haven't seen fit to tell *us* where this Moon quote comes
  49. from, you've made it unnecessarily difficult for us to read the same paper and
  50. see how it fits.
  51.  
  52.   CLOS stores methods specialized to a class with that class anyway.
  53.  
  54. Is this a fact from the same paper, or a guess on your part? Perhaps it's a
  55. useful optimisation, rather than a requirement of CLOS. Perhaps it's a peice of
  56. history dating from earlier implementations. It doesn't tell us what CLOS does
  57. with methods specialised on several classes, either.
  58.  
  59. I *can* tell you that, to the best of my knowledge, Steve Knight's
  60. ``ObjectClass'' for Pop11 [*1], which has CLOS-style multi-methods, does *not*
  61. keep methods specialised on a class ``with'' the class (whatever ``with'' might
  62. mean). So it's hardly a *necessary* property of CLOS-style multi-methods.
  63. [Perhaps it might have something to do with the meta-object protocol, something
  64. about which I claim to know nothing.]
  65.  
  66.  
  67.  
  68.  
  69. --
  70.  
  71. Regards,    | "The date of death of a sentient entity must never be
  72. Kers.       | mentioned in a Dirac 'cast." - Blish, ``The Quincunx of Time''.
  73.