caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Gary Trakhman <gary.trakhman@gmail.com>
To: Jesper Louis Andersen <jesper.louis.andersen@gmail.com>
Cc: Evgeny Khramtsov <xramtsov@gmail.com>, caml-list@inria.fr
Subject: Re: [Caml-list] ReasonML concrete syntax
Date: Mon, 18 Dec 2017 17:27:11 +0000	[thread overview]
Message-ID: <CAJvqBXhO1yv54mrRxvU848_GbD-0mGgaMNbj-bTDdMWyw8C86w@mail.gmail.com> (raw)
In-Reply-To: <CAGrdgiUkXBSWC6b-BT=fmaJ1cCJi+Mzbaz2Q2eUM_SPNbtC_Dg@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 4276 bytes --]

Being an experienced clojure/lisp expatriat, it's easy to not get too
attached to syntax, since few see the value of the one I like the most.
Ocaml syntax was pretty strange, but the mental model of the code itself
was not that different from what I was doing before.  Reason looks like
another half day or so of learning.  I see these as fixed costs.  It's
usually in the language community's interest to lower the barrier to entry
because it increases the chance of a future contribution.  I don't really
see how an additional syntax can threaten or take away from ocaml in the
large.  And my personal opinion is, 'whatever, it's just syntax'.  The
repetitive things should be easy and small and the weird occasional stuff
can be weird.  Tuples fall into the bucket of things I don't usually want
to use, so making a notation sacrifice there seems relatively fine.  In
fact, I'm pretty annoyed by semicolon separators in lists/arrays and the
general leading-semicolon style, since no other language does it that way.
Why shouldn't the more common use-case be 'terser'? Bare tuples are
confusing like that.

I guess when I see a bikeshedding flame war like this, I just wonder what
other silent bystanders like me think, who are happy to be using an
expressive, type-safe language like ocaml (hey, it's not java) but not
specifically attached to any implementation detail.  I think it's pretty
interesting what the Reason team is doing with cross-syntax compilers,
since having great AST-level tooling makes writing editor tooling and
ultimately end user code much easier, and that addresses recurring costs
that I face day to day at work more than any syntax does.

On Mon, Dec 18, 2017 at 12:01 PM Jesper Louis Andersen <
jesper.louis.andersen@gmail.com> wrote:

> On Mon, Dec 18, 2017 at 5:43 PM Evgeny Khramtsov <xramtsov@gmail.com>
> wrote:
>
>>
>> There is a very similar story: Erlang and Elixir. If somebody doesn't
>> know: Elixir runs in Erlang VM (BEAM) and has Ruby-like syntax (Erlang,
>> on its turn, has obscure for many Prolog-like syntax). No doubt, Elixir
>> became more popular than Erlang (at least, judging by Github stars),
>> but still not popular enough (below top20 in any language charts). I
>> think this is because it's still functional language and this distracts
>> many. Furthermore, such separation splitted the community into two
>> camps, writing the same tools/programs, but only in different languages.
>> What's worse, now all job offers contain Erlang/Elixir requirement
>> (which makes no sense to me, frankly).
>>
>>
> FWIW, I think the Erlang community is greatly benefiting from the Elixir
> community and vice versa. I'd hope the same thing happens with ReasonML and
> OCaml.
>
> Elixir got a pretty firm ground to stand on since you have many years of
> (industrial) backing in the Erlang ecosystem. But a lot of the better
> improvements in the quality-of-life of a programmer is a direct result of
> Elixir's core team wanting to improve notation, error reporting and so on
> for the developer. These changes are definitely improving Erlang as well.
>
> I think it is wrong to see these things as "wars". People, when
> programming, are subjective and prefer different notations. I've always
> been partial to statically typed ML languages such as OCaml and Standard
> ML, and I find their notation more clear than e.g., the Erlang or Haskell
> notation[0]. But judging by people in general, '{' / '}' bracketed notation
> stemming from a language such a C looks to be extremely popular and familar
> to people. To the point where "Erlang syntax is ugly", in which as much is
> misunderstood about its semantics as are its syntax.
>
> The key point is that you have a large group of programmers, mostly
> Javascript, Python or Ruby people, who would never ever pick up Erlang due
> to its syntax. But they'll gladly pick Elixir as their core language. All
> we have to teach them is proper error handling Erlang/OTP style and they'll
> easily give back to the community at large. If there are a good argument
> for diversity in an ecosystem, this is really it.
>
> [0] I may be "Erlang user of the year, 2017", and have many years of
> Erlang experience, but I've always lamented that the language has no static
> type system.
>

[-- Attachment #2: Type: text/html, Size: 5231 bytes --]

  reply	other threads:[~2017-12-18 17:27 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-10 18:12 Robert Muller
2017-12-11  0:09 ` Yawar Amin
2017-12-11  5:50   ` Viet Le
2017-12-11  6:45     ` Ian Zimmerman
2017-12-11  6:53       ` Sven SAULEAU
2017-12-11  6:50     ` Sven SAULEAU
2017-12-11  6:54       ` Evgeny Khramtsov
2017-12-11  7:22         ` =?gb18030?B?Qm9i?=
2017-12-11  7:16           ` Evgeny Khramtsov
2017-12-17 15:02         ` Paolo Donadeo
2017-12-17 16:01           ` Guillaume Huysmans
2017-12-17 16:55             ` Paolo Donadeo
2017-12-17 20:13               ` Ian Zimmerman
2017-12-17 20:49                 ` Robert Muller
2017-12-18  1:34                   ` Yawar Amin
2017-12-18 16:36                     ` Evgeny Khramtsov
2017-12-18 17:00                       ` Jesper Louis Andersen
2017-12-18 17:27                         ` Gary Trakhman [this message]
2017-12-18 17:53                         ` Evgeny Khramtsov
2017-12-18  2:14                   ` Yawar Amin
2017-12-11 15:51       ` Yawar Amin
2017-12-11 16:07         ` Sven SAULEAU
2017-12-11 17:11         ` David Brown
2017-12-12  3:49         ` Louis Roché
2017-12-12  4:18           ` Yawar Amin
2017-12-12  5:52           ` Oliver Bandel
2017-12-11 14:40 ` Gerd Stolpmann
2017-12-11 16:10   ` Ian Zimmerman
2017-12-11 16:47     ` Viet Le
2017-12-11 17:10       ` Yotam Barnoy
2017-12-11 18:56         ` Robert Muller
2017-12-11 19:23           ` Yawar Amin
2017-12-11 21:10         ` Marshall
2017-12-11 17:29       ` Yawar Amin
2017-12-11 17:59       ` Ian Zimmerman
2017-12-11 18:30     ` Gerd Stolpmann
2017-12-13  8:22       ` Sebastien Ferre
2017-12-13  9:26         ` Evgeny Khramtsov
2017-12-13 10:37           ` David Allsopp
2017-12-13 16:38             ` Marshall
2017-12-13 16:44               ` Yawar Amin
2017-12-13 17:20                 ` David Allsopp
2017-12-13 17:51                   ` Yawar Amin
2017-12-13 17:39         ` Hendrik Boom
2017-12-13 17:55           ` Robert Muller
2017-12-13 18:19             ` Viet Le
2017-12-13 19:29             ` Yawar Amin
2017-12-13  8:55 ` Nicolas Boulay

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAJvqBXhO1yv54mrRxvU848_GbD-0mGgaMNbj-bTDdMWyw8C86w@mail.gmail.com \
    --to=gary.trakhman@gmail.com \
    --cc=caml-list@inria.fr \
    --cc=jesper.louis.andersen@gmail.com \
    --cc=xramtsov@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).