On 2026-05-20 16:58 -0400, 'Peter McGoron' via scheme-reports-wg2 wrote:
> The major decisions are:
>
> * Bitvector literal syntax: N=2 (MIT-Scheme and Gauche for #*)
> * Raw strings: N=2+ (CHICKEN and Gambit for heredoc-style strings,
> Guile (external library) for SRFI 267). Popular in other languages.
> * Underscores in numbers: N=1: Gauche. Popular in other languages.
Thanks for looking into this. For transparency I would not count SRFI
267 in Guile, since 267 was finalized less than a month ago and is
probably not yet in use by anyone outside of WG2. (Not to slight your
work!)
I'll note that, by the rationale given in dpk's wiki page, several other
features (identifier properties, ephemerons, & guardians) were dropped
for not meeting N=3. By the same token, all the features listed above
would be out. What do we want to do about this?
> The other formal decisions, as far as I can tell, are things that
> are portably implementable (like extended list-copy, bytevector=?,
> etc.) AFAIK, the N=3 doesn't apply to such things.
I don't see that distinction in the current text, except with regard
to the Batteries. Every "idea" in the Foundations is supposed to be
in the "core distribution" of at least three implementations. Maybe
that's a bit Procrustean, when we're talking about something as
unobtrusive (and idea-free?) as 'bytevector=?'.
If we decide to waive the rule for portable changes, I'd still like to
get feedback from implementers (e.g. via the "house of implementers"
ballot responses) on the bigger issues.
--
Wolfgang Corcoran-Mathe <
w...@sigwinch.xyz>