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 mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id 7DA307EE34 for ; Mon, 28 Mar 2016 21:21:37 +0200 (CEST) IronPort-PHdr: 9a23:CcKjQBIhDOZrcjbB19mcpTZWNBhigK39O0sv0rFitYgUI/vxwZ3uMQTl6Ol3ixeRBMOAu6IC0bad6vu7EUU7or+/81k6OKRWUBEEjchE1ycBO+WiTXPBEfjxciYhF95DXlI2t1uyMExSBdqsLwaK+i760zceF13FOBZvIaytQ8iJ35Txjbz5osaIKyxzxxODIppKZC2sqgvQssREyaBDEY0WjiXzn31TZu5NznlpL1/A1zz158O34YIxu38I46Fp34d6XK77Z6U1S6BDRHRjajhtpZ6jiR6WYgKF/HoRVi0tmRpFGQXfpEX1V53rsyb+8PF22CSAMNfeQrU9WDDk5KBuHkzGkiACYhcj9mjKhoRLlKNEqRmi70h22JbVf4ieN9J6f7ObZdQeVHZMVcZXVjVcD8Wydd1cXKI6Ie9Eotyl9BM1phykCFzpXbu3xw== Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=arnaud.spiwack@gmail.com; spf=Pass smtp.mailfrom=arnaud.spiwack@gmail.com; spf=None smtp.helo=postmaster@mail-vk0-f65.google.com Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of arnaud.spiwack@gmail.com) identity=pra; client-ip=209.85.213.65; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="arnaud.spiwack@gmail.com"; x-sender="arnaud.spiwack@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of arnaud.spiwack@gmail.com designates 209.85.213.65 as permitted sender) identity=mailfrom; client-ip=209.85.213.65; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="arnaud.spiwack@gmail.com"; x-sender="arnaud.spiwack@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-vk0-f65.google.com) identity=helo; client-ip=209.85.213.65; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="arnaud.spiwack@gmail.com"; x-sender="postmaster@mail-vk0-f65.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0BtAQBlg/lWi0HVVdFdhH4GryCGYIR8iRsHORMBAQEBAQEBARABAQEICwsJHzGCLYIVAQEEEhEdATgBAwwBBQUEAQY3AgIhARIBBQEcBhMih3ADEqF9gTE+MYs2hEGGRicNhFgMGAEFCgWGD4REgj6EfoJWAQSXMDGMEYF1jwuHNoYXER6BDiICc4MyOjCIegEBAQ X-IPAS-Result: A0BtAQBlg/lWi0HVVdFdhH4GryCGYIR8iRsHORMBAQEBAQEBARABAQEICwsJHzGCLYIVAQEEEhEdATgBAwwBBQUEAQY3AgIhARIBBQEcBhMih3ADEqF9gTE+MYs2hEGGRicNhFgMGAEFCgWGD4REgj6EfoJWAQSXMDGMEYF1jwuHNoYXER6BDiICc4MyOjCIegEBAQ X-IronPort-AV: E=Sophos;i="5.24,408,1454972400"; d="scan'208,217";a="171290586" Received: from mail-vk0-f65.google.com ([209.85.213.65]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 28 Mar 2016 21:21:36 +0200 Received: by mail-vk0-f65.google.com with SMTP id a62so16012026vkh.0 for ; Mon, 28 Mar 2016 12:21:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=p7e6hBT390wIDeNWL6pUfuMu9YW+9CkJt24hPjyMe0g=; b=fjwnRFRjY53hIkRc0qcesAPtGUSK/Iv9i3H+GOrdxK5ohTP1sTHJQmAtS5fnNJ09s+ n/TVMOf4Q23P1MDNaibvSi2VSMQs7apmETcYi1nIJl9B/8GeG3KlG6TRen6cmTVW5GyX b2lZdgaCjxeGkeIyes1fi14gRlf3d9zACa1Wv3jrL/bCN5puVYrWoMHFDNwf1tTx8OxL KAZLJNJ6EYfNAzCRqmury9X10AkjEKOHv4bqEyh7CraeiQBufQ1iP0ZdCV/sBDiFIakw n/1a4f5cTahZvljkWzPXSdSMPhl4g+r67J4SP5uBsiKs8fbFlkELkVfnWU75n5PhXcVQ AGIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=p7e6hBT390wIDeNWL6pUfuMu9YW+9CkJt24hPjyMe0g=; b=CAEtFUsLQJ+766kWYTCitRdgiQslRV7G60IBtThuwskn9Ks4Odj6sRa+n3DzpMWcZy Btu7Mc34K98CJy269ikUwJ3l1tIBYW961Y9tkVVZfsJqFKvrBsMcKgA8XtFRu6JPCSRd LpAWcaoSKORyej+eIg3wbDTLBygqULv8okF3I5vIIBO7z2RZB2tvcv3hWh+RYfmgogYT 2mJc3AhXVstBMNMsNdEgjQOUqR167Di2RonniSagX+baLOy6veOa+vFyMLy9w3ZutCJg Ee8d/pYXl67DZl6tFydKkM8bgHJyl2J7vf9iaw8ZMYbrAcRzPubWMOOblYekcco96+q+ Q/VA== X-Gm-Message-State: AD7BkJJVhaYeI8JYgYduPN2D1oq7SrPLftH/Vhem7JVlPqFVnCuJ97ys74Ds2HfenQ6Va2ZCiOjQLY9aJOQeEA== X-Received: by 10.159.35.87 with SMTP id 81mr16135072uae.10.1459192894817; Mon, 28 Mar 2016 12:21:34 -0700 (PDT) MIME-Version: 1.0 Sender: arnaud.spiwack@gmail.com Received: by 10.176.2.178 with HTTP; Mon, 28 Mar 2016 12:20:55 -0700 (PDT) In-Reply-To: References: <86d1qgqu45.fsf@lpw25.net> <2D2C7D68-D59A-407B-B83A-65622DF9CC25@math.nagoya-u.ac.jp> From: Arnaud Spiwack Date: Mon, 28 Mar 2016 21:20:55 +0200 X-Google-Sender-Auth: _Mu2CT8IGillSnqAh2UaNPY4yEU Message-ID: To: Gabriel Scherer Cc: Gregory Malecha , Jacques Garrigue , Mailing List OCaml Content-Type: multipart/alternative; boundary=001a1136e1f8278da1052f20d2f1 X-Validation-by: arnaud@spiwack.net Subject: Re: [Caml-list] "Type constructor b would escape its scope" --001a1136e1f8278da1052f20d2f1 Content-Type: text/plain; charset=UTF-8 On 28 March 2016 at 10:07, Gabriel Scherer wrote: > (* the difference by "(type a) ..." and "type a . ..." is that the latter > allows polymorphic recursion (just as "'a . ..."), so this example fails > with just (type a) *) > So here's a question which has been nagging me for a while: is there any occasion where one may prefer to use the `(type a)` or the `'a.` forms over the `type a.` (apart for syntactical reasons)? If there is I'd be really interested in seeing an example, for I can't come up with one (especially for `(type a)`). If there aren't, what are the obstacles to turn the `(type a)` syntax into a synonymous to the `type a.` syntax? (I'm guessing that the `'a.` variant would be significantly harder). --001a1136e1f8278da1052f20d2f1 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

= On 28 March 2016 at 10:07, Gabriel Scherer <gabriel.scherer@gmail.= com> wrote:
(* the d= ifference by "(type a) ..." and "type a . ..." is that = the latter
=C2=A0 =C2=A0allows polymorphic recursion (just as "'= ;a . ..."), so this example fails
=C2=A0 =C2=A0with just (type a) *= )
=C2=A0
So here'= ;s a question which has been nagging me for a while: is there any occasion = where one may prefer to use the `(type a)` or the `'a.` forms over the = `type a.` (apart for syntactical reasons)? If there is I'd be really in= terested in seeing an example, for I can't come up with one (especially= for `(type a)`). If there aren't, what are the obstacles to turn the `= (type a)` syntax into a synonymous to the `type a.` syntax? (I'm guessi= ng that the `'a.` variant would be significantly harder).
--001a1136e1f8278da1052f20d2f1--