Wed Apr 8 18:55:58 CEST 2009

imperative module system

Explain why the current "imperative" module system is not a good idea
and how it should be changed to implement something better.

Relate this to Ocaml's functors.

The problem I'm trying to solve is about the following conflict:  One
wants the freedom to be able to change _all_ elementary code
generating functions but one does not want to be burdened with
declaring them as replacable.  This is about _defaults_ and declaring
how we are not using defaults.

The problem is: with unconstrained mutation of behaviour, locality is
lost: we really do want to change global behaviour in some cases
(i.e.: different machine), but would like some semantics to stay
invariant.  What is the proper way to change this?