From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id MAA11717; Tue, 24 Sep 2002 12:37:21 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id MAA11308 for ; Tue, 24 Sep 2002 12:37:20 +0200 (MET DST) Received: from mbg.sphere.ne.jp (mbg.sphere.ne.jp [210.150.254.179]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id g8OAbJD04886 for ; Tue, 24 Sep 2002 12:37:19 +0200 (MET DST) Received: from localhost (pl875.nas922.o-tokyo.nttpc.ne.jp [210.165.126.107]) by mbg.sphere.ne.jp (Postfix) with ESMTP id 6A15C3A323 for ; Tue, 24 Sep 2002 19:37:16 +0900 (JST) Date: Tue, 24 Sep 2002 19:42:45 +0900 (JST) Message-Id: <20020924.194245.07641515.yoriyuki@mbg.sphere.ne.jp> To: caml-list@inria.fr Subject: Re: [Caml-list] choosing modules at runtime From: Yamagata Yoriyuki In-Reply-To: References: X-Mailer: Mew version 2.2 on Emacs 21.2 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk From: Henri Dubois-Ferriere Subject: [Caml-list] choosing modules at runtime Date: Tue, 24 Sep 2002 10:48:55 +0200 (CEST) > 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). How about making the whole program into the functor, say, Prog. Then, the branch appears only once for the "main". if (use algorithm 1) then Prog (M_1).main () else if (use algorithm 2) then Prog (M_2).main () ... Numerix uses this trick for choosing implementation of big integers > but that probably belies that I am still thinking in an OO > manner.... Yes :-) -- Yamagata Yoriyuki http://www.mars.sphere.ne.jp/yoriyuki/ PGP fingerprint = 0374 5290 7445 4C06 D79E AA86 1A91 48CB 2B4E 34CF ------------------- 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