changes between R5.96RS and R5.97RS: Editorial changes: - significantly revised the description of the syntactic record layer - revised the description of constructor descriptors in the procedural record layer - clarified description of the respective roles of the syntactic record layer - provided human-language descriptions of many bitwise procedures - an introductory section on `call-with-current-continuation' was added to the overview chapter - a diagram showing the standard condition hierarchy was added - reworded port-position to avoid implication that textual port that supports port-position must also support set-port-position! - ports created by open-string-input-port now "should" support port-position and set-port-position! (was "implementation dependent") - the non-normative appendix on file-system mapping was alided Substantive changes: - specified tail contexts for ` guard', `when', `unless', `case-lambda', and `syntax-case' - added `parent-rtd' clause to `define-record-type-descriptor' form - changed implementation responsibilities for transformer expressions so that they should only be checked for non-transformer-ness - weakened the equivalence for `put-datum' / `get-datum' - the response to Formal comment #9 (concerning \) was properly implemented - the specification of representations of inexact real number objects that contain no vertical bar was adjusted changes between R5.95RS and R5.96RS: Substantive changes: - made encoding and decoding exceptions non-continuable, and removed the protocol exception handlers could use to address the decoding/encoding error - made `replace' the default error-handling mode of transcoders - included # in the set of delimiters - removed empty delimiter - removed # in place of digits from number representations - changed "must" on prohibiting multiple versions of the same library to "should" - added (library ) to to resolve ambiguity - made #!fold-case and #!no-fold-case operate at the lexeme level rather than the level of syntactic datums - pluralized library names where applicable - specified enumeration syntax to only look at the name of the argument, not its binding Editorial changes: - revised the specification of `dynamic-wind'; added definition of "dynamic extent" - revised the specification of generic arithmetic - reorganized chapter on "Semantic concepts" and "Notation and terminology" into a separate chapter "Requirement levels", an expanded chapter "Semantic concepts" and a new chapter "Entry format" - removed uses of "denote" - moved "primitive syntax" into its own chapter - added non-normative appendix non suggested use of square brackets - added note in non-normative appendix on implementations that allow multiple versions of the same library to coexist - removed (6) from (rnrs ...) library imports in the examples - added non-normative appendix on use of library versions - renamed "meaningless flonum" to "unspecified flonum" - auxiliary identifiers such as ... and _ now have their own entries - clarify `put-datum / get-datum' invariance changes between R5.94RS and R5.95RS: Editorial changes: - added a separate rationale document - moved background section and rationale paragraphs to rationale document - removed a superfluous production -> - clarified that `inexact' may return infinite number for finite argument - clarified that `string->number' can't raise an exception - clarified that `set-port-position!', for textual ports, is only guaranteed to work on positions *from the same port* - noted that `equal?' and `equal-hash' must always terminate - revised the terminology describing numbers Substantive changes: - textual ports must no longer have an associated transcoder - reverted the semantics of `eqv?' to the state of R5.92RS, except for procedures, which continue to carry *no* location tag - extended `flexpt' for negative fl1 if fl2 is an integer - (exit #f) now means an abnormal exit - renamed (rnrs i/o ...) libraries to (rnrs io ...) - renamed `&i/o-file-exists-not' to `&i/o-does-not-exist' - reinstated #\newline - `utf16->string' and `utf32->string' were extended according to http://lists.r6rs.org/pipermail/r6rs-discuss/2007-May/002399.html - a bogus `obj' argument from `make-assertion-violation' was removed changes between R5.93RS and R5.94RS: - added report with non-normative appendices Editorial changes: - added reference for "endianness" - fixed ordering issue with `letrec' and `letrec*' specifications - synchronized descriptions of levels of exported identifiers - replaced "datums" by "data" - miscellaneous changes and typo fixes - revised description on "entry format" and "argument and subform checking" - clarified description of `eq?' and `eqv?' - deleted mention of "implementation-specific declarations" - improved description of `apply' - made the example `defun' macro actually look like `defun' - added more complete acknowledgements to the front page of the report - properly referenced `identifier-syntax' in section on macro uses - noted that #\newline has been removed - various miscellaneous changes and corrections Substantive changes: - (belatedly) deleted `real->single' and `real->double' (Formal comment #122) - (belatedly) change `flmin' and `flmax' to always return an inexact NaN when one or more of the arguments is a NaN (Formal comment #230) - (belatedly) make bytevectors self-evaluating (Formal comment #154) - (belatedly) add `make-custom-textual-input/output-port' (Formal comment #225)