jmichel / schur.institut.math.jussieu.fr (Jean Michel) writes:

> >Erhm ... what? Lack of overloading? Impossible ... ah you mean
> >overloading by parameter type, yes? That is indeed not available in
> >Ruby (nor in Python or Smalltalk, BTW). The reason is that variables
> >are not typed in such languages. Therefore it is difficult (perhaps
> >impossible in some cases?) for the compiler to fiddle out on
> >compilation time what kind of method to be called later on!
> 
> At compilation time, no. But at interpretation time, certainly each object
> has a type (class)

You can't specify the type of the arguments => the interpreter can't dispatch
based on it.

Languages that does so based on compile-time types: C++, Java...
Languages that does so based on runtime types (late-binding, multiple dispatch):
Common Lisp, CLOS, Dylan (solves the typical covariance/contravariance conflict,
see http://citeseer.nj.nec.com/castagna95covariance.html for more)