From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.4 required=5.0 tests=AWL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id 005E8BB84 for ; Tue, 9 Sep 2008 15:51:51 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AkkCAKsbxkjAXQImiGdsb2JhbACLQ4cLAQEBDyCjJ4FkgiQ X-IronPort-AV: E=Sophos;i="4.32,365,1217800800"; d="asc'?scan'208";a="28979100" Received: from discorde.inria.fr ([192.93.2.38]) by mail4-smtp-sop.national.inria.fr with ESMTP; 09 Sep 2008 15:51:51 +0200 Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id m89Dpm1G019778 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Tue, 9 Sep 2008 15:51:51 +0200 X-IronPort-AV: E=Sophos;i="4.32,365,1217800800"; d="asc'?scan'208";a="14742492" Received: from peray.inria.fr (HELO ausone.inria.fr) ([128.93.8.98]) by mail2-relais-roc.national.inria.fr with SMTP; 09 Sep 2008 15:51:50 +0200 Received: by ausone.inria.fr (sSMTP sendmail emulation); Tue, _d Sep 2008 15:51:10 +0200 From: "Nicolas Pouillard" Cc: caml-list Subject: Re: [Caml-list] ocamlbuild and pack To: "johannes.kanig" References: <926565e50809090638t2649f820sa4447b748e1ac0d5@mail.gmail.com> In-Reply-To: <926565e50809090638t2649f820sa4447b748e1ac0d5@mail.gmail.com> Date: Tue, 09 Sep 2008 15:51:10 +0200 Message-Id: <1220967957-sup-6623@ausone.inria.fr> User-Agent: Sup/git Content-Type: multipart/signed; protocol="application/pgp-signature"; boundary="=-1220968270-419294-43992-3054-7-="; micalg="pgp-sha1" MIME-Version: 1.0 X-Miltered: at discorde with ID 48C67F74.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; mli:01 sig:01 sig:01 cmo:01 dependencies:01 cmo:01 dependencies:01 caml-list:01 cma:01 modules:02 consisting:02 seems:03 module:03 module:03 float:03 X-Attachments: cset="UTF-8" type="application/pgp-signature" name="signature.asc" name="signature.asc" --=-1220968270-419294-43992-3054-7-= Content-Type: text/plain; charset=UTF-8 Excerpts from johannes.kanig's message of Tue Sep 09 15:38:04 +0200 2008: > Hi List, > > I have the following problem. I have three files, each consisting of one > line: > > a.ml: type t = float > b.ml: type t = A.t > c.ml: include B > > Now I want to put these modules into a pack, but I only want to export A and > C, so I write a file project.mli: > module A : sig type t end > module C : sig type t = A.t end > > As I want to use ocamlbuild, I also create a file project.mlpack: > A > C B should be in the pack even if you want to hide it. > Now, the command "ocamlbuild project.cmo" works fine, but I can't build a > library from that: > ocamlbuild project.cma > Circular dependencies: "project.cmo" already seen in > [ "b.cmo"; "project.cmo" ] > > There clearly aren't any circular dependencies, are there? Am I missing > something? B depends on A, but A is in the pack Project. {B|->Project} Project includes C, that depends on B. {Project->B} > The problem goes away if I export B instead of C. So the troublemaker seems > to be the include directive. In that case: * A is in Project {} * B depends on A that is in Project, but B is also in Project {} * C depends on B that is in Project {C->Project} No cycle in this one -- Nicolas Pouillard aka Ertai --=-1220968270-419294-43992-3054-7-= Content-Disposition: attachment; filename="signature.asc" Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.8 (Darwin) iEYEARECAAYFAkjGf04ACgkQj+FCNw9dwLnLBwCfUP5lC53a9hKL1ACz1c63wFtQ TCYAnRTGkXzUwGr8pPrTymhOuyBqs5Ot =7rDj -----END PGP SIGNATURE----- --=-1220968270-419294-43992-3054-7-=--