SML vs Ocaml for ECMA script spec.
Daniel C. Wang
danwang74 at gmail.com
Sat Oct 21 11:02:49 PDT 2006
The last nail in the coffin. I can simply not imagine any organization
like ECMA forcing people to use the single GPL encumbered implementation
of Ocaml when there are free alternatives already available from
multiple vendors. Unless you do the reference implementation without
referring to any of the OCaml library, my understanding is that you will
not be able to redistribute the *full* spec without encumbering the IP.
I'm sure the FUD around the GPL will slow down the standards process down.
> The Compiler is distributed under the terms of the Q Public License
> <http://caml.inria.fr/ocaml/license.en.html#qpl> version 1.0 with a
> change to choice of law (included below).
> The Library is distributed under the terms of the GNU Library
> General Public License
> <http://caml.inria.fr/ocaml/license.en.html#lgpl> version 2 (included
> As of 20050812, MLton software is licensed under the BSD-style
> license below. By contributing code to the project, you agree to
> release the code under this license. Contributors can retain copyright
> to their contributions by asserting copyright in their code.
> Contributors may also add to the list of copyright holders in
> doc/license/MLton-LICENSE, which appears below.
> Yet another BSD style...
Having the spec in an executable form can greatly improve compliance,
because you can use the official spec as a test-oracle. Ideally, you
want to let people download and run the spec and integrated it into the
test process, and perhaps even make modifications to it. The GPL
wildcard will just impede this process and reduce the conformance
quality of any implementations.
Okay, I've spamed the list enough. I hope I've made a strong case that
the *right* pragmatic decision is to go with SML over Ocaml.
P.S. You guys obviously have enough taste to be thinking of using any ML
for the language spec. So, I'm sure after you review all the facts
you'll do the right thing again and choose SML.
More information about the Es4-discuss