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 mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id AAE967EE25 for ; Sat, 26 Oct 2013 07:28:44 +0200 (CEST) Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of jacques.garrigue@gmail.com) identity=pra; client-ip=209.85.223.176; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="jacques.garrigue@gmail.com"; x-sender="jacques.garrigue@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of jacques.garrigue@gmail.com designates 209.85.223.176 as permitted sender) identity=mailfrom; client-ip=209.85.223.176; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="jacques.garrigue@gmail.com"; x-sender="jacques.garrigue@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-ie0-f176.google.com) identity=helo; client-ip=209.85.223.176; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="jacques.garrigue@gmail.com"; x-sender="postmaster@mail-ie0-f176.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AiAEAL1Ra1LRVd+wlGdsb2JhbABZgkN8VKtxihGJXQgWDgEBAQEHCwsJEiqCJQEBBAEnGQE4AQMMAQUFBAcDCi4hARIBBQEcBhOHdQMJBg2aIY9ghDonDVeJDgEFDIxXhyMDiT2MYoFrgS+LIYNLGCmBZIJ8LQ X-IPAS-Result: AiAEAL1Ra1LRVd+wlGdsb2JhbABZgkN8VKtxihGJXQgWDgEBAQEHCwsJEiqCJQEBBAEnGQE4AQMMAQUFBAcDCi4hARIBBQEcBhOHdQMJBg2aIY9ghDonDVeJDgEFDIxXhyMDiT2MYoFrgS+LIYNLGCmBZIJ8LQ X-IronPort-AV: E=Sophos;i="4.93,575,1378850400"; d="scan'208";a="38867645" Received: from mail-ie0-f176.google.com ([209.85.223.176]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/RC4-SHA; 26 Oct 2013 07:28:43 +0200 Received: by mail-ie0-f176.google.com with SMTP id u16so7736703iet.21 for ; Fri, 25 Oct 2013 22:28:43 -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:date:message-id:subject :from:to:cc:content-type; bh=p2m2/Sg51yn1jOS5o2lvfCF4U11HSmjVn0wgzvSQHiE=; b=pI4L8lx9FtUyviTHyxWsawnU0naf9UZBI7qftp5hoL8FrCtic2zYhxdkmjUfnP+5C6 IyrkJZdqx3IUXNBaRpx85BzyoRg0OKPC4kJRWcVY5N6EGtRwuiFpyyYrdNulnPHSjhN4 BxEzfBdG6eU1hgYdXeX5X5jGty+/sRPx7FCwSwqFS5QPnXaskfD7gWqwb0F4WpzEgiVw 7PYJ9d4PbUQiT+yHx6u1JXeCzxu2Vxag+jOFLlym4MYyGhmUC7bAjb07aDYAIqZsG3h2 8zZkOlgFJciKa9Vjw9AuMpjbpL8wGCgHYaKi59kaavXB4274ZZYyQUIhbv/JKXSVVE8V xRIw== MIME-Version: 1.0 X-Received: by 10.43.80.67 with SMTP id zt3mr7194604icb.23.1382765323004; Fri, 25 Oct 2013 22:28:43 -0700 (PDT) Sender: jacques.garrigue@gmail.com Received: by 10.50.253.44 with HTTP; Fri, 25 Oct 2013 22:28:42 -0700 (PDT) Received: by 10.50.253.44 with HTTP; Fri, 25 Oct 2013 22:28:42 -0700 (PDT) In-Reply-To: <53FD8CDF-0FB3-463A-B2DA-077488CEDC71@cap-lore.com> References: <97627FCD-30E1-45AD-A72B-CD423170C0AC@math.nagoya-u.ac.jp> <20131025082911.GB23798@voyager> <878uxhd62p.fsf@golf.niidar.ru> <526A7F33.6040203@mpi-sws.org> <53FD8CDF-0FB3-463A-B2DA-077488CEDC71@cap-lore.com> Date: Sat, 26 Oct 2013 14:28:42 +0900 X-Google-Sender-Auth: ZmTJil-EKqX8vaS1RRoVh_x15U8 Message-ID: From: Jacques Garrigue To: Norman Hardy Cc: Mailing List OCaml Content-Type: multipart/alternative; boundary=001a1133326ae2b2fa04e99e23a5 Subject: Re: [Caml-list] Equality between abstract type definitions --001a1133326ae2b2fa04e99e23a5 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable Both explicit polymorphic annotations and the polymorphic syntax of locally abstract types are extensions. http://caml.inria.fr/pub/docs/manual-ocaml/extn.html See subsections 7.12 and 7.13. Jacques Garrigue 2013/10/26 10:09 "Norman Hardy" : > > On 2013 Oct 25, at 13:44 , Jacques Le Normand > wrote: > > I'm surprised noone has pointed out the new type annotation syntax: > > let id : type s. s -> s =3D fun x -> x > > > I like that syntax, I think. > I suppose that "id : type s. s -> s =3D fun x -> x" is a let-binding > and that "id : type s. s -> s" is a pattern, > but I cannot get the syntax at > http://caml.inria.fr/pub/docs/manual-ocaml/patterns.html > to produce "id : type s. s -> s=94. > --001a1133326ae2b2fa04e99e23a5 Content-Type: text/html; charset=windows-1252 Content-Transfer-Encoding: quoted-printable

Both explicit polymorphic annotations and the polymorphic syntax of loca= lly abstract types are extensions.
http://cam= l.inria.fr/pub/docs/manual-ocaml/extn.html
See subsections 7.12 and 7.13.

Jacques Garrigue

2013/10/26 10:09 "Norman Hardy" <norm@cap-lore.com>:

On 2013 Oct 25, at 13:44 = , Jacques Le Normand <rathereasy@gmail.com> wrote:

I'm surprised noone has pointed out the new type annotation syntax:
let id : type s. s -> s =3D fun x -> x

I like that syntax, I think.
I suppo= se that "id : type s. s -> s =3D fun x -> x" is a let-bindi= ng
and that=A0"id : type s. s -> s" is a pattern,
to produce "id : type s. s -> s=94.
--001a1133326ae2b2fa04e99e23a5--