From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by walapai.inria.fr (8.13.6/8.13.6) with ESMTP id p2HDsY1n026476 for ; Thu, 17 Mar 2011 14:54:34 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AhsDAN+ugU3RVaE2kGdsb2JhbACEPpQejGoIFAEBAQEJCQ0HFAQhqSSKAoJahSmJCgEBAwWEZ3cEjF6DTXSEODqBGg X-IronPort-AV: E=Sophos;i="4.63,199,1299452400"; d="vcf'?scan'208";a="78580906" Received: from mail-fx0-f54.google.com ([209.85.161.54]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/RC4-SHA; 17 Mar 2011 14:54:28 +0100 Received: by fxm11 with SMTP id 11so4208320fxm.27 for ; Thu, 17 Mar 2011 06:54:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:sender:message-id:date:from:user-agent :mime-version:to:subject:references:in-reply-to:x-enigmail-version :content-type; bh=k1C4dJFJ27Ak0yHqqEOyZH1ZRdCdWoXXcFj6M7EJZkA=; b=fmc73l4RUcCEORNZaosv3Pk5Ii3CsGjAjXSkRQpkDm1Lnj1eWdsa3FBT+pVEx2DY3z j6Um8NqBTzwbFtrjbdViSpLsWd1jNJrvoYYF7pRpWnqX9Xtun42Yk0G2ezp0B61CLFXX ZjeMRk7gVBQCW2hlsgQLHE2gNauvQwws2cXoI= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=sender:message-id:date:from:user-agent:mime-version:to:subject :references:in-reply-to:x-enigmail-version:content-type; b=R+Zo2CZnEkdZPik0lt9drkGf8/CaPheWaMafWUik8nw7/pUsYTgQE13tQGP0m02MCu 8fq2KhYoBtGeL9tGlK1FJM3Ht7/qic8Yh9+OKkqZhbslq8myJio2DMAHA7n3kKtjDs3w Nm94no/WXzceDCtso6Hde57NPUQIAN21saLr0= Received: by 10.223.15.72 with SMTP id j8mr1511473faa.69.1300370068427; Thu, 17 Mar 2011 06:54:28 -0700 (PDT) Received: from [195.83.212.218] (chercheurs-218.saclay.inria.fr [195.83.212.218]) by mx.google.com with ESMTPS id c21sm674229fac.46.2011.03.17.06.54.26 (version=SSLv3 cipher=OTHER); Thu, 17 Mar 2011 06:54:27 -0700 (PDT) Sender: Fabrice Le Fessant Message-ID: <4D821290.6020307@inria.fr> Date: Thu, 17 Mar 2011 14:54:24 +0100 From: Fabrice Le Fessant User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.14) Gecko/20110223 Lightning/1.0b2 Thunderbird/3.1.8 MIME-Version: 1.0 To: caml-list@inria.fr References: <20110317104719.GH22969@localhost> <20110317110552.GP22969@localhost> <1080649473.122478.1300369493351.JavaMail.root@zmbs4.inria.fr> In-Reply-To: <1080649473.122478.1300369493351.JavaMail.root@zmbs4.inria.fr> X-Enigmail-Version: 1.1.2 Content-Type: multipart/mixed; boundary="------------010009030001080308040203" Subject: Re: [Caml-list] Re: Define class and sum type in one time This is a multi-part message in MIME format. --------------010009030001080308040203 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit On 03/17/2011 02:44 PM, Gabriel Scherer wrote: > PS : I remember reading about an extension to OCaml where all > compilation units where implicitly recursive, so that you could write > Current_module.foo and have mutual structure item recursion for free. I > thought it was from Alain Frisch, but a search on Lexifi's blog didn't > return anything. Has one list reader kept the reference to this article? On Tue, Dec 28, 2010 at 03:59:32PM +0100, Alain Frisch wrote: ... I can also mention a local extension we use at LexiFi: a compilation unit (.ml) for which an explicit signature (.mli) exists is type-checked as a recursive module with itself. (Currently, we disallow recursive references to value-like components.) So in the example above, the definition of the module type S could be put in Bar.mli: ... --Fabrice --------------010009030001080308040203 Content-Type: text/x-vcard; charset=utf-8; name="fabrice_le_fessant.vcf" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="fabrice_le_fessant.vcf" begin:vcard fn:Fabrice LE FESSANT n:LE FESSANT;Fabrice org:INRIA Saclay -- Ile-de-France;Projet OCamlPro adr;quoted-printable:;;Parc Orsay Universit=C3=A9 ;Orsay CEDEX;;91893;France email;internet:fabrice.le_fessant@inria.fr title;quoted-printable:Charg=C3=A9 de Recherche tel;work:+33 1 74 85 42 14 tel;fax:+33 1 74 85 42 49 url:http://fabrice.lefessant.net/ version:2.1 end:vcard --------------010009030001080308040203--