[plt-scheme] to define, or to let
Anton, you're asking to allow programmers to specify a (currently)
uncheckable intent. So, clearly we need more research on how to make
such intent checkable in order to detect buggy programs. Good, get
cracking. :)
But, until you are done and we can detect such errors we must take
programmers at their "word" which, in my opinion, is a bad idea. In an
implementation that is aggressive about re-ordering such things, it
becomes very hard to ensure reliability since the behavior of the
program may change in weird ways based on the environment in which it
runs. To my mind, the safer point in the design space is a fixed order
of evaluation. At least your program's behavior will be predictable so
you can write test suites, etc.
Robby