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 6F3DA82355 for ; Mon, 11 Dec 2017 19:31:01 +0100 (CET) Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=info@gerd-stolpmann.de; spf=None smtp.mailfrom=info@gerd-stolpmann.de; spf=None smtp.helo=postmaster@mout.kundenserver.de Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of info@gerd-stolpmann.de) identity=pra; client-ip=212.227.17.10; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="info@gerd-stolpmann.de"; x-sender="info@gerd-stolpmann.de"; x-conformance=sidf_compatible Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of info@gerd-stolpmann.de) identity=mailfrom; client-ip=212.227.17.10; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="info@gerd-stolpmann.de"; x-sender="info@gerd-stolpmann.de"; x-conformance=sidf_compatible Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mout.kundenserver.de) identity=helo; client-ip=212.227.17.10; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="info@gerd-stolpmann.de"; x-sender="postmaster@mout.kundenserver.de"; x-conformance=sidf_compatible IronPort-PHdr: =?us-ascii?q?9a23=3A06WUaRfaixHd1NcXFXuL0kualGMj4u6mDksu8pMi?= =?us-ascii?q?zoh2WeGdxc2yZx7h7PlgxGXEQZ/co6odzbGJ4+a9ASQp2tWojjMrSNR0TRgLiM?= =?us-ascii?q?EbzUQLIfWuLgnFFsPsdDEwB89YVVVorDmROElRH9viNRWJ+iXhpRMMFw/ANQtp?= =?us-ascii?q?K6GwM8aSyp3vj6Hhs6HUNg5BgT74ZbJpMD23qx/Qv48Ym9hMMKE0nzTEuHcAQP?= =?us-ascii?q?hRwXttLFSV10L94Mm31JFu6SgVoO4m89ZFWKP8Oag1G+8LRA86Onw4sZW4/SLI?= =?us-ascii?q?ShGCsz5FCj0b?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0ASBgAzzi5ahwoR49RbHAEBAQQBAQoBA?= =?us-ascii?q?YQkdCeEAosfjgCBTi8QmREHAx+FHAKEckIVAQEBAQEBAQEBARIBAQEIDQkIKC+?= =?us-ascii?q?COCQBgkYBAgMjMhgcCxgqAgJXEwYCAQEFiiMBC6gZgieKZAEBCAIBFg+DaIILV?= =?us-ascii?q?IMUgwKDI4IIQIJJgmMFikaYS4EQcgOCR4IrkECJdimHLpZegTs1gXJMJBQ6gik?= =?us-ascii?q?JglmBdHcBiV4BAQE?= X-IPAS-Result: =?us-ascii?q?A0ASBgAzzi5ahwoR49RbHAEBAQQBAQoBAYQkdCeEAosfjgC?= =?us-ascii?q?BTi8QmREHAx+FHAKEckIVAQEBAQEBAQEBARIBAQEIDQkIKC+COCQBgkYBAgMjM?= =?us-ascii?q?hgcCxgqAgJXEwYCAQEFiiMBC6gZgieKZAEBCAIBFg+DaIILVIMUgwKDI4IIQIJ?= =?us-ascii?q?JgmMFikaYS4EQcgOCR4IrkECJdimHLpZegTs1gXJMJBQ6gikJglmBdHcBiV4BA?= =?us-ascii?q?QE?= X-IronPort-AV: E=Sophos;i="5.45,392,1508796000"; d="asc'?scan'208";a="304984150" Received: from mout.kundenserver.de ([212.227.17.10]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES128-GCM-SHA256; 11 Dec 2017 19:31:00 +0100 Received: from office1.lan.sumadev.de ([85.183.69.161]) by mrelayeu.kundenserver.de (mreue103 [212.227.15.183]) with ESMTPSA (Nemesis) id 0M0sl5-1fBSuJ0g0d-00vC8l for ; Mon, 11 Dec 2017 19:31:00 +0100 Received: from gerdbook.fritz.box (gerdbook.fritz.box [192.168.5.104]) by office1.lan.sumadev.de (Postfix) with ESMTPSA id 8D539DC05D for ; Mon, 11 Dec 2017 19:30:59 +0100 (CET) To: caml-list@inria.fr References: <6640cb32-fec3-e048-3f40-53d65bae5305@gerd-stolpmann.de> <20171211161024.kafvtxzq3qcoo46p@matica.foolinux.mooo.com> From: Gerd Stolpmann Message-ID: Date: Mon, 11 Dec 2017 19:30:54 +0100 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: <20171211161024.kafvtxzq3qcoo46p@matica.foolinux.mooo.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="Pi2HbdGT9UjM8CH2xBOoe7XqDcKVlkr67" X-Provags-ID: V03:K0:QDzd/G/q8VTv8OFHqpAA2lHOSmSnDnXIVCMTw7Su8ogSeObMnzI 9njsTCMZ66MHk5MrOF1xyMp2Xrt85jgOrgbEC4CxQ8fUxkY/19m6atZgwYOU+ar08EQ1g7/ 3jW1kisZM4qX8SrO8+7PoFv3gZOVm9gjWwpNSCO6mCO0WlaYJZUTZOslVv8OISFY/zAFq4w PoTaGYo6U2CxMSgGkP0EQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:ilde9aKpu2E=:im/4X3mektiMD8nJcfPROO taUyf0b75DszEOe3Wfj7B32LJoFcFGN186fxvlYoV2SW/jaKzwxy6Isw7tp8etFUDBgM4LbQd XiN51YuwhGw49IbvLpBICNYzzQ9anVsx/Zo2aoHHeeehqJfJVz6BBA1G0goa8oDXaXw1JvYSD iLTgo/Lx+LM2K78IN/TioHv2ucGVeJACTsEWGH3kwvVoh3oXG0IDgei9x/qhLzmfgDsyBaJYV WWsBuAkQ2svpSXuyUNPOpHJ3EwXZ8/oUojIoqBElY6izlFQZNEhZzaFCBteJSSB/lwMFtZPLU 7L1JVBrDBf6JStwh+CjS2SZZWjBeuxUdEtL0a+Po/nWxuEFlyM9ntxRLJRnrmmXJzpeOCRy8L auJN0IPPqCqOIsLlwYj/VnF3DzR1dTNuI2Tg03lDrVjsIzpwNXtxEPhoo0WyGZo6QfVTV/X0W nu2jLZ0lC/ORWSwpTSmbdUR2tAtkd1LGsGLa4+qLub48vyPDK4Vj5rKPY30jjtpQ8Qsx/YguA BbaXwCM5m+qZp8eG9fZxO6SFr9DNT0Q0RQbkxABBBbuyQwPv4P/PG3l8nkIiFxREq+2pF3M5m /gI7kvnR7luzzGslIKnDfUd299hmApnHLg9yqBDzV6eZSVfP8aMdt9j6MSJzIxSqK75qqDhyL V1aGxXMjAJ5iyN0hoJf+nMr9CysiE9zMbL4cEdkZ58Mx68t6ly8iMZ9DvMmgKd019vD1BbTdD QD/nYKgKjHserSpyTx6Mxwg9Qkl3FstClbLUyw== Subject: Re: [Caml-list] ReasonML concrete syntax This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --Pi2HbdGT9UjM8CH2xBOoe7XqDcKVlkr67 Content-Type: multipart/mixed; boundary="hmWGDSvkAoQTeMfW0pEEFSHWwBGikUJ4s"; protected-headers="v1" From: Gerd Stolpmann To: caml-list@inria.fr Message-ID: Subject: Re: [Caml-list] ReasonML concrete syntax References: <6640cb32-fec3-e048-3f40-53d65bae5305@gerd-stolpmann.de> <20171211161024.kafvtxzq3qcoo46p@matica.foolinux.mooo.com> In-Reply-To: <20171211161024.kafvtxzq3qcoo46p@matica.foolinux.mooo.com> --hmWGDSvkAoQTeMfW0pEEFSHWwBGikUJ4s Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Content-Language: en-US On 11.12.17 17:10, Ian Zimmerman wrote: > On 2017-12-11 15:40, Gerd Stolpmann wrote: > >> although, with currified functions this is only an illusion > As they say, "this". The alternative syntax will lead to people never > learning about partial application. > > Does your own language curry multiple arguments by default like Ocaml > does? If yes, then (IMO) your choice is a mistake, in spite of the > (good) arguments you give for it. Yes, it does. I consider it only as a notation, and it's a compromise because f x1 x2 x3 <=3D> ((f x1) x2) x3 doesn't work anymore as an explanation of how multiple args are (semantically) treated. It would read f(x1,x2,x3) <=3D> =C2=A0 let f1 =3D f(x1) in =C2=A0 let f2 =3D f1(x2) in =C2=A0 f2(x3) which works but is ugly and hides more than it explains. On the implementation side there is no difference. But I can live with that. This language isn't intended to be used in CS courses, and the engineers diving deeper into it will still be happy that partial application works out of the box. Gerd > > I would be more tolerant about such syntax in a SML-like language where > multiple arguments are modelled with tuples in most cases. > --=20 ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany gerd@gerd-stolpmann.de My OCaml site: http://www.camlcity.org Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------ --hmWGDSvkAoQTeMfW0pEEFSHWwBGikUJ4s-- --Pi2HbdGT9UjM8CH2xBOoe7XqDcKVlkr67 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEDD3jJ6xcCmoYHoi4Bozhv1ksHlMFAlouzt8ACgkQBozhv1ks HlOXTwf/WygJZhw1vbAR5tJpVVEhxn8b8SMbyLixWKFMlK4YkXZyMvLxHIVmgMVA AXF2UqUxl2lBgUw+PuijDU/Oqga6ykdH7gMjGh/upDrZUmzGYL1YGACRUWRAtW8+ icq3dWhxBOHEWRHhbo3YJb9MfmsK+6w+7LZGQZyJ9JM0XlVeLkZC34Rkq2SoPb+r 9Q18vQhAhz+2wgQNACiVHAUYKHfB5sMZg5vt9DrbrUVl+xeMkZEoOAPktyfnGYbc Nzv7heilv1G9PMSfj+jhVRWs42CHek/QlL86EI0KiEW9HCmIABe0x38ak6vUrsZV V+DQDXVbabltgGavNVeGHZ2JkbCwUg== =98qz -----END PGP SIGNATURE----- --Pi2HbdGT9UjM8CH2xBOoe7XqDcKVlkr67--