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

  1. From: kers@hplb.hpl.hp.com (Chris Dollin)
  2. Date: Thu, 21 Jan 1993 10:06:55 GMT
  3. Subject: Re: Re: FAQ  Part 1 (of 2) [ a bit of polemic ]
  4. Message-ID: <KERS.93Jan21100655@cdollin.hpl.hp.com>
  5. Organization: Hewlett-Packard Laboratories, Bristol, UK.
  6. Path: sparky!uunet!cs.utexas.edu!sdd.hp.com!hpscit.sc.hp.com!hplextra!otter.hpl.hp.com!hpltoad!cdollin!kers
  7. Newsgroups: comp.object
  8. References: <PCG.93Jan14154212@decb.aber.ac.uk> <1993Jan15.033713.27130@netcom.com> <PCG.93Jan19231409@decb.aber.ac.uk> <1993Jan21.024452.6
  9. Sender: news@hplb.hpl.hp.com (Usenet News Administrator)
  10. Lines: 26
  11. In-Reply-To: kers@hplb.hpl.hp.com's message of 21 Jan 93 09:41:41
  12. Nntp-Posting-Host: cdollin.hpl.hp.com
  13.  
  14. In article ... kers@hplb.hpl.hp.com (Chris Dollin) writes:
  15.  
  16.   A method is *polymorphic* in an argument A of type T if it may also be called
  17.   with objects of type T' in the A position whenever T' is a subtype (derived
  18.   class of, subclass of, inherits from) T.
  19.  
  20. The previous paragraph had mentioned inclusion polymorphism, but this
  21. definition didn't. I hereby serve notice that I did *not* intend to limit
  22. polymorphism to only this case; in particular, the other common case is
  23. *parametric* polymorphism:
  24.  
  25.   A method is *parametrically polymorphic* in an argument A if it is
  26.   independant of the type of A and so can be applied with values of
  27.   any type in the A argument.
  28.  
  29. In Eiffel, this is genericity; in C++, it can be obtained using template
  30. functions (the argument A must then be one of the template argument types).
  31. Dynamically typed (or, using Piercarlo's term, latently typed) languages
  32. usually have this as an automatic property.
  33.  
  34. I don't know if it's easy to unify the two kinds of polymorphism in a
  35. single framework. Even if so, it might be useful to distinguish them.
  36. --
  37.  
  38. Regards,    | "You're better off  not dreaming of  the things to come;
  39. Kers.       | Dreams  are always ending  far too soon." - Caravan.
  40.