[r6rs-discuss] [Formal] Allow compilers to reject obvious violations

Arthur A. Gleckler arthur at zurich.csail.mit.edu
Mon Feb 26 15:39:45 EST 2007


On Feb 26, 2007, at 11:48 AM, Pascal Costanza wrote:

> By your accounting, I am in that list. I don't regard myself in  
> that list, so I am sorry if I have given the wrong impression here.  
> I'll try to clarify: Implementations should be given discretion to  
> both run parts of programs even if other parts appear to be  
> incorrect, as well as to completely reject running programs that  
> are provably incorrect. I regard this a quality feature of an  
> implementation, and it should be left to the "market" which  
> approach "wins." It shouldn't be part of a language specification,  
> IMHO.

Just to be clear, do you mean "...as well as to completely reject  
running [entire] programs that [contain parts that] are provably  
incorrect?"  That's the distinction I'm worried about.

I don't mind if this program can't run:

   )(*$#%()*#$

I just want to be able to test FACTORIAL in this program without  
having to fix FOO:

   (define (factorial n) (if (< n 2) 1 (* n (factorial (- n 1)))))

   (define (foo) (factorial))

Of course, this is a contrived example.  This problem only becomes  
important when FOO is a large body of code, not just a one-liner.



More information about the r6rs-discuss mailing list