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 ADDA682355 for ; Mon, 11 Dec 2017 19:56:22 +0100 (CET) Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=robert.muller2@gmail.com; spf=Pass smtp.mailfrom=robert.muller2@gmail.com; spf=None smtp.helo=postmaster@mail-oi0-f41.google.com Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of robert.muller2@gmail.com) identity=pra; client-ip=209.85.218.41; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="robert.muller2@gmail.com"; x-sender="robert.muller2@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of robert.muller2@gmail.com designates 209.85.218.41 as permitted sender) identity=mailfrom; client-ip=209.85.218.41; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="robert.muller2@gmail.com"; x-sender="robert.muller2@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-oi0-f41.google.com) identity=helo; client-ip=209.85.218.41; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="robert.muller2@gmail.com"; x-sender="postmaster@mail-oi0-f41.google.com"; x-conformance=sidf_compatible IronPort-PHdr: =?us-ascii?q?9a23=3AHXGDfR0xuApXtv33smDT+DRfVm0co7zxezQtwd8Z?= =?us-ascii?q?segUK/ad9pjvdHbS+e9qxAeQG96Eu7QZ06L/iOPJZy8p2d65qncMcZhBBVcuqP?= =?us-ascii?q?49uEgeOvODElDxN/XwbiY3T4xoXV5h+GynYwAOQJ6tL3WbmHC57CYTFxPjLkI1?= =?us-ascii?q?Y72tQs+Buf+qzPi/8IH/ZABBhTz1Ie8jbUb+kQKEh84KiI4qAK8rzBzY6i9ZfP?= =?us-ascii?q?hfwGlhP1SUjj7z486x+Nho9CEG6Nw78MsVa6Lwcr4kBZlFCDArKShh/srhuAPf?= =?us-ascii?q?Cw6S4n8RSD8+nR9BAgyD5xb/CMSi+hDmv/ZwjXHJdfb9Sqo5DHH/tqo=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0CTAwDX0y5ahinaVdFbGwEBAQEDAQEBC?= =?us-ascii?q?QEBAYMPgRV0FBMHg3uBNpdpgX0Cgl+OYIdgCiOFGAKEawdDFAEBAQEBAQEBAQE?= =?us-ascii?q?SAQEBCAsLCCgvgjgFAR4GgkABAQEBAgEjHQEbEAEBAQoBAwELBgULDQ0dAgIhA?= =?us-ascii?q?QERAQUBChIGExICiXsBAw0IEJtNQIwQggUFARyDCgWDWAoZJwMKWYJNAQEBAQE?= =?us-ascii?q?BBAEBAQEBAQEZAgYSg1aCC4M/gh0YRDKCCwFeOWaBQ4JogmMFgS0BhykMikCPM?= =?us-ascii?q?TsCgWGGGIgshHyCFmOFL4s7jQo9iQMUBR+BFw8ngXEyGiNPMlKBJQmCECofghE?= =?us-ascii?q?jN4gGgVkBAQE?= X-IPAS-Result: =?us-ascii?q?A0CTAwDX0y5ahinaVdFbGwEBAQEDAQEBCQEBAYMPgRV0FBM?= =?us-ascii?q?Hg3uBNpdpgX0Cgl+OYIdgCiOFGAKEawdDFAEBAQEBAQEBAQESAQEBCAsLCCgvg?= =?us-ascii?q?jgFAR4GgkABAQEBAgEjHQEbEAEBAQoBAwELBgULDQ0dAgIhAQERAQUBChIGExI?= =?us-ascii?q?CiXsBAw0IEJtNQIwQggUFARyDCgWDWAoZJwMKWYJNAQEBAQEBBAEBAQEBAQEZA?= =?us-ascii?q?gYSg1aCC4M/gh0YRDKCCwFeOWaBQ4JogmMFgS0BhykMikCPMTsCgWGGGIgshHy?= =?us-ascii?q?CFmOFL4s7jQo9iQMUBR+BFw8ngXEyGiNPMlKBJQmCECofghEjN4gGgVkBAQE?= X-IronPort-AV: E=Sophos;i="5.45,392,1508796000"; d="scan'208,217";a="304986598" Received: from mail-oi0-f41.google.com ([209.85.218.41]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 11 Dec 2017 19:56:21 +0100 Received: by mail-oi0-f41.google.com with SMTP id f69so12302743oig.10 for ; Mon, 11 Dec 2017 10:56:21 -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 :cc; bh=x5CskSOy+tXrAaOmEHmT1gR/WMYtG+Zxfp6g65HY7Vk=; b=KXKJLw6gVRIQUAkCW8IVRBlkheBZNtlyLVsNq5pld1cAF+h+Q3CyqWKwt00R2f5O/O KonmPHrghIWCZyEfMWi1SOM/ya77kdu6Eb+xa60te5WDRq6B4qTTZq+D2U1FblMvLqGb 9a8HVbOeP0hk1paXwhKhTgDzagvu7diS7EY3mR5pWgKVM+VMrH1KyTvspksrKPPnZFGi g+QeQWUAM736XdghtGviMt55rj6fg6FEABboR/QIucPd24HKy7x186uoSzjaYuo+aPqJ +NjMUhnGnaxBNoHhhMUrrN5pLMsQ4inl/liE5yQQFekHVxJ/TG+aYhAB+20kWF4G2PQX 6CfQ== 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:cc; bh=x5CskSOy+tXrAaOmEHmT1gR/WMYtG+Zxfp6g65HY7Vk=; b=jYsogQQY2xT9x2Egn0Bi3R2fYUX44DEiTQR0EwIzX7TbpAaBr7BpcXl4iWRMYmRmij a+lbSQ0rMHXI8ZMdw+nEHlpbA4vSIRnZPpI3XwiLypEZRT3p/fsC23295eabntUrRI0S K/fFL5Dq9QrrPBB1vF2PXhUcXpHU9hjUXwVgRsdbIWJ95WDPsn4O4XIwUB6jyCt8ZDQn EhLDd0Go55H8TKAxXbjGGqqVIqfHKzV8ySKVpal9iYW408jq3K9favWVJlMp79iH64ZJ oMdBoVLOXkcaTvLZ75ar5ZgNzefjpe9vJ56LAWuCayOAw1W0rqlum5KKPM/919ST1ilw /0fw== X-Gm-Message-State: AKGB3mJ2LsEnphlm0XWMk/m7F+WCX9iIdQZDk1kDYS1U/eH0Ej1U0nfS SBtxxQsiZQGcBol2fTMMo4QhwiSheayhabOW10g= X-Google-Smtp-Source: ACJfBot+/hZksRw3Vy5+APGxvfnUGE6mFRhaEHc3vzfGfAqS0wgOQNjIT46+ykLqJ3PUZN75UYfcoODnC2VTFBPLd8U= X-Received: by 10.202.75.130 with SMTP id y124mr1165442oia.91.1513018579407; Mon, 11 Dec 2017 10:56:19 -0800 (PST) MIME-Version: 1.0 Received: by 10.74.171.201 with HTTP; Mon, 11 Dec 2017 10:56:18 -0800 (PST) In-Reply-To: References: <6640cb32-fec3-e048-3f40-53d65bae5305@gerd-stolpmann.de> <20171211161024.kafvtxzq3qcoo46p@matica.foolinux.mooo.com> From: Robert Muller Date: Mon, 11 Dec 2017 13:56:18 -0500 Message-ID: To: Yotam Barnoy Cc: Viet Le , OCaml Mailing List Content-Type: multipart/alternative; boundary="001a1134e17ef6d94f05601516a7" Subject: Re: [Caml-list] ReasonML concrete syntax --001a1134e17ef6d94f05601516a7 Content-Type: text/plain; charset="UTF-8" Apologies for igniting a bit of a syntax flame war; it wasn't my intention. The Reason project is fantastic and I hope it's successful. I'm concerned with teaching OCaml (or possibly Reason) not to JS programmers but to first-year university students and to students being introduced to algebra. (In the US, that means middle-school and high-school). I hope that to the greatest extent possible, the use of parentheses in Reason will be consistent with their most common use in algebra -- for grouping. OCaml isn't perfect on this score but the n-argument function accepting an n-tuple seems like the right thing. I'm hoping that I won't have to explain to students things like let add(m, n) = m + n add(5) or let add((m, n)) = m + n I feel that many of the Reason syntax diffs with OCaml are improvements but this sort of thing is a step backward IMHO that won't be helpful to JS programmers anyway. Bob Muller On Mon, Dec 11, 2017 at 12:10 PM, Yotam Barnoy wrote: > Rust ditched its syntax before release in favor of a syntax more > geared towards the kind of programmers they wanted to attract. This > wasn't a bad decision. > > Many people on this mailing list seem to be unaware of the fact that > Reason is really catching on. It's simply a human reality that we like > to try things that are close to what we already know. Bringing OCaml's > syntax close to a language like Javascript, which has countless > developers nowadays, means that a much higher percentage of those > people will want to try out OCaml/Reason. And ultimately, a language > is only as good as its ecosystem -- having the best-designed language > in the world is meaningless if only a few people are using it. > > I'm not one of those people who enjoys Reason's syntax (aside from the > issues they fixed in OCaml's syntax), but I appreciate what the Reason > people have done, and I expect Reason to soon eclipse OCaml in terms > of number of users. I don't see this as a bad thing -- Reason's > creators seem to really love OCaml and want to contribute back to the > community. > > On Mon, Dec 11, 2017 at 11:47 AM, Viet Le wrote: > > Yawar, crediting the popularity of Rust because of syntax is misleading. > > Mozilla has marketing budget and people behind Rust have build very > active > > community with weekly newsletter and know how to market. OCaml is mostly > > used by academia and some industry players, and marketing is not being > > emphasized. > > > > ReasonML is not gaining because of syntax, it's because of huge marketing > > effort and easy to follow tutorials and examples and catchy websites. > OCaml > > documentation is as plain as plain can get. Rust has a few catchy > websites, > > tutorials and free books as well. > > > > Viet. > > > > On 11 December 2017 at 16: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. > >> > >> I would be more tolerant about such syntax in a SML-like language where > >> multiple arguments are modelled with tuples in most cases. > >> > >> -- > >> 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, fetch the TXT record for the > domain. > >> > >> -- > >> 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 > > > > > > > > > > -- > > Kind regards, > > Viet > > -- > 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 > --001a1134e17ef6d94f05601516a7 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Apologies for igniting a bit of a syntax flame war; it was= n't my intention. The Reason project is fantastic and I hope it's s= uccessful. I'm concerned with teaching OCaml (or possibly Reason) not t= o JS programmers but to first-year university students and to students bein= g introduced to algebra. (In the US, that means middle-school and high-scho= ol). I hope that to the greatest extent possible, the use of parentheses in= Reason will be consistent with their most common use in algebra -- for gro= uping. OCaml isn't perfect on this score but the n-argument function ac= cepting an n-tuple seems like the right thing. I'm hoping that I won= 9;t have to explain to students things like

let add(m, n= ) =3D m + n=C2=A0
add(5)

or
let add((m, n)) =3D m + n

I feel that= many of the Reason syntax diffs with OCaml are improvements but this sort = of thing is a step backward IMHO that won't be helpful to JS programmer= s anyway.
Bob Muller


On Mon, Dec 11, 2017 at 12:10 PM, Y= otam Barnoy <yotambarnoy@gmail.com> wrote:
Rust ditched its syntax before release in favor of a s= yntax more
geared towards the kind of programmers they wanted to attract. This
wasn't a bad decision.

Many people on this mailing list seem to be unaware of the fact that
Reason is really catching on. It's simply a human reality that we like<= br> to try things that are close to what we already know. Bringing OCaml's<= br> syntax close to a language like Javascript, which has countless
developers nowadays, means that a much higher percentage of those
people will want to try out OCaml/Reason. And ultimately, a language
is only as good as its ecosystem -- having the best-designed language
in the world is meaningless if only a few people are using it.

I'm not one of those people who enjoys Reason's syntax (aside from = the
issues they fixed in OCaml's syntax), but I appreciate what the Reason<= br> people have done, and I expect Reason to soon eclipse OCaml in terms
of number of users. I don't see this as a bad thing -- Reason's
creators seem to really love OCaml and want to contribute back to the
community.

On Mon, Dec 11, 2017 at 11:47 AM, Viet Le <vietlq85@gmail.com> wrote:
> Yawar, crediting the popularity of Rust because of syntax is misleadin= g.
> Mozilla has marketing budget and people behind Rust have build very ac= tive
> community with weekly newsletter and know how to market. OCaml is most= ly
> used by academia and some industry players, and marketing is not being=
> emphasized.
>
> ReasonML is not gaining because of syntax, it's because of huge ma= rketing
> effort and easy to follow tutorials and examples and catchy websites. = OCaml
> documentation is as plain as plain can get. Rust has a few catchy webs= ites,
> tutorials and free books as well.
>
> Viet.
>
> On 11 December 2017 at 16:10, Ian Zimmerman <itz@very.loosely.org> wrote:
>>
>> On 2017-12-11 15:40, Gerd Stolpmann wrote:
>>
>> > although, with currified functions this is only an illusion >>
>> As they say, "this".=C2=A0 The alternative syntax will l= ead to people never
>> learning about partial application.
>>
>> Does your own language curry multiple arguments by default like Oc= aml
>> does?=C2=A0 If yes, then (IMO) your choice is a mistake, in spite = of the
>> (good) arguments you give for it.
>>
>> I would be more tolerant about such syntax in a SML-like language = where
>> multiple arguments are modelled with tuples in most cases.
>>
>> --
>> 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, fetch the TXT record for the = domain.
>>
>> --
>> 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/g= roup/ocaml_beginners
>> Bug reports: http://caml.inria.fr/bin/caml-bugs<= br> >
>
>
>
> --
> Kind regards,
> Viet

--
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

--001a1134e17ef6d94f05601516a7--