[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

publication of R5RS

I have arranged for R5RS to be published in the journal `Lisp and
Symbolic Computation' and in SIGPLAN Notices.  

In reponse to issues raised here and on comp.lang.scheme I have
appended the following short list of clarifications and corrections
to the end of the report.

Clarifications and corrections

Several inconsistencies in this report have been pointed out since
its initial publication on the World-Wide Web.  This section addresses
the most important of them.


The definition of CALL-WITH-CURRENT-CONTINUATION in Section 8.2 is
incorrect because it is incompatible with DYNAMIC-WIND.  As shown in
Section 4 of [1], however, this incorrect semantics is adequate to
define the  SHIFT and RESET operators, which can then be used to
define the correct semantics of both DYNAMIC-WIND and

- Redefinition of keywords

As stated in Section 3.1, keywords are not reserved.  The grammar
specified in Section 8.1 is thus somewhat misleading because a
program may redefine any or all syntactic keywords.  In particular,
it is possible to use any identifier as a variable.


Section 4.2 includes PORT? in the list of predicates defining disjoint
types; there is no such procedure.  INPUT-PORT? and OUTPUT-PORT? should
be included in this list of predicates.  An object may satisfy both
INPUT-PORT? and OUTPUT-PORT?, but cannot satisfy any other pair of
predicates in this list.

[1] Andrzej Filinski.
    Representing Monads.
    In `Proceedings of the 1994 ACM SIGPLAN-SIGACT Symposium on
    Principles of Programming Languages', pages 446-457.