Date: Fri, 20 Feb 1998 15:32:40 -0500 From: Richard Kelsey Subject: R5RS X-UIDL: 2a40611ceb56b11615b99d069ecf7e07 The long-awaited R5RS is available by anonymous ftp at "ftp.nj.nec.com" in the directory "/pub/kelsey/". The document is available in the following forms: r5rs.ps PostScript file r5rs.dvi DVI file r5rs.tar TAR file of the LaTeX source There are also compressed (".gz") versions of the above. Date: Thu, 16 Apr 1998 09:09:27 -0400 From: Richard Kelsey Subject: publication of R5RS X-UIDL: ed82f3133b8ace641ed92e02c049b040 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. -Richard 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. - Semantics of CALL-WITH-CURRENT-CONTINUATION 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 CALL-WITH-CURRENT-CONTINUATION. - 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. - PORT? 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.