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=1.8 required=5.0 tests=AWL,DNS_FROM_RFC_POST, SPF_NEUTRAL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by yquem.inria.fr (Postfix) with ESMTP id 6BA6DBBAF for ; Mon, 6 Jul 2009 13:19:42 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AiICADl7UUrRVdzOmGdsb2JhbACYXD8BAQEBAQgJDAcTpEmNdQEDAgSEDgWBOoYf X-IronPort-AV: E=Sophos;i="4.42,356,1243807200"; d="scan'208";a="29338339" Received: from mail-fx0-f206.google.com ([209.85.220.206]) by mail2-smtp-roc.national.inria.fr with ESMTP; 06 Jul 2009 13:19:22 +0200 Received: by fxm2 with SMTP id 2so3406843fxm.27 for ; Mon, 06 Jul 2009 04:19:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:message-id:subject:from:to :content-type:content-transfer-encoding; bh=q9uM07B/GUoQwOB7J632+Kvw4jJstpJ1Iwnw+cftmIg=; b=cekYaRysY92SRaG4fNo854s+HoHmTc9iq1eP6alu+tOKpi3F1Dbquidepa3QxDMjOK DoQcKp1//yhm6GIc5K3oRjzMH06jmhcQNfF8j+uxY/5BQaK1+4a9E0UAwZFMpNFL8p2Y pyQskvl5Or6G0DxldXIAEfrZxnDb81SPVzTzs= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:content-type :content-transfer-encoding; b=Fx++en8pVVVXRVGSSnP5GELplBVeYxB7RmJydWI2AmsbRU60XazKPlyPrc1/Sz1QgZ TNsdA41nIZodRqloyacdocnuaFM7ZhFEecusA3susiYhBs11fQgk/sesRBEPeqPDkr1i 67eDh46XKX6muwUYrFF2NmAjv+SxQwvk4bijs= MIME-Version: 1.0 Sender: johannes.kanig@gmail.com Received: by 10.103.107.1 with SMTP id j1mr2534870mum.99.1246879161882; Mon, 06 Jul 2009 04:19:21 -0700 (PDT) In-Reply-To: <20090706105629.GA25140@uranium.pps.jussieu.fr> References: <20090706092704.GA20957@uranium.pps.jussieu.fr> <926565e50907060325o37bf41bfqb8bd6cc819af4f77@mail.gmail.com> <20090706105629.GA25140@uranium.pps.jussieu.fr> Date: Mon, 6 Jul 2009 13:19:21 +0200 X-Google-Sender-Auth: cc78d99febfe45a4 Message-ID: <926565e50907060419m4985f66awd8480ebef0112294@mail.gmail.com> Subject: Re: [Caml-list] Circular dependencies From: Johannes Kanig To: caml-list@yquem.inria.fr Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spam: no; 0.00; dependencies:01 lri:01 mli:01 mli:01 lri:01 2009:98 wrote:01 signatures:01 signatures:01 pps:01 caml-list:01 jussieu:01 interfaces:01 module:03 module:03 On Mon, Jul 6, 2009 at 12:56 PM, Pietro Abate wrote: > ok, so if now I want to hide the module private.ml I need to add > algo.mli to hide it . Suppose I've the mli for Pub1 Pub2 and Out . =C2=A0= How > can I easily (without cut and pasting code) create algo.mli ? =C2=A0Tell = me I > do not have to manually add the signature of Pub1 Pub2 and Out ... > searching the list I've got a bad feeling ... Is this the best way to > hide a module ? I don't know of a solution without changing your code. You could either remove your internal .mli files and put all the interfaces into algo.mli. Or you create a file signatures.mli which contains the relevant signatures. In pub1.mli, you could then write include Signatures.Pub1, and so on, and similarly for algo.mli. Johannes --=20 Johannes Kanig johannes.kanig@lri.fr