[R6RS] Re: smaller condition hierarchy

Michael Sperber sperber at informatik.uni-tuebingen.de
Mon Jul 24 12:24:53 EDT 2006


Here's my suggestion on the smaller condition hierarchy, starting from
Matthew's proposal:

&condition
  &message
    &warning
  &user
  &serious
    &error
      &non-continuable   ; handler wasn't expected to return
      &implementation-restriction
      &i/o (see below)
    &violation
      &nonstandard
      &implementation-restriction
        &no-infinities   ; cannot represent +inf.0, -inf.0
        &no-nans         ; cannot represent +nan.0, -nan.0, nan.0
      &defect
        &lexical
        &undefined
        &contract

I've made three changes to Matthews proposal:

- I've dropped &network, as we don't have any networking functionality
  in R6RS.

- I've re-added &implementation-restriction, &no-infinities, &no-nans.
  (And I assume we expect those to be continuable.)

- I think it makes sense to have finer granularity for I/O errors, as
  these might actually have different handlers.  Here's what the
  current SRFI 79 and 81 drafts have, with slightly different names:

&error
  &i/o-error
    &i/o-read
    &i/o-write
    &i/o-closed
    &i/o-invalid-position
    &i/o-port (has a port field)
    &i/o-filename (has a filename field)
      &i/o-file-protection
        &i/o-file-is-read-only
    &i/o-file-already-exists
    &i/o-no-such-file
&violation
  &i/o-operation-not-available

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



More information about the R6RS mailing list