Commentary on Standard ML

Under the category of "what I'm up to", found the book by Milner and Tofte at the used bookstore over the weekend. On chapter 8 at the moment. I see that the Commentary book is online for those who haven't read it yet (last published in 1991, it's out of print).

This book is the companion to the Definition of Standard ML, which defines SML in mathematical terms. The Commentary is a bit more approachable, but I must admit that I probably could use a "Commentary on the Commentary on Standard ML", to make the Commentary digestable. But then the two books are aimed at implementors of the language. Still, I managed to pick up some useful information on ML here and there.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Is on old version of SML

Note that the Commentary discusses the deprecated SML'90 Definition. Unfortunately, it has never been updated to SML'97. In particular, the rule numbering has changed, and large parts of the description of module semantics do no longer apply.

Apart from that it is still an interesting read for people who are seriously into programming languages.

Guess I should have mentioned that.

Apart from that it is still an interesting read for people who are seriously into programming languages.

You mean that there are people who don't take programming languages seriously? I'm shocked, I tell you, SHOCKED! :-)

Taking Programming Languages Seriously

What I would like to see is a discussion about how programming languages are the new 'mathematical' language of our generation.


Don't know that I'd call it Mathematical

The principles behind programming are bound to Mathematics. And some of the programming languages are heavily influenced by formalism - such as ML (which is what started this thread). But most programming in the wild, as performed by it's practictioners and language designers, hardly rates as a mathematical exercise (or engineering for that matter).

I'd postulate that programming and programming languages are more tightly related to the field of Logic, where mathematics is but one of the subfields (albeit the most rigorous of all the languages of logic).

Oh yes!

Some of them even invent languages, such as the well-known PERsiflage Language...

My own favorite semantics for SML is...

...the Harper-Stone semantics. I think it's very pretty, and is a great way to define a full, real programming language in terms of a small core. The nice thing about it is that the techniques it uses should mostly be understandable to someone who has read Benjamin Pierce's book.

A Type-Theoretic Interpretation of Standard ML

The inference rules are here.

Easy come, easy go

Rattled off a note to one of the authors. Apparently, the Commentary is not yet public, but the author says he will put in a request to MIT press.

Made publicly available

Well, I'm glad to say I got the following email back:

Dear Chris Rathman,

Further to my message yesterday, MIT Press have now agreed to us making the Commentary available on the Web. Here are the links:

Robin Milner and Mads Tofte. Commentary on Standard ML. MIT Press, 1991.
(PDF) and
(Postscript) and

Yours sincerely,

Mads Tofte

All I can say is Thanks!

* Gone, alas!

Commentary Texts

Driving by after updating my LtU archive indexes, and see my name... Should be able to retrieve the Standard ML texts from:

(10 days early, but in case I don't make it back, happy dozen bdays for LtU).

* Bless you.