Discussion...Does OOP really exists?

The results presented proove that no consensual interpretation of late-binding exists. If theories exist, none of them embrasses all aspects that interfere with late-binding: inheritance, covariance, contravariance, overriding, redefinition, partial redefinition. So, at this time, OMG attempts to define a unified modelling language (UML) but hesitates to give it a too precise semantics (worying to frighten potential clients?). But how could it achieve defining models transformations as expected in the Model Driven Architecture (MDA) process without giving a sharp definition of one of the key feature of OOP?

The problem is now to make a choice...which one?

I guess the only reasonnable one is "multiple-dispatching". Here are my arguments.
 

  1. All code transformations relie on dynamic type acces, so lookup adaptation can only relies on dynamic type of parameters.
  2. Languages accepting multiple dispatching - i.e. nice, CLOS, Dylan - (almost ;-) have all the same bahavior.
  3. There is a continous interpretation of results when comparing inv, ctv and cv in third column.