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 9D7E88239C for ; Thu, 15 Feb 2018 01:17:20 +0100 (CET) Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=zhenya1007@gmail.com; spf=Pass smtp.mailfrom=zhenya1007@gmail.com; spf=None smtp.helo=postmaster@mail-yw0-f175.google.com Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of zhenya1007@gmail.com) identity=pra; client-ip=209.85.161.175; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="zhenya1007@gmail.com"; x-sender="zhenya1007@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of zhenya1007@gmail.com designates 209.85.161.175 as permitted sender) identity=mailfrom; client-ip=209.85.161.175; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="zhenya1007@gmail.com"; x-sender="zhenya1007@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-yw0-f175.google.com) identity=helo; client-ip=209.85.161.175; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="zhenya1007@gmail.com"; x-sender="postmaster@mail-yw0-f175.google.com"; x-conformance=sidf_compatible IronPort-PHdr: =?us-ascii?q?9a23=3AMIHkxR2vcUO49r3osmDT+DRfVm0co7zxezQtwd8Z?= =?us-ascii?q?seIfLvad9pjvdHbS+e9qxAeQG9mDsLQc06L/iOPJYSQ4+5GPsXQPItRndiQuro?= =?us-ascii?q?EopTEmG9OPEkbhLfTnPGQQFcVGU0J5rTngaRAGUMnxaEfPrXKs8DUcBgvwNRZv?= =?us-ascii?q?JuTyB4Xek9m72/q99pHPbQhEniaxba9vJxiqsAvdsdUbj5F/Iagr0BvJpXVIe+?= =?us-ascii?q?VSxWx2IF+Yggjx6MSt8pN96ipco/0u+dJOXqX8ZKQ4UKdXDC86PGAv5c3krgfM?= =?us-ascii?q?QA2S7XYBSGoWkx5IAw/Y7BHmW5r6ryX3uvZh1CScIMb7Vq4/Vyi84Kh3SR/okC?= =?us-ascii?q?YHOCA/8GHLkcx7kaZXrAu8qxBj34LYZYeYO/1jcKPAZtMaXXROUdpNVyJPBYO8?= =?us-ascii?q?apEAD+sHPe1Fq4XwqF8DoR64CAKxBu3g1yVIi2f00q000+ovHwLI0hE+Ed0Sq3?= =?us-ascii?q?nbtsn5Ob0IXOyp0KXFzzPOZO5W1zfn74jIdwgsr/6SXbJ/b8XRz0kuHB7ZgFWX?= =?us-ascii?q?tIzqJDKV1uIRvGib8+pvS+Ovi2g6oAx2ozmvxtkjio/Jh40P11zI6Tl1zYQuKN?= =?us-ascii?q?23TU50e9+kEJ9Kuy6GMIt2R9ovTmd1syg0zb0GvIS0fCkMyJk/xh7fbeaHc4mS?= =?us-ascii?q?7R75WuaROy90hXJ/d7K/gBay9lKsxfH7VsmxyFpKqy1Fkt7LtnwXyxPT7c2HR/?= =?us-ascii?q?1g9UmiwTaCzx7f5v1ALEwulqfWK4QtzqMxm5YOq0jPAy37lUXwgaSLbEsr4PKo?= =?us-ascii?q?5P7iYrj+pp+TKYt0igbmP6QrgMO/AOA4PhEOXmmV5eiwzbPj8VD7TbhKlPE2na?= =?us-ascii?q?7ZsJfVJcQfuKG1GRNa0oEm6xqnDjem1soXnWUfIV5bZB6Ki5LlNlLOLfziEPuy?= =?us-ascii?q?gkmgnC12y/3EPrDtGpDNIWLCkLflc7Z98UlcyA8rwNFe55JbFLcBIfLpVUPsqN?= =?us-ascii?q?DUEh00Phe7w+biEtp914ceVXiTDa+eNaPeqUWI6f43I+mQeI8Vvy7wJOQ/6P7r?= =?us-ascii?q?iX81gFsdfaiy3ZsLc324BfRnI0CBYXX2mNsBEGEKvhA/TOPwklGCXyRTND6OWP?= =?us-ascii?q?cbzTg+DMqDBIbHR4aiyJiAxzvzSpZfY2QDDlGXDV/pcZ+FUrECcnTBDNVml2kp?= =?us-ascii?q?S7esTZ5p7xazvg78wLp7I+vSsnkKtZ/lxdEsv7WMvR43/D1wSc+a1jfeHClPgm?= =?us-ascii?q?oUSmpuj+hEqktnxwLGjPEh0q5oUOdL7vYMaT8UcJvVzuh0Edf3A1uTcdKASVLg?= =?us-ascii?q?SdKjU2hoEoABhuQWakM4IO2MywjZ1nPzUbAQnr2PQpcz9/CEhiWjF4NG03/DkZ?= =?us-ascii?q?IZoRwmT89IbzP0g6d+803CGNaMnRzGyuClcqMT2COL/2CGnzKD?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0D+BwCM0IRah6+hVdFcHAEBAQQBAQoBA?= =?us-ascii?q?YQ4cCiDZYE5iGuOBEgGgTR8G4FQgRqFDYEAhGWIZoIYCiOFGAKCfRkHBDAYAQI?= =?us-ascii?q?BAQEBAQEBAQESAQEBCA0JCCgvgjgkgkcBAQEDASMdARsSDAMBCwYFBAcNDR0CA?= =?us-ascii?q?iIBEQEFAQoSBhMSigoBAwgFCBCibkCMF4IFBQEcgwwFg20KGScDCllZghMBAQg?= =?us-ascii?q?BAQEBHAIGEoRwghWBD4Iwgng2gySCK4JqgmUFgS0BAQGHRgyKYpBKAQcBAYFyC?= =?us-ascii?q?oYkhAiJXYIfZ4VDi3yOAooDFCWBFw8QgglwUjJugSYJghMqH4IzIDeOJAEBAQ?= X-IPAS-Result: =?us-ascii?q?A0D+BwCM0IRah6+hVdFcHAEBAQQBAQoBAYQ4cCiDZYE5iGu?= =?us-ascii?q?OBEgGgTR8G4FQgRqFDYEAhGWIZoIYCiOFGAKCfRkHBDAYAQIBAQEBAQEBAQESA?= =?us-ascii?q?QEBCA0JCCgvgjgkgkcBAQEDASMdARsSDAMBCwYFBAcNDR0CAiIBEQEFAQoSBhM?= =?us-ascii?q?SigoBAwgFCBCibkCMF4IFBQEcgwwFg20KGScDCllZghMBAQgBAQEBHAIGEoRwg?= =?us-ascii?q?hWBD4Iwgng2gySCK4JqgmUFgS0BAQGHRgyKYpBKAQcBAYFyCoYkhAiJXYIfZ4V?= =?us-ascii?q?Di3yOAooDFCWBFw8QgglwUjJugSYJghMqH4IzIDeOJAEBAQ?= X-IronPort-AV: E=Sophos;i="5.46,515,1511823600"; d="scan'208,217";a="254828856" Received: from mail-yw0-f175.google.com ([209.85.161.175]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 15 Feb 2018 01:17:19 +0100 Received: by mail-yw0-f175.google.com with SMTP id f12so7254431ywb.8 for ; Wed, 14 Feb 2018 16:17:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=B1oCu/a/Ha8k5PTov5/zkxJYBE14IHLl2LsnRjC16Jg=; b=Qp/AJvNuLgBWLnsSk9rZp/cYFvYw9AZsNhc9X8L8yTT5r/V0aLvRG59oNSfu2WcxDh N4l8E1QXaspf0wp2hpmrIcbPctURwWznqKRh3wwzcd9+JA5A4bCoMP1ReyXp1DTRBGew Y6NixeEvezGjrTOEN3zIy46xaE1e7/7xvmuqpobwLnbs0SRqsna+D0jqaMcHp7K5TQEP KB0PqPFUH+bpG0ZMXpMPhTMFLhZsVLbZ+7Y5gKit6UUxck2WqZ7k/uxMJE0EINBJ9a+v +QOFVPwwI2XbhWdw1AzQr8MF2WPaHOTNRDJd7b1MWpkiI0uFODKGvl6YIIa9Ib1GAOex 6+gA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=B1oCu/a/Ha8k5PTov5/zkxJYBE14IHLl2LsnRjC16Jg=; b=gYHe0PuVMViigetfbeEUXr1kjbkOjY9KltTQ7lMQ1/HNXnWGzvh1o5yZ6QyXDt6Qtr 1BMNdDr46wJNLgN+63N8Cs/KOn7YRmOywg/R9MmZxoN+KX0VLOoefRqt50+4PXuLLQ0n nQsd7XVxmZtn0zUym4fIKwDLgcXtHH4b8a0cNt2oHJWbdFL0d+TLivtyz+34ulGh9Rgm lEWtPu9DRPdsbyLDgTAJ0hpGcAL6cc/TlCt6FO1hsApu7UtqiaHEdEtdc/CtN/1ZIjtP QTLxdevkmPmLSLuzVzlmIpS8CWh9DkV6aBO67QSlHAa3L9xEEadgYv4qZ5BFBuSrpnot W+og== X-Gm-Message-State: APf1xPBbonHY8WqPX0+WlB5/o818h/zwjpNWa8rltLWZR4gTcErm0h0G 4NaHkFfMV1R0OQY9LZ4Vr1zCu0eAbdtES9yMbSbu55gT X-Google-Smtp-Source: AH8x225AaZPd5iNAwl+rAiZsruDSrDIbK6LHxGOoWEDUQNfEhwU89P6HyWSRXlzGTGpv1R6trDdZ06UefEHQQdxsBVg= X-Received: by 10.37.144.144 with SMTP id t16mr757848ybl.105.1518653837431; Wed, 14 Feb 2018 16:17:17 -0800 (PST) MIME-Version: 1.0 Received: by 2002:a25:b293:0:0:0:0:0 with HTTP; Wed, 14 Feb 2018 16:17:16 -0800 (PST) In-Reply-To: <20180214234023.36qmqoukx47zk442@matica.foolinux.mooo.com> References: <21BC6EDE-DB27-460B-A4D5-BBD583C9E899@TimLeonard.us> <20180214195046.Horde.mSIwdxq5Yo9xUKgfzIss4Ey@webmail.in-berlin.de> <20180214234023.36qmqoukx47zk442@matica.foolinux.mooo.com> From: Evgeny Roubinchtein Date: Wed, 14 Feb 2018 16:17:16 -0800 Message-ID: To: OCaml Mailing List Content-Type: multipart/alternative; boundary="089e0832beec845b150565352648" Subject: Re: [Caml-list] a question about syntax --089e0832beec845b150565352648 Content-Type: text/plain; charset="UTF-8" > Why has CAML chosen to use the semicolon in list and record patterns and values, instead of the comma like SML? Because it was designed in France, where, unlike in the US, the standard list separator is a semicolon? ;-) -- Best, Evgeny ("Zhenya"2 On Wed, Feb 14, 2018 at 3:40 PM, Ian Zimmerman wrote: > On 2018-02-14 15:02, Chet Murthy wrote: > > > I remember back in the day Pierre Weis explaining to me that this > > syntactic trade-off was made in order to allow that "let" and "match" > > didn't have ending key-words (e.g. "end"). > > I would understand and accept that choice. But the larger question is, > why was the semicolon overloaded like this? In SML the semicolon serves > just one purpose: separating consecutive imperative statements (well it > can also separate declarations but that is optional). Why has CAML > chosen to use the semicolon in list and record patterns and values, > instead of the comma like SML? > > > Unlike in SML/NJ. > > SML has multiple implementations (as implied in the S). > > -- > Please don't Cc: me privately on mailing lists and Usenet, > if you also post the followup to the list or newsgroup. > To reply privately _only_ on Usenet and on broken lists > which rewrite From, fetch the TXT record for no-use.mooo.com. > > -- > Caml-list mailing list. Subscription management and archives: > https://sympa.inria.fr/sympa/arc/caml-list > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs > --089e0832beec845b150565352648 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
> Why has CAML chosen to use the semicol= on in list and record patterns and values, instead of the comma like SML?
Because it was designed in France, where, unlike in the US, the= standard list separator is a semicolon? ;-)

--
Best,
Evgeny ("Zhenya"2

On Wed, Feb 14, 2018 at 3:40 P= M, Ian Zimmerman <itz@very.loosely.org> wrote:
On 2018-02-14 15:02, Chet Murthy w= rote:

> I remember back in the day Pierre Weis explaining to me that this
> syntactic trade-off was made in order to allow that "let" an= d "match"
> didn't have ending key-words (e.g. "end").

I would understand and accept that choice.=C2=A0 But the larger ques= tion is,
why was the semicolon overloaded like this?=C2=A0 In SML the semicolon serv= es
just one purpose: separating consecutive imperative statements (well it
can also separate declarations but that is optional).=C2=A0 Why has CAML
chosen to use the semicolon in list and record patterns and values,
instead of the comma like SML?

> Unlike in SML/NJ.

SML has multiple implementations (as implied in the S).

--
Please don't Cc: me privately on mailing lists and Usenet,
if you also post the followup to the list or newsgroup.
To reply privately _only_ on Usenet and on broken lists
which rewrite From, fetch the TXT record for no-use.mooo.com.

--
Caml-list mailing list.=C2=A0 Subscription management and archives:
https://sympa.inria.fr/sympa/arc/caml-list
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

--089e0832beec845b150565352648--