Xref: utzoo comp.lang.c:30545 comp.lang.fortran:3445 Newsgroups: comp.lang.c,comp.lang.fortran Path: utzoo!henry From: henry@zoo.toronto.edu (Henry Spencer) Subject: Re: Semantic defintions in standards Message-ID: <1990Jul26.170310.2984@zoo.toronto.edu> Organization: U of Toronto Zoology References: <9848@hubcap.clemson.edu> Date: Thu, 26 Jul 90 17:03:10 GMT In article khb@chiba.Eng.Sun.COM (chiba) writes: > Are there any attempts to use any of the ``formal semantics'' methods? > >It is my understanding that the ISO Modula work uses VDM. Most other >standards bodies, that I am aware of, do not employ "formal semantics" >techniques. The problem with formal semantic specifications is that most programmers cannot read them. A standard, ideally, is a contract between the user and the implementor, telling the user what he can count on and what he shouldn't, and the implementor what he is allowed to do and what he is forbidden to even consider. As with any contract, you have a choice of writing it in formal, precise language that only lawyers understand, or doing the best you can on precision while keeping it human-readable. Making a human-language standard precise and unambigous is difficult, but a formal-language standard is inaccessible to many of the people who need it most. Most language designers and standards committees prefer widely-accessible documents. Arguably more programmers *should* be able to read formal specs. The fact is, they can't. One either lives in the real world, or not. Oddly enough, most widely-used languages were designed by people who favored living in the real world. -- NFS: all the nice semantics of MSDOS, | Henry Spencer at U of Toronto Zoology and its performance and security too. | henry@zoo.toronto.edu utzoo!henry