Author: Christian.Queinnec@lip6.fr

## 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.