Skip to content

Comment on After 11 years, a new "Programming in Standard ML" [pdf]parent

Comments

Interesting. The parallels between ML and Scheme, two languages invented in the '70s and in an academic setting, are striking: the core language is great, but the community is divided into ever-so-slightly incompatible implementations, so, in practice, there's very little sharing. Therefore, it's impractical to do most "large" projects in the language, due to lack of critical mass of useful libraries. ML/Scheme end up being learning languages, for the most part, and then everyone moves on to {OCaml, Haskell}/Common Lisp to get real work done.

I would say these similar outcomes are a repudiation of the idea that multiple implementations of the same language is a good thing, but that hasn't hurt C's popularity. More likely, it has something to do with their roots in programming language research. Maybe ML and Scheme are too good for their own good, and other academics can't resist using them as a basis for their own pet ideas. Perhaps a truly successful (read, "widely-adopted") programming language has to be flawed just enough to discourage anyone from trying to improve on it. Worse is better strikes again?

Yeah, I concluded the same thing. Languages with standards seem to be largely worse off than languages with canonical implementations with regard to interoperability and ecosystem coherence. I think maybe the problem is that if your standard isn't restrictive enough to ensure general interoperability, you end up without it.

It seems strange that Haskell seems to be a special case to this, but even there you see language extensions that ghc supports but Hugs et al do not. It's just that, for most people, ghc just wins outright. SML/NJ vs MLton is a harder question to decide given the freakish performance that MLton can achieve.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.