From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id PAA16047 for caml-redistribution; Fri, 25 Jul 1997 15:58:11 +0200 (MET DST) Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id PAA15971 for ; Fri, 25 Jul 1997 15:56:33 +0200 (MET DST) Received: from prof.inria.fr (prof.inria.fr [128.93.11.47]) by concorde.inria.fr (8.8.5/8.8.5) with ESMTP id PAA03875 for ; Fri, 25 Jul 1997 15:56:33 +0200 (MET DST) Received: from hobbes.inria.fr (hobbes.inria.fr [128.93.11.72]) by prof.inria.fr (8.6.10/8.6.6) with ESMTP id PAA28786 for ; Fri, 25 Jul 1997 15:56:31 +0200 Received: (lefessan@localhost) by hobbes.inria.fr (8.6.10/8.6.6) id PAA06115; Fri, 25 Jul 1997 15:56:25 +0200 Date: Fri, 25 Jul 1997 15:56:25 +0200 Message-Id: <199707251356.PAA06115@hobbes.inria.fr> From: Fabrice Le Fessant To: caml-list@pauillac.inria.fr In-reply-to: <199707240521.OAA00374@sparc3.co.jp> (christo@nextsolution.co.jp) Subject: Re: Managing module names MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=iso-8859-1 Sender: weis Bonjour, Pour ceux qui veulent utiliser un systeme de packages avec Ocaml 1.05, j'ai un patch du compilateur permettant de placer les modules dans des packages. Cela evite les collisions de noms de modules identiques lors du link. Les noms des modules peuvent aussi etre allonges pour specifier le package auquel ils appartiennent (toujours pour eviter une collision), par la syntaxe /module (par exemple, List devient Stdlib/list). Les packages ne correspondent pas a l'emplacement des fichiers, mais a la facon dont les modules ont ete compiles: ocamlc -c list.ml ---> module List ocamlc -c stdlib/list.ml ---> module Stdlib/list ocamlc -package stdlib -c list.ml ---> module Stdlib/list Cependant, le compilateur s'aide quand-meme des noms des packages pour trouver les modules: Il cherchera d'abord un fichier stdlib/list.cmi, puis un fichier list.cmi pour matcher le module Stdlib/list. Quand on ne specifie pas le nom du package d'un module, et que le module trouve appartient a un package, le compilateur emet un Warning. Le patch avec plus de renseignements se trouve sur : http://www-sor.inria.fr/~lefessan/src/