Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
[Caml-list] choosing modules at runtime
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2002-09-24 (08:52)
From: Henri Dubois-Ferriere <henridf@l...>
Subject: [Caml-list] choosing modules at runtime
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). 

This means my main code will be littered with things like

if (use algorithm 1) then
else if (use algorithm 2) then
M_2.run_algo() ...

each time I use a function from the signature M. Of course I could do a 
shorthand hack like

let run_algo = 
  if (use algorithm 1) then
  else if (use algorithm 2) then
  M_2.run_algo ...

and then simply call run_algo from then on. (But this needs to be done for 
every function/value that the signature M exports).

Am I missing something obvious here? Of course what I would conceptually 
like to do would be something like

let Mod = if (use algorithm 1) then M_1 else if (use alg 2) then M_2 ..

and then be able to call Mod.run_algo(), but that probably belies that I 
am still thinking in an OO manner...

Thanks for any hints on the matter.


To unsubscribe, mail Archives:
Bug reports: FAQ:
Beginner's list: