Henri Dubois-Ferriere wrote:
> Say I have a module signature M which is implemented by module structs
> M_1, M_2, M_3, .. M_N.
>
> At runtime , depending on some command-line parameters, I will choose one
> of the module implementations (they use different algorithms internally).
I do the same in my application. I have a module defining a
module type which provider modules must implement. I then
dynamically link a cmo specified on the command line, which
implements the module type. This file registers the exported
functions and values with Registry module, through which
they are called and used by the application. Not a simple
scheme, but useful and appropriate in my case.
> This means my main code will be littered with things like
>
> if (use algorithm 1) then
> M_1.run_algo()
> else if (use algorithm 2) then
> M_2.run_algo() ...
Dynlink solves this problem. But, I'll admit, conditional
module expressions would be a cool, cool feature. And I
don't believe this requires first class modules.
Alex
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners