This page is part of the web mail archives of SRFI 12 from before July 7th, 2015. The new archives for SRFI 12 contain all messages, not just those from before July 7th, 2015.
R5RS states that implementations are not required to detect error situations referred to as "an error". Implementations are also not required to detect violations of implementation restrictions. What does it mean to be "consistent with the semantics of Scheme" in terms of section 1.3.2 of R5RS? Is it possible for an implementation to comply with SRFI-12 and still crash on (car '()) or run out of memory without raising some kind of exception? There are only seven procedures required by R5RS to "detect and report" errors: scheme-report-environment null-environment ("version not supported") call-with-input-file call-with-output-file open-input-file open-output-file ("cannot open file") read ("eof inside datum") Since SRFI-12 requires an implementation to raise an exception in these situations, I believe it should specify predicates to recognize these exceptions and procedures to extract components (file-open-error? file-open-error-filename etc.) I also think that SRFI-12 should clarify that raising the corresponding exception is the only observable effect of "reporting" in these cases. Sergei