[R6RS] my notes on today's conference call (26 April 2006)

William D Clinger will at ccs.neu.edu
Wed Apr 26 14:22:46 EDT 2006


Conference call April 26 2006 12:45pm
All present by about 12:46pm:
Kent, Matthew, Will, Anton, Mike

0. finalize agenda (1 minute)
    new agenda items:
        fold as possible addition
        exception issue

1. action items from 4/19/2006 (5 minutes)
   - withdraw Unicode SRFI (Matthew)
        not done yet
   - submit and (after comments) publish new Arithmetic SRFI (Will)
        committed but no comments yet
   - post note on syntax-case opacity issues (Kent)
        not done yet
   - update syntax-case SRFI, with reference implementation (Kent)
        not done yet
   - continue refining core/language split proposal (Anton)
        not done yet, in process
   - annoy people into commenting on proposed condition hierarchy (Will)
        done, but note was insufficiently annoying
   - send email proposing library modifications to allow subsetting
     supersetting, defining new libraries, and to allow for lexical syntax
     extensions or future changes (Anton)
        sent, no comments yet
   - post omnibus list of votes on outstanding issues (Kent)
        done
   - post symbol-based enumeration proposal (Will)
        done

2. reminder: omnibus vote list (2 minutes)
    votes due early next week
    goal is to get noncontroversial things out of way
    post votes to public list

3. arithmetic srfi changes (10 minutes)
    fixnum-specific and flonum-specific operations
    fixnum+ performs arithmetic on two's complement integers mod 2^N
    fx+ raises an exception rather than return an answer that might
        depend on the fixnum precision
    bitwise and shift operations
        not entirely consistent with SRFI 60,
            but the names are different so no outright conflict
    some shift operations accept both positive and negative shifts,
        but left-shifting and right-shifting versions that require
        non-negative shift arguments are also provided

4. procedures that accept finite set of values (10 minutes)
    issue started out as symbols vs enumerated values,
        e.g. when specifying endian-ness
    Will and Anton prefer using symbols
    but we still need sets for opening files
    so we still need the set part of Mike's proposal

5. formatted output (10 minutes)
    embarrassing not have formatted output
    no existing proposal that can be taken as is
    would be a little work to do it
    could be a SRFI, and considered for R7RS

6. void versus unspecific (5 minutes)
    purpose: allows portable code to recognize values that don't
        need to be printed
    related to whether we want set!, set-car!, etc to return:
        any unspecified value, as in R5RS
        some specific unspecified value, e.g. #!unspecific
        0 values
    returning 0 values might seem awkward for A-normal form,
        but A-normal form already has this problem with calls
        to unknown procedures; so long as implementations are
        allowed to coerce 0 or more than 1 return value into
        a single return value, A-normal form will still work

exception issue
    We have agreed to require exceptions in certain situations,
        such as illegal lexical syntax, but we shouldn't go so
        far in that direction as to disallow all extensions.
    In particular, we could allow implementations to read
        specific kinds of illegal external representations
        without raising an exception.  For example, we could
        say that #!<symbol>, where <symbol> is the external
        representation of a symbol, should raise a &lexical
        exception but is not required to do so.
    We could even suggest that implementations define some
        #! syntax that identifies the implementation, e.g.
        #!larceny or #!scheme48.  Programmers could place
        that syntax at the beginning of a file to indicate
        that the file uses implementation-specific extensions
        to the lexical syntax of Scheme.  The implementation
        named by the syntax could then read the file with all
        of its lexical extensions enabled, but other systems
        should raise a &lexical exception when reading the file.
    General agreement on the above.
    Should procedures be allowed to take non-standard args
        or extra args?  In other words, must (< 4 3 'a) and
        (memq 'a '(a b . d)) raise exceptions?
    We have to decide this for every procedure.  Right now,
        the proposal says (< 4 3 'a) *must* raise a &type
        exception, but (memq 'a '(a b . d)) *should* raise
        a &list exception.

7. adjourned about 1:45pm



More information about the R6RS mailing list