Obviously Will was not suggesting that compilers reject programs that cannot be proven to terminate.
On 2/24/07, Thomas Lord <[EMAIL PROTECTED]> wrote:
I think the standard has failed to be a lisp, and failed in the Scheme tradition, if it does not permit viable non-standard interpretations of programs which are divergent under the standard (see my earlier post "Mathematical Foundations"). For example, suppose that a procedure which is not provably terminating in a portable interpretation has the property that, nevertheless, we can say that *if* it terminates, the type of the return value is CHAR?. Further, suppose the procedure is invoked in a context that is only strict in the type of the return value. Must R6RS prohibit an implementation from completing this computation? Before answering, please read "On Games and Numbers". Regards, -t Arthur A. Gleckler wrote: > On Feb 24, 2007, at 4:54 PM, William D Clinger wrote: > >> Matthias Felleisen wrote: >>> 2. Naturally I don't reject type systems per se but I think that a >>> serious >>> language definition shouldn't introduce such systems without >>> specifying >>> them. Otherwise a language/implementation will appear whimsical to >>> programmers. >> >> The current draft already mandates hundreds of runtime >> exceptions whose whimsical purpose is to make programs >> that violate the requirements of the R6RS less likely >> to run to completion. Why should that kind of whimsy >> be limited to run time? > > My only concern is that an error in one part of my program should not > prevent me from running another part of the program. The thing I most > dislike about most statically typed language implementations is that > they prevent me from testing a program that isn't yet completely > type-correct when I'm not even planning to invoke the broken part of > the program. I suppose that this suggestion only allows, but doesn't > require, compiler writers to signal errors it can detect at compile > time. Still, I'd rather not encourage this behavior if it makes it > impossible to run programs that are not yet completely correct. > > _______________________________________________ > r6rs-discuss mailing list > [email protected] > http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss > _______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
-- ~jrm _______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
