Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.milw.wisc.edu!lll-winken!uunet!pdn!rnms1!alan From: alan@rnms1.paradyne.com (Alan Lovejoy) Newsgroups: comp.lang.c++ Subject: Re: Polymorphism Message-ID: <5972@pdn.paradyne.com> Date: 23 Apr 89 06:32:44 GMT References: <5957@pdn.paradyne.com< <2841@crete.cs.glasgow.ac.uk> Sender: news@pdn.paradyne.com Reply-To: alan@rnms1.paradyne.com (Alan Lovejoy) Organization: AT&T Paradyne, Largo, Florida Lines: 47 In article <2841@crete.cs.glasgow.ac.uk< jack@cs.glasgow.ac.uk (Jack Campin) writes: <> I wrote: <> Full polymorphism means that any component or aspect of a program, program <> component or programming language must behave as a value. Any and all <> values must be subject to inspection, modification, storage in memory, <> usage as a component part of some composite value, usage as a paremeter, <> usage as an operand in an expression, being computed as the result of <> evaluating an expression or function, and (re)definition of its form, <> structure, content or name. The protocol for invoking these common <> operations must be the same for all values, regardless of type. < <> To say the same thing more concretely: numbers, characters, data types, <> procedures, variables, addresses, blocks, execution contexts, name bindings, <> scopes, processes and the number of bits in an integer must all be "first <> class objects." <