STklos also has records built on it's object system, and (unlike Gauche) the order of (class-slots rtd) isn't meaningful. So I've been thinking of struct as making sense for positional access (like Guile's structs), and object as making sense for by-name access, since those seem like the preferred ways to access for structs and objects.
Actually, I use the name "object" because of Gauche's "object system", but that's not a standard Scheme term. If no other implementations have the extension, we may use a more standard name, e.g. "record".
Gauche already handles "object". "@" is just for brevity and no problem dropping it.
I understand. This isn't quite as bad, since @ was originally a Gauche extension to the core WC matcher. If Gauche is fixed to handle "object", then @ can be dropped or deprecated.
Am Mo., 17. Aug. 2020 um 17:48 Uhr schrieb John Cowan <xxxxxx@ccil.org>:
> On Mon, Aug 17, 2020 at 11:27 AM Marc Nieper-Wißkirchen <xxxxxx@nieper-wisskirchen.de> wrote:
>
>> I have tried to understand R6RS's lexical syntax. According to it,
>> non-"peculiar" identifiers (that have nothing to do with "@") have to
>> start with an "initial". The set of initials, however, does not
>> contain "@". Or is there some erratum?
>
>
> No, quite right, and therefore @foo is not an identifier. However, xxxxxx@ and xxxxxx@bar are identifiers, because "@" is a <subsequent>. Therefore object/@ is an identifier too.
Oh, sorry, now I see where our confusion has come from.
By object/@ I didn't mean the identifier |object/@|. I meant the pair
of alternatives "object" and "@". SRFI 204 says that "object" is
synonymous to "@".