
This, er, comment (I can’t think of a polite to describe what I actually think of it) came through on the MLton (a Standard ML implementation) mailing list a few hours ago: > SML lost the race (despite being a truly remarkable language). Its hayday seems to have been in the ’90s (like for Scheme, Smalltalk or Forth). … [rather cynical description of the state of the various Standard ML implementations out there] … Boy, does it look like the Scheme landscape! I guess nobody told that person about Racket ¯_(ツ)_/¯

(or, for that matter, Pharo - https://pharo.org/ - and Squeak - https://squeak.org/)

Link?

Uhhh, good question. I can’t remember off the top of my head where the MLton mailing list archive is. Gimme a moment to search around.

I’m cleaning boxes of papers out of my basement and going through tons of Smalltalk and Scheme papers from the 90s and thinking “Wow, somethings haven’t changed but some other things are much better now.”

Oh, wait, it was actually a GitHub issue: https://github.com/MLton/mlton/issues/443
(and of course now I’m reminded that you’re on the MLton mailing list, since I have seen your CFPs :slightly_smiling_face:)

Care to elaborate? :slightly_smiling_face:

The most striking one was an article from Dr Dobbs Journal that described a system written in Smalltalk and C/Assembler that had various tricks to jump in and out of C code written for DOS.

That… sounds like it would be both horrific and fantastic to work on :sweat_smile:

I really like SML too, but it’s really hindered by the lack of a well-standardized packaging system and a comprehensive standard library.

I feel like OCaml and F# are ML-like enough that it’s premature to call it a dead language family, too

Definitely. But, based purely on the merits of the language itself, SML is my favorite of the three.

I believe SML is the only one which has a well-defined standard etc. I am quite an F# fan though, myself.

Yeah. I just really like SML for its relative minimalism.

OTOH, it’s ironically kind of the least standard one in practice, because the standard’s gone a quarter century without an update, and instead every implementation has evolved in a way that makes it incompatible with every other implementation.