> Sure: define [mRecord] outside the functor completely. It could be an
> abstract type in an enclosing module. (Modules can contain functors, which
> can contain modules that contain functors, and so on ad infinitum.)
Thinking about how to define the abstract type concretely, I would have
structure Enclosing =
struct
datatype mRecord = First of $firstFields |
Second of $secondFields |
Third of $thirdFields
datatype whichmodule = FirstM | SecondM | ThirdM
functor Render ( M: sig ... val module : whichmodule ... end ) : Signature =
struct
...
end
end
Do you agree with this, or, you would suggest something else?
- Gergely
_______________________________________________
Ur mailing list
[email protected]
http://www.impredicative.com/cgi-bin/mailman/listinfo/ur