[R6RS] my notes on today's conference call (23 March 2007)

William D Clinger will at ccs.neu.edu
Fri Mar 23 10:13:19 EDT 2007


March 23 2007 8:00am-10:00am EDT
Kent, Anton, Mike, Will present by 8:01am
Matthew arrived around 9am

0. finalize agenda (1 minute)

1. action items (1 minute)
   - create ticket-nnn.txt for new tickets (Mike)
        done
   - add response-votes entries for new tickets (Kent)
        done
   - initiate email discussion of ticket 152 (Kent)
        initiated
   - initiate email discussion of early checking of procedure arity (Kent)
        done
   - for each ticket 135 and 137+, enter proposed response into
     ticket-*.txt and set trac status to one of:
       blocker (red) = "don't know" but should should be easy
       critical (yellow) = done, probably uncontroversial
       major (white) = suggested response/action, but needs discussion
       minor (cyan) = we have to discuss it, first
       trivial (blue) = I'm stumped for the moment
     (All)
   - record response votes (All)
        ongoing
   - draft responses for ticket numbers 166, 196, 198, 202, 204, 205,
     208-233
        some still undone
   - need final resolution in responses for ticket numbers 150, 164
        not done
   - update ticket-nnn.txt to reflect decisions:
     154: allow bytevectors to be self-evaluating (but not vectors or ())
        not done

2. apparent arity check requirements (5 minutes)
   - is this problem now fixed?
        at least partly
   - if not, what is the fix?
        maybe use "should" to describe programmer's responsibilities
        that implementations aren't required to enforce

3. revisit unspecified value and mrvs semantics? (10 minutes)
   - tickets 152, 156
   - see https://r6rs.scheming.org/node/588
     - adopt and select A, B, or C
        or D: C restricted to returning zero or one
        straw poll:
            general sense of Kent's draft response (in email only)
            does anyone wish to overturn the status quo?
                Mike: yes!
            Mike will draft a motion by email
            tabled for now
     - don't adopt

4. allow eq? and eqv? to return non-boolean, abort, or raise exception? (5 minutes)
   - ticket 166
   - note: we agreed not to allow abort generally in our 3/7 meeting
        technical vote to reject formal comment:
            reject: Will, Kent, Matthew, Anton
            abstain: Mike

5. standard-x-port return fresh binary ports? (5 minutes)
   - ticket 183
        tabled for today

6. add buffer modes to open-file-input-port? (5 minutes)
   - ticket 186
   - do we allow peeking on unbuffered input port?
        tabled for today

7. allow (case-lambda)? (5 minutes)
   - see https://r6rs.scheming.org/node/580
        yes: Will, Kent, Matthew, Mike, Anton

8. make unicode / string changes? (20 minutes)
   - tickets 225, 229, 233
        Kent will draft responses
        Will moved to add string->utf-8, string->utf-16, string->utf-32
            (with the appropriate endian variants; and in the other
            direction, with provision for illegal encodings; can all
            be specified via string port code)
        Kent seconded
        Will withdrew the motion at Kent's request
        Will volunteered to write up a spec
   - should strings be immutable?
        no: Will, Kent, Matthew, Anton
        abstain: Mike
   - should string-set! be in a separate library?
        yes: Will, Matthew, Anton
        no: Kent
        abstain: Mike
   - should we flush string-ref?
        no
   - should we add string-for-each?
        yes: Will, Kent, Matthew
        no: Mike
        abstain: Anton
   - if not, what kind of entity does string-ref return?
        character, as in current draft
   - should we require variable-length strings?
        no: Will, Kent, Matthew, Mike, Anton
   - should we allow direct creation of custom text ports?
        yes: Will, Kent, Matthew, Anton
        no: Mike
   - should report say string-ref and string-set! should be O(1)
        yes, unanimously

9. add make-parameter and parameterize? (5 minutes)
   - ticket 184
        skipped for now

10. allow/require hash-table-hash-function to return a procedure? (5 minutes)
   - ticket 189
        tabled until the draft response has been checked in

11. hash-table-update! proc must not mutate hash-table? (5 minutes)
    make-hash-table hash-function and equiv procs must not mutate hash-table?
   - tickets 193 and 195
        should not mutate hash-table
        yes: Will, Kent, Matthew, Mike, Anton

12. replace hash-table-mutable? with hash-table-immutable? (5 minutes)
   - ticket 194
        we should change the flag so #t means mutable to hash-table-copy,
        and leave the name of hash-table-mutable? alone
        yes: Will, Kent, Matthew, Mike, Anton

13. change sort procedure interface? (5 minutes)
   - ticket 196
   - make predicates 3-way (< 0, 0, > 0)
   - allow 0 to be returned as #f
   - add optional key-extraction-procedure argument
    shall we reject all three suggestions?
        yes: Will, Kent, Matthew, Mike, Anton

14. allow compilers to reject programs with obvious violations? (10 minutes)
   - ticket 198
        skipped for now

15. add file-length, specify set-file-position! extension behavior (5 minutes)
   - ticket 200
        skipped for now

16. specify freshness/mutability of quasiquoted structure? (5 minutes)
   - ticket 204
        skipped for now

17. add list* or cons*? (5 minutes)
   - ticket 205
        change cons to mean cons*
        yes: Kent, Mike
        no: Will, Matthew, Anton
        add cons* to (r6rs lists):
        yes: Kent, Matthew, Anton
        abstain: Will, Mike

18. eliminate library export immutability loophole? (5 minutes)
   - ticket 208
        skipped for now

19. should <body> allow mixing definitions with expressions? (5 minutes)
   - ticket 212
        skipped for now

20. hyphenate the name "bytevector"? (5 minutes)
   - ticket 215
        no: Will, Kent, Matthew, Mike, Anton
    Anton moved we drop the hyphen from hash-table etc;
    Will seconded
        yes: Will, Kent, Anton
        no: Matthew
        abstain: Mike

21. should map return new list structure each time? (5 minutes)
   - ticket 220
   - option 1: entirely new list structure
   - option 2: not modify earlier return values
        skipped for now

22. is nan not a real number? (5 minutes)
   - ticket 130
   - also question about flmin and flmax not being specified for nan
        skipped for now

23. allow inline hex escapes anywhere?
   - ticket 231
   - or "allow anywhere except within a hex escape"?
        skipped for now

plan to meet next Wednesday at the same time;
Mike might not be able to make it, but will let us know

23. adjourned at 10:01am

Will



More information about the R6RS mailing list