[R6RS] my notes on today's conference call (27 November 2006)

William D Clinger will at ccs.neu.edu
Mon Nov 27 10:00:18 EST 2006


Conference call November 20 2006 8:00am-10:00am
All present by 8:02am:
Kent, Matthew, Will, Anton, Mike

Conference call November 27 2006 8:00am-9:00am EDT
All present by 8:03am:
Kent, Matthew, Mike, Anton, Will

0. finalize agenda (1 minute)

1. action items (5 minutes)
   - split the report into base and libraries (Mike)
        in progress; LaTeX issues
   - reformat front page to reflect editor/author roles (Mike)
        begun
   - email steering committee re: front page (Kent)
   - draft responses by Wednesday November 29 (All)
        mostly done
   - email editors re: formal comment response process (Kent)
        (actually done in Will's 11/20 meeting notes)
   - draft "readability principle" for R6RS (Will)
        done
   - insert readability and other guiding principles from
     status reports into draft R6RS (Mike)
        not yet (Will sent draft just last night)

2. closed tickets (5 minutes)
   - suggest we vote on first batch of closed tickets on Wednesday
     - technical vote; vote on actual response comes when response has
       been written
   - in the meantime, look for any that should not be closed
   - ticket numbers:  4 13 15 16 19 20 21 23 24 29 30 31 32 33 34 35 37 43
     44 50 53 54 55 56 74 85 93 101 102 103 116 119 121 125 133

3. done, probably uncontroversial (critical/yellow) tickets (5 minutes)
   - suggest we vote on these Wednesday
     - technical vote; vote on actual response comes when response has
       been written
   - in the meantime, change priority of any you think are controversial,
     adding a note to explain why
   - ticket numbers:  5 8 10 11 12 14 22 60 67 94 98 112 120 129 134

4. we have to discuss it, first (minor/cyan) tickets (5 minutes)
   - suggest we take a straw poll on these Wednesday
        no, we already have enough to do on Wednesday,
        and it isn't clear with these what the vote would mean
   - in the meantime, add your own notes or email group
   - ticket numbers:  7 17 18 25 26 28 38 39 40 41 42 49 51 57 58 59 63 64
     65 66 70 72 76 79 80 81 82 90 92 95 96 99 100 104 105 108 109 110 115
     118 122 124 126 127 131 132

5. suggested response/action, but needs discussion (major/white) tickets (5 minutes)
   - suggest we take a straw poll on these Wednesday
   - in the meantime, add your own notes or email group
   - ticket numbers:  6 27 36 45 46 47 52 61 62 68 69 71 73 75 77 78 84 86
     87 88 89 97 106 107 111 113 114 117 123 128 130

6. "don't know" but should should be easy (blocker/red) tickets (5 minutes)
   - discuss these now
   - tickets:
     - 9 (backslash-linefeed)
        accept
     - 95 (condition hierarchy)
        accept

7. I'm stumped for the moment (trivial/blue) tickets (10 minutes)
   - discuss these now
   - tickets (may evaporate by Wednesday):
     - 83 (Add a multi-file library example)
        possible library-to-file mappings could be mentioned in appendix
        include doesn't seem like the right thing
        for SSAX, see how it's done in PLT Scheme
        private libraries: leave for R7RS

8. Discussion of controversial issues (remaining time)
   - ground rules
        discuss only concrete proposals
            (which we can make even if we don't advocate them)
   - nomination for items to discuss first (some possibilties below, grouped)
   - #26: Map and for-each should work even if lists are of unequal length
     #25 "forall" and "exists" should use SRFI-1 equivalents
     #42 Requirement to detect circular lists
     #41 Plausible lists presentation defect
     #36 Ambiguous call/cc-behaviour of list operations
     #45 last-element behavior of for-each
     #48 Slight defect in plausible alist description
     #49 Higher-order procedures should not interfere with exceptions
     #87 Reduce over-specification as well as under-specification
     #100 forall should be for-all for consistency with for-each
            accept this one
     #130 Multiple versions of one library should be linkable
   - #52: Exact-Integer and Real (and Complex) are more useful
          distinctions than Exact and Inexact; combine with:
     #40: Exactness is orthogonal to type
     #27: Some generic arithmetic procedures should be put in a library
   - #61: Expansion process violates lexical scoping; combine with
     #62: Lexical scoping violation for internal define-syntax.
   - #84: Eliminate compound library names
   - #87: Reduce over-specification as well as under-specification
   - #89: Leave readers and writers out of the report
   - #106: #! /usr/bin/env is not portable.  It's Unix-specific.
            non-normative; banish to appendix
            keep command-line-arguments
            stop talking about scripts; talk about programs
            disallow multiple definitions of same identifier
            definitions can still be interspersed with expressions
                (Kent thinks we should have definitions at front,
                but one could interpret a program as a library by
                adding dummy definitions for all expressions)
            programs are not a replacement for R5RS top level,
                which most systems will continue to have;
                this should be said in the document
     #105: Scheme is not a scripting language
     #51: Conflating programs with scripts
     #39: Script-body differences
            should revisit this one
            reject formal comment, but give rationale
            rationale for differences:
                mixing definitions with expressions
                    has several possible semantics, and has
                    been confusing historically
                libraries generally represent reusable code,
                    for which the labor involved in putting
                    definitions before expressions is amortized
                    over reuse
                some programs are throwaway code, for which the
                    syntactic annoyance of putting definitions
                    before expressions might represent some
                    measurable fraction of the five minutes
                    spent on writing the program
                besides, libraries can be combined using import;
                the only way to combine programs is concatenation,
                    which wouldn't create a program if definitions
                    were required to precede expressions
     #38: Position-significance of declarations in scripts
            declarations should be allowed only at front of scripts
   - #107: Scheme should not be changed to be case sensitive
            Mike's draft response is exactly right
   - #123: Replacing the import's "for" syntax with implicit phasing
     #92: Phase semantics
     #109: identifier-syntax is not a derived form
     #110: Remove double phase semantics
   - #117: Bodies should be more widely permitted
   - #126: local imports
   - #128: Declarations do not belong in the report; combine with
            accept
            safety guarantees holds regardless
            non-normative appendix says implementations may provide
                ways to negate the safety guarantees
     #64: Declarations don't seem to be designed for real-world needs
     #77: Querying Declaration Quality Priorities
   - #130: Multiple versions of one library should be linkable
   - #78: Rationalize the various iteration procedures
            fix hash-table-fold
            drop hash-table-keys, hash-table-values
            what about hash-table->vector ?
                favorable response to this
            add vector-fold (SRFI 43?);
                Mike, Kent, and Will don't like this
            add vector-for-each ?
                yes
            what about vector-map ?
                yes
            does the procedure take the index, or just the element?
                vector-walk takes index and no element
                    why not just dotimes?
                    could be in a SRFI
                vector-for-each takes an element only
                vector-map takes an element only
            premature termination?
                that's what call/cc is for
            drop hash-table-fold etc
            use hash-table->vector
            rely on vector-map, vector-for-each
                composition with hash-table->vector
                could be optimized if anyone cares

9. adjourned sometime after 9:53am
    (I was disconnected at 9:53am)



More information about the R6RS mailing list