home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / comp / object / 4990 < prev    next >
Encoding:
Internet Message Format  |  1993-01-22  |  2.1 KB

  1. Path: sparky!uunet!mcsun!julienas!corton!ilog!davis
  2. From: davis@passy.ilog.fr (Harley Davis)
  3. Newsgroups: comp.object
  4. Subject: Re: FAQ  Part 1 (of 2) [ objects, closures, continuations ]
  5. Message-ID: <DAVIS.93Jan22105234@passy.ilog.fr>
  6. Date: 22 Jan 93 09:52:34 GMT
  7. References: <1993Jan13.061114.18430@netcom.com> <PCG.93Jan14154212@decb.aber.ac.uk>
  8.     <1993Jan15.033713.27130@netcom.com> <PCG.93Jan19235921@decb.aber.ac.uk>
  9. Sender: news@ilog.fr
  10. Organization: ILOG S.A., Gentilly, France
  11. Lines: 42
  12. In-reply-to: pcg@aber.ac.uk's message of 19 Jan 93 23:59:21 GMT
  13.  
  14.  
  15. In article <PCG.93Jan19235921@decb.aber.ac.uk> pcg@aber.ac.uk (Piercarlo Grandi) writes:
  16.  
  17.    (Bob Hathaway) said:
  18.  
  19.    pcg> More precisely objects are values of a procedure instance
  20.    pcg> (closure/continuation) record type.
  21.  
  22.    objsys> Since the FAQ will typically be for newcomers, could you please
  23.    objsys> put the last sentence in English and/or give references?
  24.  
  25.    The references are easily produced: "Hierarchical Program Structures",
  26.    in "Structured Programming", Academic Press, and "Structure and
  27.    Interpretation of Computer Programs", MIT Press.
  28.  
  29.    In particular they show that (in class based OO languages) classes are
  30.    procedures, and objects are procedure instances; closures if the
  31.    language is a traditional OO one, and continuations if the language is
  32.    an actor OO one.
  33.  
  34. Classes and objects are not procedures; rather, they can be
  35. implemented or, perhaps, thought of as procedures in some languages
  36. for some OO models.  Two reasons:
  37.  
  38. 1. In latently typed languages with first-class procedures, most
  39.    objects (except for real procedures) will return false when asked
  40.    if their type is procedure.
  41.  
  42. 2. The simplistic SICP OO implementation in terms of closures does not
  43.    account for multi-methods.
  44.  
  45. Also, what is the difference between a "procedure" and a "procedure
  46. instance"?  Perhaps you meant to say that a class can be thought of as
  47. a procedure which returns procedures.
  48.  
  49. -- Harley Davis
  50. --
  51.  
  52. ------------------------------------------------------------------------------
  53. nom: Harley Davis            ILOG S.A.
  54. net: davis@ilog.fr            2 Avenue Gallie'ni, BP 85
  55. tel: (33 1) 46 63 66 66            94253 Gentilly Cedex, France
  56.