[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: mathematical models

>>>>> On Wed, 4 Jun 1997 08:31:31 -0400, Jeffrey Mark Siskind <qobi@qobi.nj.nec.com> said:

MF> ML is the only language (I know of) that has a fully mathematical
MF> specification.

JMS> I remember reading a paper around 1977 that contained a W-grammar
JMS> specification of the syntax and semantics of an Algol-68-like
JMS> language. (No it was not the Algol-68 report. That contained a
JMS> specification only of the (context sensitive) syntax of Algol-68.) The
JMS> basic idea was that the W-grammar generated strings of the form
JMS> input$program$output.

JMS> I have long forgotten the title and author of the paper. Can someone
JMS> refresh my memory? I remember being rather impressed with it at the time.

I don't know what Matthias means by a "fully mathematical specification".
There have been "mathematical" specifications written for lots of languages.
I've seen them for everything from Algol 60 to SNOBOL.  They have been written
in a variety of styles (denotational/operational/axiomatic), but the important
differences (for the purpose of this discussion, so far as I can make it out)
is what portions of the language behavior are specified.

The R3RS denotational semantics and the ML definition both contain incomplete
or informal specifications of the constants of the language.  For example, the
initial dynamic basis in SML (Appendix D of the definition) describes the
arithmetic operations only in an informal way.  It does not specify sizes of
integers, what a "real" is, etc.  The Scheme number specification is far more

The most comprehensive language specification that I am aware of is that for
Java, for whose creators "works the same on every screen" was a mantra from
the start.