formal language descriptions

Steven Ryan smryan at garth.UUCP
Sat Aug 13 05:59:29 AEST 1988


>nit-pick; when I say "uninitiated", I'm not talking about an eight-year-old,
>but about a reasonably competent programmer.  Such a person can read a
>language definition written in English, but most such people aren't

Again, look at everything else here. Well, perhaps we can read K+R, but
do we agree on what we read?
 
>It is also a booby-trap which has been loudly criticized, even by prominent
>mathematicians, for making the literature of the field useless to anyone
>but narrow specialists.  Concise formalisms are necessary but not sufficient.

Because it is hard, therefore it should not be done.
It is hard to comment a program, therefore it shouldn't be done.

No direct response to assertion that is done to keep the writer honest and
perhaps that's why language designer avoid it.
 
>>And misunderstood. Read this group. Read your own postings...
>
>Formal definitions are not at all immune to many kinds of misunderstandings.
>The Peano axioms, no, but a real language definition, yes:  it shares the

Reminds me of the stories of end of last century. An intrinsically difficult
subject remains difficult no matter how it is presented. But formalisation
makes it possible to argue rationally over some point. The question can be
resolved by examining the arguments within the context of a public
definition.

Instead it's a question of let's run it on Sun or Vax or ... and see what
they give us.

>>Unix smells. An unwillingness to face that this is an intrinsically difficult
>>occupation is part of the problem, not part of the solution.
>
>Intrinsically difficult, maybe.  But it is made much worse by people who
>write their language definitions to be read by God, not humans.  Such

It is also made worse by people who write their language definitions for
eight year old illiterates instead of programmers.

By the way, had anybody every gotten PIC or EQN or TBL or even TROFF to
work right on the first try?

>I would, actually, support a style of language definition in which there
>was a formal definition accompanied by a *complete* informal exposition
>of the definition, which had been carefully checked for consistency with

Have you seen The Turing Programming Language? Its with a tutorial, an
informal reference, then context free syntax, context sensitive contraints,
and finally the formal semantics.

The problem however with maintaining complete consistency assumes the
same information is available in both forms. How many bookshelves would
be required for a complete and consistent C definition written in
accessible English?



More information about the Comp.lang.c mailing list