>
>
>
><offtopic>
>When I was working on _The Ruby Way_ and gathering quotations
>to intersperse in the material -- and I admit some of these
>are kind of hokey -- I was thumbing through the writings of
>Confucius. No, seriously. And I found a quote that I almost
>used, that reminded me of duck typing: "If an urn does not
>have the properties of an urn, can it truly be said to be
>an urn?" :) That may be wrong, it's from memory. Intriguing,
>though, isn't it? Predates Bishop Berkely, John Locke, 
>Immanuel Kant by 2000 years. Perhaps even predates Plato. 
>My history isn't that good.
></offtopic>
>

>>"If an urn does not
>>have the properties of an urn, can it truly be said to be
>>an urn?" 
>

A good reading about it  =>Metaphysics by Aristotle
in last days I was reading it and I was so amazed how it can be applied 
on programming (OOP)...

    * (1) *matter*, the substratum which makes possible the new production;
    * (2) *form*, any actual determination of that substratum;
    * (3) *potency*, with two significations -- as the immanent power of
      the seed to develop itself (active potency) and as a capacity of
      the seed to receive the successive forms of development (passive
      potency);
    * (4) *act*, any actual determination of the process of development
      (in this signification, act is the same as form).

*The Four Causes*: The process of generation (and the same can be said 
of the process of an artificial production) shows the presence of four 
causes:

    * an *efficient cause* (the generator or artist);
    * a *material cause* (the organic matter or the marble);
    * a *formal cause* (the form of species or the idea of the artist);
    * a *final cause* (the purpose which directs the entire series of
      motions until the new organism or statue is produced).


ronnie.