[plt-scheme] to define, or to let

From: Felix Klock's PLT scheme proxy (pltscheme at pnkfx.org)
Date: Sun Mar 21 18:20:11 EST 2004


On Mar 21, 2004, at 5:55 PM, Paul Schlie wrote:
> Understood, however unambiguous evaluation semantics don't preclude an
> implementation's ability to parallelize the evaluation of code which 
> has
> been formally determined not to have interdependencies.
> Relying on the code's author to give an implementation the liberty to
> evaluate code in any order deemed to be convenient regardless of 
> potential
> ambiguities which may result, seems more like an license to produce a 
> shoddy
> implementation without the necessity of analysis that would otherwise 
> be
> required to guarantee unambiguous results, which every programming 
> language
> should be specified to require, otherwise it's broad usefulness is 
> likely
> questionable.
> ...

I don't think that Bradd was referring to giving the implementation 
more freedom, even if that was the original motivation for leaving so 
much unspecified in RnRS.

His essay, to me, seemed to promote the idea of the code directly 
stating that there do not exist sequencing dependencies in the 
expressions, e.g. by the programmer choosing to use LET instead of 
LET*.  This way, other people reading the code can think, "okay, when 
Bob wrote this, he believed that all of the expressions can be 
understood independently of each other."

In practice, this may be the wrong choice to make when choosing 
language constructs.  But it is distinct, in my mind, from 
implementation concerns.


"I don't get it; that chimp was alive when I
  put it in her bedroom closet"  -www.redmeat.com

Posted on the users mailing list.