To Learn More
The modular model suffers from weak code reuse and difficulties for
incremental development. The article "Modular Programming with
overloading and delayed linking" ([AC96]) describes a simple
extension of the module language, allowing the extension of a module
as well as overloading. The choice of code for an overloaded function
derives from the techniques used for generic functions in CLOS. The
correction of the type system to accommodate these extended
modules has not been established.
The issues of mixing the models are well discussed in the article
"Modular Object-Oriented Programming with Units and
Mixing"([FF98]), in terms of the ease with which code can be
reused. The problem of extensibility of components is described in
detail.
This article is available in HTML at the following address:
Link
http://www.cs.rice.edu/CS/PLT/Publications/icfp98-ff/paper.shtml
We can see in these concepts that there is still some dynamic
typing involved in type constraints and/or the resolution of type
conflicts. It is probably not unreasonable to relax static typing to
obtain languages that are "primarily" statically typed in the pursuit
of increasing the reusability of the code by facilitating its
incremental development.