From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by walapai.inria.fr (8.13.6/8.13.6) with ESMTP id q04A5H2r029253 for ; Wed, 4 Jan 2012 11:05:17 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AnIBAP0iBE9KfVI0imdsb2JhbABDggWiTAGIDQgiAQEBCgkNBxIGIYFyAQEBAwESAiwBGx0BAwELBgUEBzsiAREBBQEcBicCDIdYCJh0Cotlgm2EWz+IcQIFC4wEBJUEjX09g3s X-IronPort-AV: E=Sophos;i="4.71,455,1320620400"; d="scan'208";a="137785419" Received: from mail-ww0-f52.google.com ([74.125.82.52]) by mail1-smtp-roc.national.inria.fr with ESMTP/TLS/RC4-MD5; 04 Jan 2012 11:05:12 +0100 Received: by wgbdr12 with SMTP id dr12so33339410wgb.9 for ; Wed, 04 Jan 2012 02:05:11 -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=18Z+VvPD3GN+1ZbGs/q6GRhYoe379aomQxBJIBmBWdM=; b=PvJ/tZLctejBoUxNlLZNew3s3BAPh5VNywBsXJE7CFBeZ5GPJrEm0MUWiGTD2EXUBj bcF670cXqoTGqwMmplR0JaEKy1FFfNTH2qEbmCG4z1Ip2t84BQCPQnsDu7NpAQKJ/tGz 3DXqMsmWJU9dkQeyVHoE6sdCCu4FNQy5Q0IVo= MIME-Version: 1.0 Received: by 10.227.200.206 with SMTP id ex14mr55333049wbb.11.1325671511389; Wed, 04 Jan 2012 02:05:11 -0800 (PST) Received: by 10.216.65.129 with HTTP; Wed, 4 Jan 2012 02:05:11 -0800 (PST) In-Reply-To: References: Date: Wed, 4 Jan 2012 11:05:11 +0100 Message-ID: From: Diego Olivier Fernandez Pons To: Gabriel Scherer Cc: caml-list Content-Type: multipart/alternative; boundary=000e0cd5a0b086777f04b5b0f364 Subject: Re: [Caml-list] "Let"-less syntax for coreML --000e0cd5a0b086777f04b5b0f364 Content-Type: text/plain; charset=ISO-8859-1 Gabriel, > I feel I am missing some background. What is this "coreML" Typed lambda calculus with typical sugar http://caml.inria.fr/pub/docs/u3-ocaml/ocaml-ml.html and common basis (intersection) of all ML languages (SML, OCaml, F#, Haskell) > and what is the point of making subtle syntactic changes to it? > I agree with Don Syme that the syntax of MLs could be simplified to make them easier for the masses but I don't like the indentation for block delimitation rule (Landin's off-side rule) he uses in F# to remove the "begin / end" and the "let ... in" constructions. Not saying it is ever going to happen but it is worth thinking about it and maybe giving a try on my side. The underlying question is "how to make ML mainstream" which is what the (broad) ML community has been trying to do for decades with limited success. Among other things we have tried - standards (SML, Haskell 98) with multiple implementations - optimizing compilers (OCaml, MLTon) - education (first language, data structures, books) - (killer) applications - popular virtual machines (Java, CLR) to reuse their code base - web (Caml as browser extension language in MMM, Caml to JavaScript compilation) and many more Agreed that many of these were successful research projects, not specifically meant to take over the world (of programming languages). The result is two folds - a technical success : check the code written by the INRIA teams, almost everyone uses Caml but those with very specific needs (Java rewriting systems, Prolog, high performance Grobner basis, etc). - a mainstream failure : limited industrial usage besides a couple of companies Diego Olivier --000e0cd5a0b086777f04b5b0f364 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
=A0 =A0 Gabriel,
=A0
I feel I am missing some background. What is this &= quot;coreML"

Typed lambda calculus with typical sugar=A0http://caml.inria.fr/p= ub/docs/u3-ocaml/ocaml-ml.html=A0and common basis (intersection) of all= ML languages (SML, OCaml, F#, Haskell)
=A0
and what is=A0the point of mak= ing subtle syntactic changes to it?

I a= gree with Don Syme that the syntax of MLs could be simplified to make them = easier for the masses but I don't like the indentation for block delimi= tation rule (Landin's off-side rule) he uses in F# to remove the "= begin / end" and the "let ... in" constructions. Not saying = it is ever going to happen but it is worth thinking about it and maybe givi= ng a try on my side.

The underlying question is "how to make ML mainstr= eam" which is what the (broad) ML community has been trying to do for = decades with limited success. Among other things we have tried
- standards (SML, Haskell 98) with multiple implementations
- opt= imizing compilers (OCaml, MLTon)
- education (first language, dat= a structures, books)
- (killer) applications
- popular = virtual machines (Java, CLR) to reuse their code base
- web (Caml as browser extension language in MMM, Caml to JavaScript c= ompilation)
and many more

Agreed that ma= ny of these were successful research projects, not specifically meant to ta= ke over the world (of programming languages).

The result is two folds
- a technical success= : check the code written by the INRIA teams, almost everyone uses Caml but= those with very specific needs (Java rewriting systems, Prolog, high perfo= rmance Grobner basis, etc).
- a mainstream failure : limited industrial usage besides a couple of = companies

=A0 =A0 =A0 =A0 Diego Olivier
--000e0cd5a0b086777f04b5b0f364--