[R6RS] safe and unsafe; declarations
William D Clinger
will at ccs.neu.edu
Tue Feb 28 15:32:48 EST 2006
> > > If exceptions like syntax or type errors can be rasied at compile time,
> > This detail has whizzed by me a couple of times, and Will and you seem
> > to regard it as self-evident, but I'm not sure I understand it. What
> > exactly does this mean in the context of what we're envisioning for
> > R6RS? Can I catch a compile-time exception? (Outside of EVAL, that
> > is.)
> I don't know if the exception system will provide a mechanism for
> compile-time (or expand-time, or load-time) exceptions, outside of eval
> (and load), to be caught. Even if it doesn't, that doesn't mean such
> exceptions can't be raised.
I'd suggest that systems be required to raise some
kind of &syntax exception for syntax errors. If
the &syntax exception is raised at run time, as is
likely in interpreted systems, then the &syntax
exception will be handled in the usual way.
If the &syntax exception is raised at compile time,
then it will be handled by whatever exception handlers
are in place at compile time. I don't think the R6RS
should specify the behavior of compile-time exception
handlers. Leaving those handlers unspecified means
compilers can do whatever they want with syntax and
type errors detected at compile time.
I don't have a problem with that.
More information about the R6RS