Re: Unmaintained implementations Lassi Kortela 13 May 2024 20:49 UTC

> It doesn't support continuations, TCO, and libraries, but it support
> everything else from R5RS and a lot of R7RS (some functions need upgrade
> to include multiple arguments that were not in R5RS). It should at least be
> marked as "partial support". I know that TCO is fundamental for Scheme, but
> the same is syntax-rules that not all implementation have.
>
> But if you decide that it should be marked as "not supported" or something
> similar, I think it would be better than not being included.
+1

There are people who insist that continuations, full TCO, hygienic
macros, or complete RnRS support should be the criterion for something
to be called "Scheme". But ask one of these people and you get a
different answer than from the others. In practice, being that strict
will never work.

The fact is that a Scheme with no continuations, unhygienic macros, and
TCO only in "named let", can be perfectly useful.

Hygienic macros can be implemented almost everywhere without lossage;
they are only a matter of effort. Full TCO and continuations (beyond
escape procedures) are hard to do with good performance and
compatibility on foreign virtual machines like JavaScript, JVM, or CLR,
and the benefits for real world programs are not major.