Re: SRFI-108 and SRFI-109 final candidates available John Cowan 17 Apr 2013 20:32 UTC

Per Bothner scripsit:


s/using same/using the same/
s/specifiction/specification/ (twice)



Period did not get added to tag-subsequent.

Rather than referring to R7RS productions, duplicate them in order to help
maintain SRFI 109 as a self-contained document.

Both documents:

Is there a need for [ and ] in SRFI 109 in order to escape
unbalanced brackets in SRFI-108 constructors?

Defining the variables $<<$ and $>>$ as empty strings sounds clever,
but unfortunately none of R[4-7]RS require either `eq?` or `eqv?` to be
able to distinguish between two instances of the empty string.  Scheme
implementations are allowed to coalesce them all into a single instance.
So if they are to be defined as strings, they need to be non-empty if
`$string$` and `$construct:*` are to be definable as functions rather
than as macros.  I suggest:

    ;; Calling string-copy guarantees that these are unique objects.
    (define $<<$ (string-copy "$<<$"))
    (define $>>$ (string-copy "$>>$"))

This means that the sample definition of $string$ has to work a little
harder, skipping arguments that are `eqv?` to either of these variables.
Literal appearances of "$<<$" or "$>>$" in text, or appearances as the
result of evaluating expressions, are guaranteed never to be `eqv?`.

Some people open all the Windows;       John Cowan
wise wives welcome the spring 
by moving the Unix.           
  --ad for Unix Book Units (U.K.)