[R6RS] Safe/unsafe mode question

Michael Sperber sperber at informatik.uni-tuebingen.de
Tue Jul 4 14:07:46 EDT 2006


I have a really naive question: Couldn't the safe/unsafe mode
distinction be provided via the module system?  Like so:

- In an import form, you can specify the desired safety / debug /
  etc. level you like, and you get something like "the safe version of
  the R6RS core" or the "unsafe version of the list library".

- In a module body, you (optionally) designate a definition to only
  apply to a (set of) safety / debug / etc. settings.

This leaves a burden with the implementor of a module to ensure some
kind of semantic consistency between the different variants, but that
consistency seems already tenuous with the existing proposals.

The only issue I can see with this is that it doesn't easily allow
specifying different safety levels for procedure applications.  But
this could (easily?) be fixed by giving a virtual identifier to the
application operator, as, I believe, is done in PLT Scheme.

I guess this would bring us closer to Kent's proposal than Will's.  It
seems Will's objections are mostly ambiguities in Kent's proposal
(such as whether the responsibility for arity checking is with the
caller or callee), but my impression is that this is a matter of
specification.

I'm sure I'm missing something major---could someone point it out to
me? 

-- 
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla



More information about the R6RS mailing list