Re: Languages: The Bigger the Uglier (was: Re: Aliasing in ISO C)

jgm@CS.Cornell.EDU (Gregory Morrisett)
19 Feb 1996 23:40:02 -0500

          From comp.compilers

Related articles
Possible to write compiler to Java VM? (I volunteer to summarize) seibel@sirius.com (Peter Seibel) (1996-01-17)
Re: Aliasing in ISO C rfg@monkeys.com (1996-02-16)
Re: Aliasing in ISO C jplevyak@violet-femmes.cs.uiuc.edu (1996-02-16)
Languages: The Bigger the Uglier (was: Re: Aliasing in ISO C) rfg@monkeys.com (1996-02-19)
Re: Languages: The Bigger the Uglier (was: Re: Aliasing in ISO C) jgm@CS.Cornell.EDU (1996-02-19)
Re: Languages: The Bigger the Uglier (was: Re: Aliasing in ISO C) Martin.Jourdan@inria.fr (1996-02-21)
Re: Languages: The Bigger the Uglier (was: Re: Aliasing in ISO C) robison@kai.com (Arch Robison) (1996-02-21)
Re: Languages: The Bigger the Uglier (was: Re: Aliasing in ISO C) hbaker@netcom.com (1996-02-22)
Languages: The Bigger the Uglier (was: Re: Aliasing in ISO C) dave@occl-cam.demon.co.uk (Dave Lloyd) (1996-02-22)
Re: Languages: The Bigger the Uglier (was: Re: Aliasing in ISO C) gasser@ilw.agrl.ethz.ch (Laurent GASSER) (1996-02-23)
Re: Languages: The Bigger the Uglier (was: Re: Aliasing in ISO C) fabre@gr.osf.org (Christian Fabre) (1996-02-23)
[18 later articles]
| List of all articles for this month |

From: jgm@CS.Cornell.EDU (Gregory Morrisett)
Newsgroups: comp.compilers
Date: 19 Feb 1996 23:40:02 -0500
Organization: Cornell Univ. CS Dept, Ithaca NY 14853
References: 96-01-037 96-02-171 96-02-187 96-02-226
Keywords: C, standards, design

Ronald F. Guilmette <rfg@monkeys.com> wrote:
>I see only one solution. We must at some point introduce some
>disipline into the process of crafting languages and their standards.
>... We need
>to insist that language standardization committees write complete
>FORMAL SPECIFICATIONS for the arcane and baroque languages that they
>are trying to standardize.


Well, many of us in the programming language community have claimed
this for years. In particular, the family of ML languages come
equipped with formal, mathematical specifications. Though far from
perfect, these specifications are developed in a rigourous manner, and
properties (e.g., type correctness) are proven from the
specifications.


The definition of Standard ML (circa '89) is a 100 page booklet.
There are similar definitions for languages such as Scheme and
Modula-3. Each of these language definitions is small, concise, and
provides a complete [extensional] semantics for the languages in
question. Not to say that these are easy to understand manuals --
they're not meant as user's guides, but rather reference manuals.


In contrast, the ('83) Ada Reference Manual is around 400 pages and
barely manages to precisely specify the syntax of the language, much
less its semantics. This is because the designers of the language,
for reasons unknown to me, decided to use 1950's style English
specifications, complete with all the ambiguities inherent in the
specification language.


Providing a precise semantics for a language is not just something
for the "theoriticians" to do -- it really provides the basis for
a language -- a contract for both the implementors and the users.
Without one, the language is meaningless (pun intended).


-Greg
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.