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?