From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by walapai.inria.fr (8.13.6/8.13.6) with ESMTP id q0MCI8QJ030946 for ; Sun, 22 Jan 2012 13:18:08 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AkACAKH9G0/RVdK2kWdsb2JhbABDFp1EiDoBiAQIIgEBAQEJCQ0HEieBcgEBAQQSAiwBGxILAQMBCwYFCw0NISEBAREBBQEKEgYTEhCHYpsVCotqgm+EDD+IcQIFC4NziCgEgluSPosDgw89glGBLg X-IronPort-AV: E=Sophos;i="4.71,551,1320620400"; d="scan'208";a="128407677" Received: from mail-iy0-f182.google.com ([209.85.210.182]) by mail4-smtp-sop.national.inria.fr with ESMTP/TLS/RC4-SHA; 22 Jan 2012 13:18:02 +0100 Received: by iagz16 with SMTP id z16so5358262iag.27 for ; Sun, 22 Jan 2012 04:18:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=XazS6y6A89+y3baIkaP4pzl+NBpUiGDUQcc9C7qT5QQ=; b=JQCiwIUgpy6mm4MPkKKf7NK+w9qyn3SSjozuXRG0BsGBhr1zp4YnReSkDAT8VSedP9 ZTFnkCUMFw076okoOZwfbqjB9hD59yj9a3bnAiQ7I6d2mAhGSuTxrERaPinltbj6JJ5F LUwZ+ajI9YFNlTZ67JCM0J0i7P21YUOYqDWXg= MIME-Version: 1.0 Received: by 10.50.180.138 with SMTP id do10mr5600710igc.20.1327234680107; Sun, 22 Jan 2012 04:18:00 -0800 (PST) Received: by 10.43.50.5 with HTTP; Sun, 22 Jan 2012 04:18:00 -0800 (PST) In-Reply-To: <4F1BE848.5050200@gmail.com> References: <4F196092.7060707@dogguy.org> <4F1BE3B1.3040704@inria.fr> <4F1BE848.5050200@gmail.com> Date: Sun, 22 Jan 2012 12:18:00 +0000 Message-ID: From: ivan chollet To: Jonathan Protzenko Cc: caml-list@inria.fr Content-Type: multipart/alternative; boundary=14dae934060ba4339e04b71ce746 Subject: Re: [Caml-list] Custom let bindings --14dae934060ba4339e04b71ce746 Content-Type: text/plain; charset=ISO-8859-1 pretty enough. In general, I think these read-only discussions from the caml-devel mailing list are of great educational value for students and ocaml users, and would deserve their very own public archive like what has been done for the general caml mailing list. On Sun, Jan 22, 2012 at 10:43 AM, Jonathan Protzenko < jonathan.protzenko@gmail.com> wrote: > Hi folks, > > I've put a raw, not pretty dump of the discussion at < > http://pauillac.inria.fr/~**protzenk/let-bang.html>. > We didn't reach any consensus there, and we've covered the subject > extensively. I'm just publishing it if anyone's interested. > > Please refrain from adding any extra messages to this thread, unless you > have arguments that make one proposal *clearly, objectively better than the > others*. There's been enough back-and-forth already, so any arguments such > as "/me likes" or "just pick any one of them" will be happily dismissed. > > Thanks, > > jonathan > > > On Sun 22 Jan 2012 11:23:45 AM CET, Xavier Leroy wrote: > >> On 01/20/2012 01:39 PM, Mehdi Dogguy wrote: >> >> I noticed that Alain Frisch tried to add custom let bindings (see r11894 >>> and r11906) but it was reverted later on (see r11960) because no >>> consensus was reached (among OCaml Core team, I guess). >>> >> >> Yes. We Caml developers spent a lot of time arguing about the merits and >> demerits of various syntaxes for monadic lets and other forms of >> generalized let bindings, discussing usability, generality, etc. >> There were some unexpected surprises, e.g. Lwt's concurrency monad >> needing a special monadic "let ... and ... in ..." binding, which >> makes sense for this particular monad but not for others. >> >> In the end, we decided that none of the proposals is something we can >> commit on and put (forever) in the core language. This is one of the >> cases that is currently best handled by Camlp4 syntax extensions, >> either specific to a monad (Lwt) or more general (pa_monad). >> >> Regards, >> >> - Xavier Leroy >> >> > -- > Caml-list mailing list. Subscription management and archives: > https://sympa-roc.inria.fr/**wws/info/caml-list > Beginner's list: http://groups.yahoo.com/group/**ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-**bugs > > --14dae934060ba4339e04b71ce746 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable pretty enough.
In general, I think these read-only discussions from the = caml-devel mailing list are of great educational value for students and oca= ml users, and would deserve their very own public archive like what has bee= n done for the general caml mailing list.


On Sun, Jan 22, 2012 at 10:43 AM, Jonath= an Protzenko <jonathan.protzenko@gmail.com> wrote:
Hi folks,

I've put a raw, not pretty dump of the discussion at <http://p= auillac.inria.fr/~protzenk/let-bang.html>. We didn't reac= h any consensus there, and we've covered the subject extensively. I'= ;m just publishing it if anyone's interested.

Please refrain from adding any extra messages to this thread, unless you ha= ve arguments that make one proposal *clearly, objectively better than the o= thers*. There's been enough back-and-forth already, so any arguments su= ch as "/me likes" or "just pick any one of them" will b= e happily dismissed.

Thanks,

jonathan


On Sun 22 Jan 2012 11:23:45 AM CET, Xavier Leroy wrote:
On 01/20/2012 01:39 PM, Mehdi Dogguy wrote:

I noticed that Alain Frisch tried to add custom let bindings (see r11894
and r11906) but it was reverted later on (see r11960) because no
consensus was reached (among OCaml Core team, I guess).

Yes. =A0We Caml developers spent a lot of time arguing about the merits and=
demerits of various syntaxes for monadic lets and other forms of
generalized let bindings, discussing usability, generality, etc.
There were some unexpected surprises, e.g. Lwt's concurrency monad
needing a special monadic "let ... and ... in ..." =A0binding, wh= ich
makes sense for this particular monad but not for others.

In the end, we decided that none of the proposals is something we can
commit on and put (forever) in the core language. =A0This is one of the
cases that is currently best handled by Camlp4 syntax extensions,
either specific to a monad (Lwt) or more general (pa_monad).

Regards,

- Xavier Leroy


--
Caml-list mailing list. =A0Subscription management and archives:
https://sympa-roc.inria.fr/wws/info/caml-list
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners<= /a>
Bug reports:
http://caml.inria.fr/bin/caml-bugs


--14dae934060ba4339e04b71ce746--