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

  1. Xref: sparky comp.object:3258 comp.lang.clos:662
  2. Path: sparky!uunet!ogicse!uwm.edu!rpi!batcomputer!munnari.oz.au!metro!graham
  3. From: graham@maths.su.oz.au (Graham Matthews)
  4. Newsgroups: comp.object,comp.lang.clos
  5. Subject: Beginner's Question - CLOS
  6. Message-ID: <graham.714230337@galois>
  7. Date: 19 Aug 92 13:18:57 GMT
  8. Article-I.D.: galois.graham.714230337
  9. References: <1992Aug5.162329.22871@ucunix.san.uc.edu> <KERS.92Aug18110434@cdollin.hpl.hp.com> <=!!nmlj.objsys@netcom.com> <KERS.92Aug19111407@cdollin.hpl.hp.com>
  10. Sender: graham@maths.su.oz.au
  11. Organization: School of Mathematics and Statistics, University of Sydney
  12. Lines: 43
  13. Nntp-Posting-Host: galois.maths.su.oz.au
  14.  
  15. (Chris Dollin) writes:
  16. >In the software reality, M can certainly be the doer; consider CLOS, for
  17. >example, with generic functions rather than objects-that-know-how-to.
  18.  
  19. Not being overly familiar with CLOS I am intrigued by this comment
  20. Chris. I am presently looking at ways in which Object-Orientedness
  21. is present in languages with an eye to adding it to an existing language
  22. I have written. Now what I know of OO comes mainly from using Eiffel - that
  23. is one has a class which contains methods, one makes an instance of a
  24. class using a constructors, and one invokes methods using the hotly
  25. debated O.M notation. Oh yeah and there is a form of inheritance thrown
  26. in here - thats how I understand things. This is the objects-that-know-
  27. how-to flavour of OO I presume.
  28.  
  29. Now to CLOS. The above comment would suggest that CLOS does not do
  30. things in the objects-that-know-how-to flavour. If this is so the
  31. only sort of alternative I can think of (not knowing CLOS) is to
  32. have objects that are defined by some sort of record structure, where
  33. each slot can be a function. I presume that a function can take an
  34. argument of type X or any sub-type of X. How is this subtyping specified.
  35. (note: I appreciate that I am using sub-type in a very sloppy sense
  36. here but I think it is obvious what I mean here). Is this indeed what 
  37. CLOS does? If so how are sub-types specificied. I would be
  38. interested in seeing a specification for say a stack in CLOS (any
  39. takers out there). Assuming that this is indeed the approach taken
  40. by CLOS what does it buy you? It would seem to me to be basically no
  41. different to the other approach - the main difference being in the
  42. fact that the Eiffel approach has method invocation based on one
  43. argument. Outside of this what does the CLOS approach have by way of
  44. advantages?
  45.  
  46. I don't intend to start a flame war here between Eiffel and its
  47. adherents and the CLOS people. I am merely interested in why the two
  48. different approaches are taken. I wish to understand the strenghts
  49. and weakness of each before jumping in over my head.
  50.  
  51. Email is welcome
  52.  
  53. graham
  54. --
  55. Graham Matthews                 And it's true we are immune
  56. Pure Math, Uni.Sydney, Oz       When fact is fiction and T.V. is reality
  57. graham@maths.su.oz.au
  58.