1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
|
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 \<line ending><intraline whitespace>) 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 <library reference>) to <import spec> 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 <string element> -> <newline>
- 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)
|