[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: overriding digit-names
From: |
David Kastrup |
Subject: |
Re: overriding digit-names |
Date: |
Thu, 29 Jun 2023 18:21:55 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Jean Abou Samra <jean@abou-samra.fr> writes:
> Le jeudi 29 juin 2023 à 17:56 +0200, David Kastrup a écrit :
>
>> No, none of the "standards" say anything like that. #(...) is a
>> self-quoting form, like #t and #f and numbers and strings and some other
>> things. Quoting them doesn't change a thing.
>>
>> And to be honest, I don't know of any _convention_ that would recommend
>> explicitly quoting them or other self-quoting forms, either.
>
>
>
> R5RS 6.3.6 page 31 <
> https://conservatory.scheme.org/schemers/Documents/Standards/R5RS/r5rs.pdf >
>
> Vectors are written using the notation #(obj ...). For
> example, a vector of length 3 containing the number zero
> in element 0, the list (2 2 2 2) in element 1, and the
> string "Anna" in element 2 can be written as following:
>
> #(0 (2 2 2 2) "Anna")
>
> Note that this is the external representation of a vector, not
> an expression evaluating to a vector. Like list constants,
> vector constants must be quoted:
>
> '#(0 (2 2 2 2) "Anna")
> ⇒ #(0 (2 2 2 2) "Anna")
Ok, but at the same time R5RS states:
#(
This introduces a vector constant (section *note Vectors::).
Vector constants are terminated by ) .
and it does not make sense to _evaluate_ something that is supposed to
be the entry syntax for a constant.
So this does not even make sense. I rescind the claim that no standard
calls for explicit quoting and replace it with a "what were they even
thinking here?" exclamation.
> Of course, Guile has always implemented the R7RS-small behavior as an
> extension to R5RS and R6RS.
Are there any Scheme interpreters/versions that didn't at any point of
time? Just curious.
--
David Kastrup