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

RE: evaluation order rule

As per Jinx's reply:

    [paraphrase]: Breaking a rule is only illegal if someone sees you do it.

Thanks.  I had hoped I was just being too literal...  I get nervous when I
hear ``thou shalt not''.  In this case it seems no big deal, but I worry about
restrictions that may be too strong.

  Take for example the Anti-Aliasing Rule in Gifford & Lucassen's FX language:
it is intended to forbid undetected interferrence but it is worded to forbid
run-time detection&serialization of potentially interferring concurrent
threads (it forces them to signal an error instead).  Thus, stating a design
desiderata as a restriction without carefully stating the principle behind it,
although expedient, can be a precarious business.  [I believe the FX designers
intend to fix this deficiency in the next version of their language.]

 The evaluation rule as originally stated was careful to explain the lack of
serializing facilities in Scheme as the problem but it did so as a
rationalization for forbidding non-interleaving.  I had hoped that merely
adding the adjective DETECTABLE would be judicious and non-offensive.
Whatever.  Guess I just don't like rules.