R6RS Formal Comments & Responses

Round 1

Formal comments which were submitted by November 15th, 2006 are listed below. Each comment is numbered for reference purposes. Comments are linked to a text file containing the text of the comment, followed by a "RESPONSE:" heading, followed by the editors' formal response.

  • Comment #4: Scheme and Common Lisp are not the only statically-scoped Lisp dialects
  • Comment #5: Implementing Common Lisp's defmacro is not straightforward
  • Comment #6: Applicable record instances
  • Comment #7: Additional LAZY primitive for delayed evaluation
  • Comment #8: Unclear how equality predicates behave on NaN
  • Comment #9: backslash-linefeed
  • Comment #10: #;<datum> comments useless
  • Comment #11: NaN is not a real number
  • Comment #12: R6RS library syntax should include a standard format for importing SRFI libraries
  • Comment #13: Definition of <constituent> omits characters of category Ll
  • Comment #14: <hex scalar value> should allow only 6 digits
  • Comment #15: "Unicode scalar value" is preferred to "scalar value"
  • Comment #16: Omitted word in last graf of 3.2.2
  • Comment #17: "An exception might be raised" considered confusing
  • Comment #18: String exit codes should be allowed
  • Comment #19: Summary: letrec* and letrec explained identically in 9.5.6
  • Comment #20: "regular expression" confusing in 9.5.7
  • Comment #21: "Unicode 9" etc. is bad wording
  • Comment #22: U+0085 is whitespace
  • Comment #23: file-options should be a procedure, not syntax
  • Comment #24: U+FFFD is not meant for encoding errors.
  • Comment #25: "forall" and "exists" should use SRFI-1 equivalents
  • Comment #26: Map and for-each should work even if lists are of unequal length
  • Comment #27: Some generic arithmetic procedures should be put in a library
  • Comment #28: {real,rational,integer}-valued procedures need a rationale.
  • Comment #29: Missing comma in "Arithmetic Expressions" on p. 39
  • Comment #30: The definition of standard-{output,error} port speaks of input
  • Comment #31: 6 with ring above on p. 122
  • Comment #32: The definition of eval needs refining
  • Comment #33: Typo in definition of the sign function
  • Comment #34: forall and exists description and examples
  • Comment #35: Equivalence predicate version of memp
  • Comment #36: Ambiguous call/cc-behaviour of list operations
  • Comment #37: Multiple value expressions in scripts
  • Comment #38: Position-significance of declarations in scripts
  • Comment #39: Script-body differences
  • Comment #40: Exactness is orthogonal to type
  • Comment #41: Plausible lists presentation defect
  • Comment #42: Requirement to detect circular lists
  • Comment #43: (+ x 42) adds 42 to x, not x to 42
  • Comment #44: 'of course' should not be used in the report
  • Comment #45: last-element behavior of for-each
  • Comment #46: LF should not be the only line separator
  • Comment #47: Add (sort) and (vector-sort!) procedures
  • Comment #48: Slight defect in plausible alist description
  • Comment #49: Higher-order procedures should not interfere with exceptions
  • Comment #50: "inexact-make-rectangular" => "inexact-make-polar" in example
  • Comment #51: Conflating programs and scripts
  • Comment #52: Exact-Integer and Real (and Complex) are more useful distinctions than Exact and Inexact
  • Comment #53: letrec* vs. letrec
  • Comment #55: Typo: occurrence of syntax-object->list in example.
  • Comment #56: Minor omission (from library syntax keyword list)
  • Comment #57: Minor "typos" in section 20.3
  • Comment #58: only 'big' and 'little' as endiannness may not be enough
  • Comment #59: Vector size in the read syntax
  • Comment #60: Declarations break lexical scoping
  • Comment #61: Expansion process violates lexical scoping
  • Comment #62: Lexical scoping violation for internal define-syntax.
  • Comment #63: Blame assignment for contract violations
  • Comment #64: Declarations don't seem to be designed for real-world needs
  • Comment #65: eq?/eqv? misbehave around NaNs
  • Comment #66: The implicit cond in guard expressions is not a good idea
  • Comment #67: The definition of flonum is in the wrong place
  • Comment #68: R6RS must provide a UTF-16 codec, because UTF-16 is an essential encoding
  • Comment #69: FIND delivers an ambiguous value
  • Comment #70: No rationale for (r6rs enum)
  • Comment #71: String operations need more complete specification
  • Comment #72: A record-type-length procedure is suggested
  • Comment #73: Record nongenerative UID should be library name where record is defined
  • Comment #74: Base library needs a name
  • Comment #75: Simplifying conditions
  • Comment #76: Clean up make-transcoder to accept three symbol arguments
  • Comment #77: Querying Declaration Quality Priorities
  • Comment #78: Rationalize the various iteration procedures
  • Comment #79: Rename generate-temporaries to generate-symbols (or generate-identifiers)
  • Comment #80: Correct I/O Interface Inconsistencies
  • Comment #81: Change the "add-prefix" import syntax in libraries
  • Comment #82: Change the "for" import syntax in libraries
  • Comment #83: Add a multi-file library example
  • Comment #84: Eliminate compound library names
  • Comment #85: assorted small fixes and minor suggestions
  • Comment #86: Legal libraries cannot be imported
  • Comment #87: Reduce over-specification as well as under-specification
  • Comment #88: Improve port i/o
  • Comment #89: Leave readers and writers out of the report
  • Comment #90: Record layers are not orthogonal
  • Comment #91: inf.0 and nan.0 should remain symbols
  • Comment #92: Phase semantics
  • Comment #93: Protocol environment
  • Comment #94: Illegal null cases in import syntax
  • Comment #95: Condition hierarchy
  • Comment #96: Hashtable issues
  • Comment #97: Provide another formal comment period once the spec has settled down
  • Comment #98: inconsistent use of prefixes: "fixnum-", "fx", and "fl"
  • Comment #99: "Byte-vector" would be a better name than "bytes" for a data type
  • Comment #100: forall should be for-all for consistency with for-each
  • Comment #101: Phrasing in 14. Exceptions and conditions is unclear
  • Comment #102: inconsistent punctuation
  • Comment #103: In <5.6 Naming conventions>, mention the "&" convention for condition types
  • Comment #104: Add bytes-fill! procedure analogous to vector-fill!
  • Comment #105: Scheme is not a scripting language
  • Comment #106: "#! /usr/bin/env" is not "portable." It's Unix-specific.
  • Comment #107: Scheme should not be changed to be case sensitive
  • Comment #108: In <field-spec>s of define-record-type, field name should appear first
  • Comment #109: identifier-syntax is not a derived form
  • Comment #110: Remove double phase semantics
  • Comment #111: syntax-rules should evaluate to a transformer
  • Comment #112: Lexical determination of phases
  • Comment #113: fenders should be dropped from syntax-rules
  • Comment #114: identifier macros with syntax-rules
  • Comment #115: Bytes<->vector procedures are requested
  • Comment #116: <symbol escape> undefined
  • Comment #117: Bodies should be more widely permitted
  • Comment #118: The value of set! et al. is overspecified
  • Comment #119: Clarify the description of which continuations take multiple values
  • Comment #120: Clean-up in the additional arithmetic libraries
  • Comment #121: Instances of acos are missing
  • Comment #122: Allow real->single and real->double to convert complex numbers
  • Comment #123: Replacing the import's "for" syntax with implicit phasing
  • Comment #124: Please give us file-exists? and delete-file
  • Comment #125: Quasiquote should support unquotation within bytes object
  • Comment #126: local imports
  • Comment #127: Dropping rename and add-prefix from libraries
  • Comment #128: Declarations do not belong in the report
  • Comment #129: Provide a way to define nongenerative records without specifying <uid>
  • Comment #130: Multiple versions of one library should be linkable
  • Comment #131: separator spaces in dislay/write output
  • Comment #132: Shorter record definition
  • Comment #133: Minor error in library example
  • Comment #134: the CHAR? type - relaxing surrogate restriction
  • Comment #136: Trivial Enhancement of macros in v5.91: capture-syntax

  • 15 Dec 2006