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 31E537F617 for ; Fri, 5 May 2017 14:43:06 +0200 (CEST) Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=octa@polychoron.fr; spf=Pass smtp.mailfrom=octa@polychoron.fr; spf=None smtp.helo=postmaster@relay7-d.mail.gandi.net Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of octa@polychoron.fr) identity=pra; client-ip=217.70.183.200; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="octa@polychoron.fr"; x-sender="octa@polychoron.fr"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of octa@polychoron.fr designates 217.70.183.200 as permitted sender) identity=mailfrom; client-ip=217.70.183.200; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="octa@polychoron.fr"; x-sender="octa@polychoron.fr"; 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@relay7-d.mail.gandi.net) identity=helo; client-ip=217.70.183.200; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="octa@polychoron.fr"; x-sender="postmaster@relay7-d.mail.gandi.net"; x-conformance=sidf_compatible IronPort-PHdr: =?us-ascii?q?9a23=3AetBkcR0LYtzmjjnYsmDT+DRfVm0co7zxezQtwd8Z?= =?us-ascii?q?se0XL/ad9pjvdHbS+e9qxAeQG96Kt7Qc06L/iOPJYSQ4+5GPsXQPItRndiQuro?= =?us-ascii?q?EopTEmG9OPEkbhLfTnPGQQFcVGU0J5rTngaRAGUMnxaEfPrXKs8DUcBgvwNRZv?= =?us-ascii?q?JuTyB4Xek9m72/q89pDXbAhEniaxba9vJxiqsAvdsdUbj5F/Iagr0BvJpXVIe+?= =?us-ascii?q?VSxWx2IF+Yggjx6MSt8pN96ipco/0u+dJOXqX8ZKQ4UKdXDC86PGAv5c3krgfM?= =?us-ascii?q?QA2S7XYBSGoWkx5IAw/Y7BHmW5r6ryX3uvZh1CScIMb7S60/Vza/4KdxUBLmlT?= =?us-ascii?q?kJNzA5/m/UhMJ/gq1UrxC9qBJw2IPUfIKYOeBicq/Bc94XR2xMVdtRWSxbBYO8?= =?us-ascii?q?apMCD+0dMuZEtYbyu1sOrQG5BQmqGejizThIiWPq3aIgyOkhCQbG3AggHt0SsH?= =?us-ascii?q?TUq8/1NKAUUeyvwqnI1yzOYvVL0jn+8IjFag4treyOUL5qc8fd1VMjGx7Gg1ie?= =?us-ascii?q?s4DpIS+Z2vgVv2WY4edsT/+jh3Mppg1rvDSixskhhpPUio4L1FzJ8zhyzpwvKt?= =?us-ascii?q?2iUkF7ZMapEJtOuCGeMIt7WtkiTH9suCkgyrwLu4e3czUQxJQi3RHfaviHf5KH?= =?us-ascii?q?4h35UuaePDZ4iGhjeL2hmxa+6UmgyuviWcmoyFtGsDdJn9vWun0PyxDf8NWLR/?= =?us-ascii?q?hz80u7xzqDyxzf5vlBIU8ulKrbL5AhwqQ3lpoWqUnDGTP5mFnsg6KNbkUk/eyo?= =?us-ascii?q?6uT7bbXmoZ+cLYh0igfkPqQggMyzGf44PRQWX2iH5eS806Xu8lHjT7VPiv06i6?= =?us-ascii?q?3ZsJHBJcQHvaO5GA9U0oM76xmlFTum0dIYnWMGLF1fYh6HgZLpaBnyJ6XzBPK7?= =?us-ascii?q?xlCtiytDxvbcP7SnDI+eAGLEleLmdqp04E5Gzwx7mddU+5t8ErYFMfnzXVX2sp?= =?us-ascii?q?rWFElqYESP3+/7BYAlhcslUmWVD/rBPQ=3D=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0ChBQCqcgxZh8i3RtlcHAEBBAEBCgEBF?= =?us-ascii?q?wEBBAEBCgEBhA+BEINhm06YIIYkAoRHQxQBAQEBAQEBAQEBARIBAQEIDQkIKC+?= =?us-ascii?q?CMyCCQwMDIw8BBVELGgImAgJXEwgBAYoPEbFEgiaLF4ELhVOCCguCZYUvgjqCX?= =?us-ascii?q?wWWYYcOcIF+mymGaJQ1AjaBK3MRRoUDgXGIXAGBDAEBAQ?= X-IPAS-Result: =?us-ascii?q?A0ChBQCqcgxZh8i3RtlcHAEBBAEBCgEBFwEBBAEBCgEBhA+?= =?us-ascii?q?BEINhm06YIIYkAoRHQxQBAQEBAQEBAQEBARIBAQEIDQkIKC+CMyCCQwMDIw8BB?= =?us-ascii?q?VELGgImAgJXEwgBAYoPEbFEgiaLF4ELhVOCCguCZYUvgjqCXwWWYYcOcIF+mym?= =?us-ascii?q?GaJQ1AjaBK3MRRoUDgXGIXAGBDAEBAQ?= X-IronPort-AV: E=Sophos;i="5.38,292,1491256800"; d="scan'208";a="271868995" Received: from relay7-d.mail.gandi.net ([217.70.183.200]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 05 May 2017 14:43:05 +0200 Received: from relay3-d.mail.gandi.net (relay3-d.mail.gandi.net [217.70.183.195]) by relay7-d.mail.gandi.net (Postfix) with ESMTPS id 9811D3833 for ; Fri, 5 May 2017 14:43:03 +0200 (CEST) Received: from mfilter36-d.gandi.net (mfilter36-d.gandi.net [217.70.178.167]) by relay3-d.mail.gandi.net (Postfix) with ESMTP id 3FE90A811A for ; Fri, 5 May 2017 14:43:03 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at mfilter36-d.gandi.net Received: from relay3-d.mail.gandi.net ([IPv6:::ffff:217.70.183.195]) by mfilter36-d.gandi.net (mfilter36-d.gandi.net [::ffff:10.0.15.180]) (amavisd-new, port 10024) with ESMTP id 4BajDr6Dnjll for ; Fri, 5 May 2017 14:43:01 +0200 (CEST) X-Originating-IP: 83.113.253.122 Received: from [192.168.1.18] (AMarseille-655-1-25-122.w83-113.abo.wanadoo.fr [83.113.253.122]) (Authenticated sender: octa@polychoron.fr) by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id 933C4A8118 for ; Fri, 5 May 2017 14:42:56 +0200 (CEST) To: caml-list@inria.fr References: <57d0397e-7e96-455f-5c33-b951f7678585@digirati.com.br> From: octachron Message-ID: <78fcf5fa-fe83-03f6-7644-561915956d15@polychoron.fr> Date: Fri, 5 May 2017 14:42:55 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.0 MIME-Version: 1.0 In-Reply-To: <57d0397e-7e96-455f-5c33-b951f7678585@digirati.com.br> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-GB Subject: Re: [Caml-list] First class module syntax As a counter-example, consider: module type s = sig end (* module type names do not need to start with a capital *) type s = M Then, both (* f: s → unit *) let f (M:s) = () and (* g: (module s) → unit *) let g (module M:s) = () are currently valid. Consequently, allowing "g:(module s)→unit" to be written as let g (M:s) = () would be ambiguous. — octachron. Le 05/05/2017 à 14:28, Andre Nathan a écrit : > Hi > > I was thinking about the syntax for a function taking a module as a > parameter, i.e., > > let f (module M : S) = ... > > Off the top of my head I couldn't think of anything that would prevent > the syntax from being like > > let f (M : S) = ... > > I can't think of ways in which this would be ambiguously parsed, so I > was just wondering what led to the choice of requiring the "module" > keyword in this case. > > Cheers, > Andre >