ECOOP 2009 – Object-Oriented Programming
In the context of object-oriented programming, many solutions have been proposed
to the problem of type inference [17,16,1,21,6,20,12], but the increasing
interest in dynamic object-oriented languages is asking for ever more precise and
efficient type inference algorithms [3,12].
Two important features which should be supported by type inference are parametric
and data polymorphism [1]; the former allows invocation of a method on
arguments of unrelated types, the latter allows assignment of values of unrelated
types to a field. While most proposed solutions support parametric polymorphism
well, only few inference algorithms are able to deal properly with data
polymorphism; such algorithms, however, turn out to be quite complex and cannot
be...