Re: beginning with ML



rossberg@xxxxxxxxxxxx wrote:
While I won't argue your overall conclusion, I have to take issue with
that list. Many points apply to given SML implementaions as well.

Yes.

Some
are weird, e.g. "structural types", which certainly aren't exclusive
to OCaml, and arguably even less pervasive there (cf. records).

SML has nothing like structurally-subtyped objects and polymorphic variants.

Suggesting that SML implementations are not "actively developed"

I was referring to the language rather than the implementations. The OCaml
language continues to evolve but SML does not.

and
generally don't have "high-performance interactive modes" sounds like
active FUD to me (note that - unlike OCaml - SML/NJ or Poly/ML even
compile to native code interactively).

No: see the natdynlink branch and compare its performance to that of any
interactive SML implementation on a modern machine. OCaml is much, much
faster.

I would add quite a few:
...
- transparent signature ascription
- type ascriptions for polymorphic definitions

What do these two mean?

- many implementations, with interesting extensions

The same is true of CAML, of course.

- more textbooks

Do you mean English textbooks? There are 18 OCaml books listed here:

http://caml.inria.fr/about/books.en.html

and they don't list Practical OCaml. How many SML books are there?

Just to balance your apparent bias...

You are certainly much more familiar with SML than I am. However, your
statement about OCaml not supporting interactive compilation to native code
is incorrect and your implication that SML's many implementations is a good
thing is completely undermined by the fact that none of them have good
support for 64-bit machines.

We have been using 64-bit machines for several years now and the lack of
support for them by all SML implementations is a serious impediment to our
use of SML.

--
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
http://www.ffconsultancy.com/products/?u
.



Relevant Pages

  • Re: beginning with ML
    ... OCaml has CamlP4, which is a PreProcessor and Pretty-Printer. ... With support for structural record types ... (like in SML) ... with a Microsoft language. ...
    (comp.lang.functional)
  • Re: beginning with ML
    ... OCaml has CamlP4, which is a PreProcessor and Pretty-Printer. ... The existence of labelled arguments is one of those oblique features ... With support for structural record types ... (like in SML) ...
    (comp.lang.functional)
  • Re: Standard ML low usage --- why?
    ... SML left a lot to be desired as a language and, consequently, all ... OpenGL with few examples. ... OCaml looks like SML++ because it has lots of extra features with obvious ...
    (comp.lang.functional)
  • Re: beginning with ML
    ... You can apply the arguments without having to specify the labels: ... How does that translate into sML? ... So I think OCaml is a good benchmark ... I appreciate that you would like to add only orthogonal features to the SML ...
    (comp.lang.functional)
  • Re: Ray tracer
    ... Programming is *hard* especially writing algorithms. ... implementations in C, C++, SML, OCaml and Java were all done by me. ...
    (comp.lang.scheme)