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 IAA07374; Wed, 14 Aug 2002 08:55:28 +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 IAA07391 for ; Wed, 14 Aug 2002 08:55:27 +0200 (MET DST) Received: from mel-rto4.wanadoo.fr (smtp-out-4.wanadoo.fr [193.252.19.23]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id g7E6tR124115 for ; Wed, 14 Aug 2002 08:55:27 +0200 (MET DST) Received: from mel-rta7.wanadoo.fr (193.252.19.61) by mel-rto4.wanadoo.fr (6.5.007) id 3D49FD32004BEB4C for caml-list@inria.fr; Wed, 14 Aug 2002 08:55:27 +0200 Received: from AlphaSystem.dnsalias.net (80.11.74.121) by mel-rta7.wanadoo.fr (6.5.007) id 3D49FF1400440CAB for caml-list@inria.fr; Wed, 14 Aug 2002 08:55:27 +0200 Received: from localhost ([127.0.0.1] helo=alphasystem.dnsalias.net) by AlphaSystem.dnsalias.net with esmtp (Exim 3.36 #1 (Debian)) id 17es3y-0006sd-00 for ; Wed, 14 Aug 2002 08:55:26 +0200 From: "Johan Baltié" To: caml-list@inria.fr Subject: [Caml-list] Module/Functor modelisation Date: Wed, 14 Aug 2002 07:55:26 +0100 Message-Id: <20020814065526.M40144@wanadoo.fr> X-Mailer: Open WebMail 1.61 20020204 X-OriginatingIP: 192.6.2.192 (baltie_j) MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk Hi ! I have a simple functor: module type Used = sig type output val toto : int -> output -> output val tutu : double -> output -> output end module type User = functor (U : Used) -> sig val toto : int -> U.output -> U.output val tutu : double -> U.output -> U.output end And User is implemented by two types doing mostly the same things with different init, and with recursive and/or mutual call in toto an tutu. I'd like to factorize the shared code, BUT the recursive call prevent me of doing this. Here an implementation example of the part where the problem lie: module User1: User = functor (U : Used) -> struct let toto i output = end Ciao Jo ------------------- 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