[R6RS] my notes on today's conference call (22 March 2006)

William D Clinger will at ccs.neu.edu
Wed Mar 22 13:59:51 EST 2006

Conference call March 22 2006 starting about 12:45pm
all present by 12:49pm:
Kent, Anton, Matthew, Mike, Will

0. finalize agenda (1 minute)

1. action items from 3/15/2006 (5 minutes)
   - create and commit consolidated SRFI 34 + modifications (Mike)
   - look over proposed condition hierarchy and details (All)
   - propose core/base/non-base-library split of r5rs and r6rs features (Anton)
   - read SRFI-83 R6RS library syntax (All)
   - carried over:
     - read byte-vector, I/O SRFIs (Anton, Kent, Matthew, Will)
     - post note re: van Tonder syntax-case differences (Matthew)
        covered via email discussions
     - draft syntax-case SRFI (Kent) [by 3/29]

2. character escape syntax within strings (5 minutes)
    keep \n, \t, etc
    rename newline character to linefeed (its Unicode name)
        but keep \n as its syntax within strings
    #x<...> vs #x...;
        vote: go with #x...;

3. what subset of the symbols are allowed as identifiers (10 minutes)
    what is motivation?
        to discourage mischief and accidents:
            variables and expressions that look the same but aren't
    could restrict string->symbol instead
        would break 1-1 correspondence between strings and symbols
        is that really important?
    could revise symbol syntax to eliminate whitespace, parens, etc
        use hex escapes for all whitespace, punctuation, weirdness
        seems like a good compromise
        doesn't break correspondence between strings and symbols
        may allow us to flush vertical bar notation for symbols

4. libraries (10-20 minutes)
    Will's questions and example
        error in Will's library "B", can be fixed however
        (1 2 3 1 2 3) is the intended output
        when a library is invoked twice, a second copy of its
            variables is created
    two phases or infinitely many?
    affects syntax-rules as well as syntax-case
        SRFI 83: depends on how template is used
        "Does that make sense?"
        "Not much of this makes sense."
        SRFI 72's notion of phases is what Matthew had in mind
        SRFI 72 is stronger than 83 because it gives access to
            multiple phases within a single library (using
            nested begin-for-syntax around an import)
        Matthew recommended against arbitrary begin-for-syntax
            but sees no problem with begin-for-syntax just for
            imports, as part of the library syntax
        Chez Scheme has meta-syntax, meta-define-syntax, but
            it doesn't mean what you think it means (?!)
    what about a procedural macro that depends on a procedure?
        the procedure would have to be in another library
            and be imported for expand
    could flush language string and say library6 instead

5. I/O (10-20 minutes)
    what does this include?
    SRFI 81 (ports) and 79 (primitive io), not SRFI 80 or 82
    opening for both reading and writing
        buffering (and flushing the output buffer)
        closing (you can close one without closing the other)
    Using #f vs an eof object to indicate end of file
        read needs eof object
        read-char is an overlap
        convenience vs confusion and backward compatibility

6. core/library split (10 minutes, time permitting)
    no time left for this

for next week:
    core/library split

7. adjourned at 1:45pm

More information about the R6RS mailing list