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