JavaScript interpreters Jakub T. Jankiewicz (12 Feb 2021 08:25 UTC)
Re: JavaScript interpreters Marc Feeley (12 Feb 2021 12:31 UTC)
Re: JavaScript interpreters Jakub T. Jankiewicz (12 Feb 2021 14:07 UTC)
Re: JavaScript interpreters Marc Feeley (12 Feb 2021 14:54 UTC)
Re: JavaScript interpreters Jakub T. Jankiewicz (12 Feb 2021 17:38 UTC)
How to classify Scheme implementations on Scheme.org Lassi Kortela (14 Feb 2021 07:52 UTC)
Re: How to classify Scheme implementations on Scheme.org Jakub T. Jankiewicz (14 Feb 2021 09:12 UTC)
Re: How to classify Scheme implementations on Scheme.org Lassi Kortela (14 Feb 2021 09:34 UTC)
Re: How to classify Scheme implementations on Scheme.org Marc Feeley (14 Feb 2021 12:54 UTC)
Re: How to classify Scheme implementations on Scheme.org Arthur A. Gleckler (14 Feb 2021 15:45 UTC)
Re: How to classify Scheme implementations on Scheme.org Jakub T. Jankiewicz (14 Feb 2021 16:23 UTC)
Re: How to classify Scheme implementations on Scheme.org Marc Feeley (14 Feb 2021 17:13 UTC)
Re: How to classify Scheme implementations on Scheme.org Lassi Kortela (15 Feb 2021 22:11 UTC)
Re: How to classify Scheme implementations on Scheme.org Lassi Kortela (15 Feb 2021 22:22 UTC)
Re: How to classify Scheme implementations on Scheme.org Marc Feeley (15 Feb 2021 22:36 UTC)
Re: How to classify Scheme implementations on Scheme.org Lassi Kortela (15 Feb 2021 22:40 UTC)
Re: How to classify Scheme implementations on Scheme.org Marc Feeley (15 Feb 2021 22:31 UTC)

How to classify Scheme implementations on Scheme.org Lassi Kortela 14 Feb 2021 07:52 UTC

Sorry about the delay in replying.

Scheme.org is intended to reflect the collective will of the Scheme
community (to the extent that such a will exists). Since schemers
disagree on so many things, we probably have to err on the side of
having less strict criteria to avoid stalemates and low engagement over
the long term.

Scheme implementation conformance is one recurring point of
disagreement. As you point out, there are almost no strictly conforming
implementations of any language, and most useful Scheme implementations
have gaps in conformance (including Gambit).

However, I agree that more conformant or otherwise more fully featured
implementations should be displayed more prominently. It's an open
question how to best do this. I suggest that we invent a set of
objective criteria. I wish the community would get together to define
those criteria, but I've mentioned the topic several times over the
years and so far there has been little enthusiasm. Perhaps schemers wish
to avoid upsetting implementers. Nevertheless, it seems clear that we
have to invent the criteria at some point to settle questions like the
one in this thread on neutral grounds.

I already promised Jakub earlier that a lips.scheme.org is fine to have,
and in general, I believe it's better to err on the side of having more
projects on Scheme.org than less. However, Gambit has been one of the
most advanced Scheme implementations for 30 years, and Marc should also
have reassurance that Gambit is featured more prominently than new
implementations that just got started.

For defining the criteria, we could start with conformance, or start
with how many features an implementation has.

Empirically, there would seem to be a fairly natural split between
implementations that have a native-code compiler (or compile via C to
native code), and implementations that don't. Since writing a
native-code compiler is a big and advanced project, and takes a long
time, those implementations tend to be more full-featured in other ways
too. So listing the native-code implementations and interpreter-only
implementations in separate groups (e.g. on the Scheme.org front page)
would go a long way.

If we use conformance as the criterion, Chibi-Scheme makes for a good
conversation starter. It's possibly the most conformant R7RS Scheme
there is, but has a simple bytecode interpreter which is not
particularly fast even for an interpreter. It has many tools (including
FFI) and libraries, but is missing a debugger. So Chibi would be
classified as very conformant, but not necessarily full-featured.

Thoughts?