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 224157FC86 for ; Thu, 19 Mar 2015 02:07:28 +0100 (CET) Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of daniel.buenzli@erratique.ch) identity=pra; client-ip=74.55.86.74; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="daniel.buenzli@erratique.ch"; x-sender="daniel.buenzli@erratique.ch"; x-conformance=sidf_compatible Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of daniel.buenzli@erratique.ch) identity=mailfrom; client-ip=74.55.86.74; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="daniel.buenzli@erratique.ch"; x-sender="daniel.buenzli@erratique.ch"; x-conformance=sidf_compatible Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@smtp.webfaction.com) identity=helo; client-ip=74.55.86.74; receiver=mail3-smtp-sop.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: A0CMAACyIApVm0pWN0pcg1iDZ8MOhXkCgiQBAQEBAQERAQEBAQEGCwsJFC6EEAEFIwRSEAsaAhkNAgJHEAYbiCcEsWGbWQELIIEhiXaCagGBUzMHgmgvgRYFlDSHVIUeD4Z+BYYhhBGDMQEBAQ X-IPAS-Result: A0CMAACyIApVm0pWN0pcg1iDZ8MOhXkCgiQBAQEBAQERAQEBAQEGCwsJFC6EEAEFIwRSEAsaAhkNAgJHEAYbiCcEsWGbWQELIIEhiXaCagGBUzMHgmgvgRYFlDSHVIUeD4Z+BYYhhBGDMQEBAQ X-IronPort-AV: E=Sophos;i="5.11,426,1422918000"; d="scan'208";a="103905691" Received: from mail6.webfaction.com (HELO smtp.webfaction.com) ([74.55.86.74]) by mail3-smtp-sop.national.inria.fr with ESMTP; 19 Mar 2015 02:07:27 +0100 Received: from [172.20.10.2] (27.233.197.178.dynamic.wless.lssmb00p-cgnat.res.cust.swisscom.ch [178.197.233.27]) by smtp.webfaction.com (Postfix) with ESMTP id 20F0420F4CBB; Thu, 19 Mar 2015 01:07:24 +0000 (UTC) Date: Thu, 19 Mar 2015 02:07:19 +0100 From: =?utf-8?Q?Daniel_B=C3=BCnzli?= To: =?utf-8?Q?Milan_Stanojevi=C4=87?= Cc: Caml-list Message-ID: <596DAEC11B474882835CEA10AAACE35E@erratique.ch> In-Reply-To: References: <2AB388B4D07D4DDABA30298A7C890319@erratique.ch> X-Mailer: sparrow 1.6.4 (build 1178) MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Subject: Re: [Caml-list] GADT existential escape Le jeudi, 19 mars 2015 =C3=A0 01:39, Milan Stanojevi=C4=87 a =C3=A9crit : > Can you give some hypothetical example code ? type 'a key =3D ? type binding =3D B : 'a key * 'a -> binding type dict =3D binding list=20=20 let lookup : dict -> 'a key -> 'a option =3D fun d k -> ? Is it possible to specify a `'a key` type that allows `lookup` (with the ob= vious semantics) to be written ? This is trivial to achieve with a universa= l type, see http://mlton.org/PropertyList Best, Daniel