[plt-scheme] Re: [Larceny-users] side effects in R6RS modules

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Tue May 5 19:30:25 EDT 2009

This makes a lot of sense.

As I teach my students, when you discover that a unit test fails,
you must consider one of three possibilities:
  -- the unit is faulty
  -- the expected outcome of the unit test is faulty
  -- both are faulty.

This applies in language definitions, too, just more so.

On May 5, 2009, at 7:14 PM, hendrik at topoi.pooq.com wrote:

> On Tue, May 05, 2009 at 06:21:20PM +0300, Abdulaziz Ghuloum wrote:
>> On May 5, 2009, at 5:44 PM, Matthias Felleisen wrote:
>>> In PL, such questions should be decided via mathematical models that
>>> do not depend on machines and compilers. That's the only way to  
>>> truly
>>> disambiguate the English in a spec.
>>> For whatever reasons, the editors moved the only piece of  
>>> mathematics
>>> semantics (which doesn't include modules and macros) to the  
>>> appendix,
>>> for reasons that still escape me. Well, they don't really. If you
>>> don't have a tool for arbitrating two distinct interpretations of
>>> an informal document, you can always claim that both are correct and
>>> if you so desire, you can claim one of them is, eh, smart? :-)
> Long ago, I chaired an ISO committee that issues a technical report to
> guide people devising programming language standards.  We recommended
> that a language definition include both formal (mathematical) and an
> informal (natural language) definitions.  The question came up  
> which was
> to be authoritative in case of a conflict.  The recommendation was  
> that,
> in case of a conflict, the language definition should be deemed to  
> have
> an error;  said error should be resolved by whatever procedures  
> would be
> invoked for any error in a standard.
> Thus the double definition is to be taken as a matter of  
> redundancy, so
> that typos and such would be unlikely to change the language.
> -- hendrik
> _________________________________________________
>   For list-related administrative tasks:
>   http://list.cs.brown.edu/mailman/listinfo/plt-scheme

Posted on the users mailing list.