From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <5764c029b688c1c0d24a2e97cd764f@gmail.com> 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 8CB928015D for ; Fri, 26 May 2017 10:01:19 +0200 (CEST) Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=5764c029b688c1c0d24a2e97cd764f@gmail.com; spf=Pass smtp.mailfrom=5764c029b688c1c0d24a2e97cd764f@gmail.com; spf=None smtp.helo=postmaster@mail-wm0-f43.google.com Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of 5764c029b688c1c0d24a2e97cd764f@gmail.com) identity=pra; client-ip=74.125.82.43; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="5764c029b688c1c0d24a2e97cd764f@gmail.com"; x-sender="5764c029b688c1c0d24a2e97cd764f@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of 5764c029b688c1c0d24a2e97cd764f@gmail.com designates 74.125.82.43 as permitted sender) identity=mailfrom; client-ip=74.125.82.43; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="5764c029b688c1c0d24a2e97cd764f@gmail.com"; x-sender="5764c029b688c1c0d24a2e97cd764f@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-wm0-f43.google.com) identity=helo; client-ip=74.125.82.43; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="5764c029b688c1c0d24a2e97cd764f@gmail.com"; x-sender="postmaster@mail-wm0-f43.google.com"; x-conformance=sidf_compatible IronPort-PHdr: =?us-ascii?q?9a23=3A2rsSGB9IvOdOmP9uRHKM819IXTAuvvDOBiVQ1KB3?= =?us-ascii?q?1eMcTK2v8tzYMVDF4r011RmSDNudtq0My7KP9fuxBipYudfJmUtBWaIPfidGs/?= =?us-ascii?q?lepxYnDs+BBB+zB9/RRAt+Iv5/UkR49WqwK0lfFZW2TVTTpnqv8WxaQU2nZkJ6?= =?us-ascii?q?KevvB4Hdkdm82fys9J3PeQVIgye2ba9vIBmsowjcssgbjZFiJ6sz1xDFpmdEd/?= =?us-ascii?q?lMyW5mIV+enQzw6tus8JJm7i9dp+8v+8lcXKr1eKg1UaZWADM6PW4r+cblrwPD?= =?us-ascii?q?TQyB5nsdVmUZjB9FCBXb4R/5Q5n8rDL0uvJy1yeGM8L2S6s0WSm54KdwVBDoki?= =?us-ascii?q?YHOCUn/2zRl8d9kbhUoBOlpxx43o7UfISYP+dwc6/BYd8XQ3dKU8BMXCJDH4y8?= =?us-ascii?q?dZMCAfQBM+hFrIfzqVUBohSiCgejH+7v1j1Fi2Xq0aEm3eksEwfL1xEgEdIUt3?= =?us-ascii?q?TUqc34OqAIXuCp0qbIzyjIYfZR2Tfm6YjIcQ0qrPaMUL9ycMfcxlUgGx/bgliU?= =?us-ascii?q?soPoPjCY2+cRvGSG8+VsSf+gh3Aopg5rvDSg2MMhh4vViY0IyF3J9Cp0wIguKN?= =?us-ascii?q?23TU50e9+kEJ9Kuy6GMIt2R9ovTmd1syg50r0LoZy2cScQxJg62RLSa+aLfouW?= =?us-ascii?q?7h75W+ucLy90iGx4dL+xnRq//lWsxvf9W8S6ylpGsyRIn9/RvX4XzRPT8NKISv?= =?us-ascii?q?5l80ehxzmP0wfT5/lBIU8ulKrbL4ctw7A1lpYPqEjDECD7lUvsgK+ZcUUk/eeo?= =?us-ascii?q?6+D5bbn8upCcMIp0hhn/MqQohMO/Hfw1PwoBUmSB5Oiwyr3u8Vf6TblUlPE7na?= =?us-ascii?q?fUvIjfJcsBp665BwFV0pwk6xa6Fzqr0NYVkHgIIV1ZZB6LkYzkNErPLf37Dvqw?= =?us-ascii?q?n0mgnyt3y//bILHsDY/CImbdn7rlf7ty91NTxQgywN1Q6ZJZEb4BIPfpVU/wsN?= =?us-ascii?q?zUFAM2Mwuxw+r/EtVyypseWX6TAq+eKK7drUWH5ucrI+WVYI8VuS39K+Q+6v71?= =?us-ascii?q?jX45nEcdcrOz0ZsWbnC4BPVmLF+DbXrimNdSWVsN6wE3SeivjFyZTRZSYWyzVu?= =?us-ascii?q?Qy/GIVEoWjWKLKWo2vyJ+Gxya4VskLOT4aAQjWQH22J9WPAvxUZHjOK5Vsw2MP?= =?us-ascii?q?Wef/F4EJ2hSntQu8wL1ieLmHshYEvI7ugYAmr9bYkgs/oGR5?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0C2GwAS4CdZgCtSfUpdHAEBBAEBCgEBF?= =?us-ascii?q?wEBBAEBCgEBghGBfoEKg2+lEoxhgg8OgzCFbEAXAQEBAQEBAQEBAQESAQEJCws?= =?us-ascii?q?IJjFCDoFjIoJtBBkBGx4DEhAPAiYCJREBBQEvCAKKDQEDFQSab4NFP4wHgWwYB?= =?us-ascii?q?QEcgwoFg1wKGScNVkeDHgIGCQEIeYddiCOCRoJgBYlAiESMHgGTKIFuiQ0Qhmy?= =?us-ascii?q?TBjOBFSEBdEswISN0hBlBghB0gw6FewEBAQ?= X-IPAS-Result: =?us-ascii?q?A0C2GwAS4CdZgCtSfUpdHAEBBAEBCgEBFwEBBAEBCgEBghG?= =?us-ascii?q?BfoEKg2+lEoxhgg8OgzCFbEAXAQEBAQEBAQEBAQESAQEJCwsIJjFCDoFjIoJtB?= =?us-ascii?q?BkBGx4DEhAPAiYCJREBBQEvCAKKDQEDFQSab4NFP4wHgWwYBQEcgwoFg1wKGSc?= =?us-ascii?q?NVkeDHgIGCQEIeYddiCOCRoJgBYlAiESMHgGTKIFuiQ0QhmyTBjOBFSEBdEswI?= =?us-ascii?q?SN0hBlBghB0gw6FewEBAQ?= X-IronPort-AV: E=Sophos;i="5.38,396,1491256800"; d="scan'208";a="274820247" Received: from mail-wm0-f43.google.com ([74.125.82.43]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 26 May 2017 10:01:19 +0200 Received: by mail-wm0-f43.google.com with SMTP id e127so11463704wmg.1 for ; Fri, 26 May 2017 01:01:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=to:from:subject:message-id:date:user-agent:mime-version :content-transfer-encoding; bh=itgwT6z69N1rL0igL0ndRClQ6DcJ/fVfThM1YXOaYHc=; b=nZb9pnRJHwMSFBczmt2V9LvP7TuMxvfu/DWzYUWpiA1medBDUKP8f5P0UMEyNZdd1L iBG3Vjik/wJoGb65i+0NYlvgVR26O+ksHPBPz+42Qt+ax1/qk1wyInXg2iknrexrXRt8 2hQ5npc3W2wb7Rhd5WxPcuYloq7bXjFUP/39ROSbGIM6ZirxUhNbTz0RyeJK/UN0svVG AVzoH4qWjOZeJ2+72DgtFslht7RSdytkRn41+WAg1zIpy2V7KEvIsholvusTr3+Q/EPW XZmt29Y0bLVpa3GpNXyRJKtO7ygcKX1Cle1ElJU2A6bYzENyNR9jhk2Rd9aRztAM2hbl /RBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:from:subject:message-id:date:user-agent :mime-version:content-transfer-encoding; bh=itgwT6z69N1rL0igL0ndRClQ6DcJ/fVfThM1YXOaYHc=; b=kCvBpZMeaeGjV0YraJSQ2gRRqHPl4qOR/ms7l5MWduIFTk9GpZzT1ppNz9pFXibEUF /7WfZqI0dEkVsX6NplRQG5PCBKFy+4QTafbrOkrhT5KATOTRMnlq49AnfsZhpHfVOhK4 HYb1T5kjim2YxyAclyiLY9UnHl/35/AEKKYVkxioti691udYpTr9oUVP8pMzN00+N0a1 PymlNbjxqc3DwadZVdW7X0wpHvlQSgVEiHQRwg/aOQp5bPcw/fVF5g4F1jWdVcH1I3du 9BYPRYCUbTxxdQFjawyKO8Ul+NtbB0liofLy0nG/uYWaTmFiux/nIW356YsWXw/BzY1E X62A== X-Gm-Message-State: AODbwcAeomQ6V+V2V+U+GwLiMl69cY9ivzkokuUIkfyfXCXreGFETDYo h2pJ2xRJZgNQfUG3gpM= X-Received: by 10.223.182.144 with SMTP id j16mr563360wre.64.1495785678443; Fri, 26 May 2017 01:01:18 -0700 (PDT) Received: from [192.168.43.150] ([213.41.63.13]) by smtp.googlemail.com with ESMTPSA id 79sm835417wmo.13.2017.05.26.01.01.16 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 26 May 2017 01:01:17 -0700 (PDT) To: caml-list@inria.fr From: Matej Kosik <5764c029b688c1c0d24a2e97cd764f@gmail.com> Message-ID: <8de32ec3-f6ab-7c86-a270-7f7ccbe24d20@gmail.com> Date: Fri, 26 May 2017 10:08:41 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.6.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: [Caml-list] a question about Ocaml semantics Hi, There's an Ocaml language feature I do not understand. E.g. in this example: type 'a phantom = int type t = { enter : 'a. 'a phantom -> int } let f g = g.enter 2 let _ = f { enter = fun x -> 1 + x } (* ok *) let _ = f { enter = (+) 1 } (* fails to typecheck *) I don't get why, if we have: type 'a phantom = int i.e. "'a phantom" is defined as an alias of "int", how is it possible that the following types: { enter : 'a. 'a phantom -> int } is not equal to { enter : 'a. int -> int } I've tried to find a corresponding section in the Reference Manual, but I failed. Where is this explained?