[racket] Offtopic: Learning SML

From: Ray Racine (ray.racine at gmail.com)
Date: Mon Sep 19 20:44:36 EDT 2011

Some of these opinions are rather stale.   That said.

SML is very much a dual of Scheme with types and inference.  Very much a
dual in the sense SML's core syntax is minimal, clean and elegant.  From a
type perspective H-M inference isn't as amazing as it used to be.   Haskell,
Scala, yes and Typed Racket and many others, in some ways, even in an all
ways exceed the SML type envelop. What has stood the test of time is SML
modules, and are worth exploring in and of themselves.  I mean any language
with "functor" as a keyword has sex appeal.

Ocaml is roughly equivalent to SML but the syntax is all over the map and
the module system smells of bolt on.   You'll get exposed to the same key
concepts from both, so go with the one that doesn't look like it was
designed by the brainf*ck guy on a 3-day binge.

If you spend time with SML it is inevitable you'll be drawn into the Haskell
vortex to plunge beneath its event horizon or to be slingshoted on your way
at near light speed.  Stopping off for a cup of tea with Mrs. SML and
munching on algebraic data types on your way to visit Mr. Haskell is not a
bad itinerary at all.

Once that road has been traveled, another life altering exploration would be
to go visit Mr. Smalltalk.  These days however, I'd suggest going to visit
Miss Newspeak instead.   She has explored further afield now that Mr
Smalltalk is retired.   Classes as the module construct, lexical scope
overriding in priority of inheritance, messages and late binding will change
your thinking.  And virtual classes, once that epiphany hits, that will
rewire your synapses.

On Sun, Sep 18, 2011 at 1:36 PM, Grant Rettke <grettke at acm.org> wrote:

> Hi,
> Over the years I've noticed on-list that comments are made about OCaml
> and Haskell and abstract data types.
> It seems like it would be fun to learn more about this stuff; and I
> guessed that learning SML would be a nice place to start because it is
> stable and seemed to be used by educators a lot.
> What do you think?
> Are _ML for the Working Programmer_ and _Elements of ML Programming,
> ML97_  a good place to start?
> Best wishes,
> Grant
> --
> http://www.wisdomandwonder.com/
> _________________________________________________
>  For list-related administrative tasks:
>  http://lists.racket-lang.org/listinfo/users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20110919/ce4be93d/attachment.html>

Posted on the users mailing list.