On reflection, I think the Right Thing (if there is going to be lexical
syntax for records at all) is #&(...).  In R6RS, the names of records begin
with & by convention, and #& is not used for anything in any Scheme, at
least based on the existing tables.  This is a little more verbose, but it
is fairly clear.

"The lexical syntax #!srfi-237 indicates that subsequent input may contain
external representations of records as defined here. Otherwise, it is
treated as a comment" is not really coherent.  In what circumstances is
#!srfi-237  to be treated as a comment?  As written, it seems to mean that
it is a comment if it is not present.  If the word "otherwise" is deleted
it makes a little more sense; that is, it is always a comment, but warns
the (Scheme) reader that lexical syntax may appear.

However, what good is that?  If #&(...) is present but not understood, it
should be treated as an error, whether SRFI 237 is supported or not.  The
rtd read flag can be used to suppress interpretation of record lexical
syntax for safety reasons, but it makes no sense to rely on a feature of
the file being read to protect against unsafe record lexical syntax.  If
there were a competing semantic for &#(...), then it would make sense to
turn it off with  #!srfi-237 , but there is not.

On Wed, Nov 9, 2022 at 2:38 AM Arthur A. Gleckler <[email protected]>
wrote:

> On Tue, Nov 8, 2022 at 10:15 PM Marc Nieper-Wißkirchen <
> [email protected]> wrote:
>
>
>> Thanks; you could also add Chez Scheme records for #[...].
>>
>
> Done.
>

Reply via email to