Re: Anonymous records Antero Mejr (30 Sep 2024 02:45 UTC)
Re: Anonymous records Marc Nieper-Wißkirchen (30 Sep 2024 06:02 UTC)
Re: Anonymous records Daphne Preston-Kendal (30 Sep 2024 07:08 UTC)
Re: Anonymous records Marc Nieper-Wißkirchen (30 Sep 2024 07:30 UTC)
Re: Anonymous records Daphne Preston-Kendal (30 Sep 2024 07:46 UTC)
Re: Anonymous records Antero Mejr (30 Sep 2024 19:26 UTC)
Re: Anonymous records Daphne Preston-Kendal (30 Sep 2024 20:12 UTC)
Re: Anonymous records Sergei Egorov (30 Sep 2024 21:07 UTC)
Re: R7RS large primitives [was: Re: Anonymous records] Antero Mejr (02 Oct 2024 22:28 UTC)
Re: R7RS large primitives [was: Re: Anonymous records] Sergei Egorov (02 Oct 2024 23:17 UTC)
Re: Anonymous records Wolfgang Corcoran-Mathe (01 Oct 2024 00:58 UTC)
Re: Anonymous records Antero Mejr (01 Oct 2024 03:24 UTC)
Re: Anonymous records Arthur A. Gleckler (01 Oct 2024 03:46 UTC)
Scheme meetups [was: Re: Anonymous records] Peter Bex (01 Oct 2024 19:20 UTC)
Re: Anonymous records Retropikzel (07 Oct 2024 16:14 UTC)
Re: Anonymous records Peter Bex (07 Oct 2024 18:01 UTC)
Re: Anonymous records Arthur A. Gleckler (07 Oct 2024 19:57 UTC)

Re: Anonymous records Antero Mejr 30 Sep 2024 02:44 UTC

Hi Marc and Daphne,

> Some questions:
>    - How is this distinct from a symbol-keyed hash table or mapping
>    (SRFI 146)?

>> Yes, I would also like to know whether there is any semantic
>> difference to a finite map from symbols to Scheme values.

Anonymous records are more restricted. Their fields correspond directly
to procedure arguments. The fields can only be sequential non-negative
integers (positionals) or symbols (keywords).

> With static types ‘anonymous’ records can still be optimized to be as
> efficient as ‘normal’ struct accesses ...

I'm curious to see the performance implications as well, especially when
combined with the new type annotations of SRFI 253. I've started work on
a compiler, but it may take a while :)

> That said, even if not adopted into R7RS – or even if ‘records’ of this
> type build a completely different system from that supported by the R7RS
> record system* – this idea is intriguing.

It would not be a good fit for Large, if what you're going for is a full
object system like CLOS. Anonymous records would be going in the
"smaller" direction.

> In any case, to be accepted into the fascicle on records would require
> support from at least 3 notable Scheme implementations by around this
> time next year.

An aside: I think this rule is bad governance, like an appeal to
authority. It may be better to formalize the evaluation process for
features. Have a process for analyzing how new features would fit into
the larger Scheme world, with all the different shapes and sizes of
implementations and users.

When citing N=3, Chez/Guile/Gambit are often used as justification. But
they have corporate/nonprofit/academic sponsorship, seem pretty
unbounded in terms of scope, and are R6RS. Most implementations do not
have those resources. And I don't think they reflect how many
programmers see and use Scheme.

IMO the governance of Scheme is very opaque overall: there's stuff going
on at ICFP, on Codeberg, on SRFI, with the WG/Steering Committee (if
they are still active?). I personally don't like it, IDK what others
think. It doesn't make me feel comfortable about dedicating myself to
Scheme as a language.