From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by sympa.inria.fr (Postfix) with ESMTPS id EE98E7F249 for ; Wed, 31 Oct 2012 14:38:36 +0100 (CET) Received-SPF: None (mail1-smtp-roc.national.inria.fr: no sender authenticity information available from domain of daniel.buenzli@erratique.ch) identity=pra; client-ip=74.55.86.74; receiver=mail1-smtp-roc.national.inria.fr; envelope-from="daniel.buenzli@erratique.ch"; x-sender="daniel.buenzli@erratique.ch"; x-conformance=sidf_compatible Received-SPF: None (mail1-smtp-roc.national.inria.fr: no sender authenticity information available from domain of daniel.buenzli@erratique.ch) identity=mailfrom; client-ip=74.55.86.74; receiver=mail1-smtp-roc.national.inria.fr; envelope-from="daniel.buenzli@erratique.ch"; x-sender="daniel.buenzli@erratique.ch"; x-conformance=sidf_compatible Received-SPF: None (mail1-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@smtp.webfaction.com) identity=helo; client-ip=74.55.86.74; receiver=mail1-smtp-roc.national.inria.fr; envelope-from="daniel.buenzli@erratique.ch"; x-sender="postmaster@smtp.webfaction.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AiMBAOYokVBKN1ZKnGdsb2JhbABEhhe9eQEBAQEBCAsJCRQngh4BAQQBIxVAAQULCw4MAgUTAwsCAgkDAgECASsaBg6IBQYEqTSSZIEgkACBEwObTI1c X-IronPort-AV: E=Sophos;i="4.80,687,1344204000"; d="scan'208";a="179692520" Received: from mail6.webfaction.com (HELO smtp.webfaction.com) ([74.55.86.74]) by mail1-smtp-roc.national.inria.fr with ESMTP; 31 Oct 2012 14:38:36 +0100 Received: from Hehey.local (111-233.197-178.cust.bluewin.ch [178.197.233.111]) by smtp.webfaction.com (Postfix) with ESMTP id 489A52079AF9; Wed, 31 Oct 2012 08:38:31 -0500 (CDT) Message-ID: <509129D2.3050705@erratique.ch> Date: Wed, 31 Oct 2012 14:38:26 +0100 From: =?UTF-8?B?RGFuaWVsIELDvG56bGk=?= User-Agent: Postbox 3.0.5 (Macintosh/20120826) MIME-Version: 1.0 To: Edgar Friendly CC: caml-list@inria.fr References: <508F22BD.7010103@riken.jp> <026F32A8-2790-4CDD-A839-58655A8074CA@first.in-berlin.de> <508FE869.3070603@inria.fr> <508FFB12.9030307@gmail.com> <508FFE82.2050409@inria.fr> <50900466.2050000@gmail.com> <5090F66F.60803@erratique.ch> <50912619.9090004@gmail.com> In-Reply-To: <50912619.9090004@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Caml-list] Why should I use .mli files? > It makes sense to me that such a signature item in a .ml file should > be restricted to being immediately before the value binding it applies > to. i.e. [...] > This should solve the "skim through the whole ml file" problem. Not at all. The problem is not for a single value. The problem is understanding what this modules actually exports and hence the information flow between the larger program and that module. With this proposal that information is scattered across the whole module among intermediary, hidden, definitions. An mli summarizes very well the actual interface of the module without being distracted by the way the code is actually organized in the module. It's a huge tool for understanding programs. Best, Daniel