
Brian Hulley wrote:
The use of a plain value to initialize the ref rather than a monadic computation would ensure that there would be no problems with trying to work out which order to initialize top level refs that are dependent on values of refs in other modules since there could be no dependencies.
I meant to say that while there *could* be dependencies I don't think they would be any different from the dependencies that can exist at the moment with one value depending on another which in turn is defined in terms of the first either within a module or between mutually recursive modules. Also, to qualify my suggestion, I am not 100% sure that it would be powerful enough for all uses - perhaps monadic computations are needed in some cases to init global refs? Regards, Brian.