Re: Why are byte ports "ports" as such? John Cowan 14 Apr 2006 13:57 UTC

Marc Feeley scripsit:

> >The SRFI should explicitly permit implementation-dependent encodings
> >and eol-encodings.  (XML 1.1 allows CR, LF, CR/LF, NEL=U+0085, and
> >LS=U+2028.)
>
> What do you mean by "explicitly permit"?  In general an
> implementation can extend an API any way it wishes!  The spec is only
> a requirement.

Well, the informal BNF could be read as requiring that a conforming
implementation accept these values and no others.  Two sentences of
the form "Other values may be accepted by conforming implementations"
wouldn't hurt.

> It only depends on u8vectors which are common in SRFI 4 and SRFI 66.
> SRFI 66 has things that SRFI 4 does not have, and vice versa.  I
> could add a reference to SRFI 66 though.

Fair enough.

> I'll add something in the preamble saying:
>
>    The tokens of the form ``foo:'' used in this document will be
> called ``keywords''.
>    On Scheme implementations supporting SRFI 88, these keywords
> correspond to the
>    keyword objects specified in that SRFI.  On Scheme
> implementations which do not
>    support SRFI 88, these keywords are symbols.

Which is as much as to say that they need to be quoted on non-SRFI-88
systems, as your followup notes.  This is always a safe strategy,
since a quoted keyword evaluates to itself.

Keywords are controversial (if nobody else, I am making controversy
about them!), and this otherwise satisfactory SRFI should not, IMHO,
depend on their presence.

--
In my last lifetime,                            John Cowan
I believed in reincarnation;                    http://www.ccil.org/~cowan
in this lifetime,                               xxxxxx@ccil.org
I don't.  --Thiagi