Unmaintained implementations Antero Mejr (13 May 2024 14:25 UTC)
Re: Unmaintained implementations Arthur A. Gleckler (13 May 2024 14:39 UTC)
Re: Unmaintained implementations Lassi Kortela (13 May 2024 15:17 UTC)
Re: Unmaintained implementations Lassi Kortela (13 May 2024 17:46 UTC)
Re: Unmaintained implementations Antero Mejr (13 May 2024 18:05 UTC)
Categorizing and describing implementations Lassi Kortela (13 May 2024 18:24 UTC)
Re: Categorizing and describing implementations Jakub T. Jankiewicz (13 May 2024 20:16 UTC)
Re: Categorizing and describing implementations Arthur A. Gleckler (13 May 2024 20:23 UTC)
Re: Categorizing and describing implementations Lassi Kortela (13 May 2024 20:37 UTC)
Re: Categorizing and describing implementations Arthur A. Gleckler (13 May 2024 20:39 UTC)
Re: Categorizing and describing implementations Jakub T. Jankiewicz (13 May 2024 21:19 UTC)
Re: Categorizing and describing implementations Arthur A. Gleckler (13 May 2024 21:26 UTC)
Containers Lassi Kortela (13 May 2024 21:37 UTC)
Re: Containers Arthur A. Gleckler (13 May 2024 21:41 UTC)
Re: Categorizing and describing implementations John Cowan (13 May 2024 21:51 UTC)
Re: Categorizing and describing implementations Stephen De Gabrielle (14 May 2024 08:23 UTC)
Re: Categorizing and describing implementations Jakub T. Jankiewicz (14 May 2024 11:55 UTC)
Snap and Lisp Lassi Kortela (14 May 2024 12:15 UTC)
Re: Snap and Lisp Stephen De Gabrielle (14 May 2024 12:45 UTC)
Re: Snap and Lisp Lassi Kortela (14 May 2024 13:33 UTC)
Re: Categorizing and describing implementations Marc Feeley (14 May 2024 12:48 UTC)
Re: Categorizing and describing implementations Stephen De Gabrielle (14 May 2024 13:09 UTC)
Re: Categorizing and describing implementations Marc Feeley (14 May 2024 13:29 UTC)
Re: Categorizing and describing implementations Jakub T. Jankiewicz (14 May 2024 14:03 UTC)
Re: Categorizing and describing implementations Stephen De Gabrielle (14 May 2024 17:45 UTC)
Re: Categorizing and describing implementations Lassi Kortela (19 May 2024 13:47 UTC)
Re: Categorizing and describing implementations Antero Mejr (20 May 2024 14:03 UTC)
Re: Categorizing and describing implementations Arthur A. Gleckler (20 May 2024 14:24 UTC)
Definition of "Scheme" Lassi Kortela (14 May 2024 13:21 UTC)
Re: Categorizing and describing implementations Jakub T. Jankiewicz (14 May 2024 13:53 UTC)
Re: Unmaintained implementations Arthur A. Gleckler (13 May 2024 19:12 UTC)
Re: Unmaintained implementations Jakub T. Jankiewicz (13 May 2024 20:40 UTC)
Re: Unmaintained implementations Arthur A. Gleckler (13 May 2024 20:43 UTC)
Re: Unmaintained implementations Lassi Kortela (13 May 2024 20:49 UTC)
Re: Unmaintained implementations Arthur A. Gleckler (13 May 2024 20:55 UTC)
Re: Unmaintained implementations Lassi Kortela (13 May 2024 21:07 UTC)
Re: Unmaintained implementations Antero Mejr (13 May 2024 21:18 UTC)
Metadata files Lassi Kortela (13 May 2024 21:34 UTC)
Re: Metadata files Antero Mejr (13 May 2024 21:41 UTC)

Re: Categorizing and describing implementations Jakub T. Jankiewicz 14 May 2024 13:53 UTC


On Tue, 14 May 2024 14:48:35 +0200
Marc Feeley <xxxxxx@iro.umontreal.ca> wrote:

> I’m somewhat of a hardliner on the subject of what is required for a system
> to qualify as a “Scheme”, which for me means an implementation of the
> Scheme language.
>
> A “Scheme” should be defined as an implementation that conforms to one of
> the RnRS reports. Others should qualify as “Scheme subset”, or “Scheme
> like” implementations. I think we all agree that small deviations from an
> RnRS report are OK. But some features are essential, such as lexical
> scoping, proper tail-calls, and continuations. Just having parentheses and
> being simple does not qualify as “Scheme”.
>
> By the way, Ribbit would qualify as a Scheme since it fully conforms to
> R4RS.
>

I have more lax definition of Scheme. If some lisp looks like Scheme, have
lexical closure, function as first class objects, closures and a decent
amount of procedures from any RnRS I would consider it Scheme. Event if it
doesn't have all required features like continuations, TCO, or macros.

I would use term, production ready implementation or more mature, for Scheme
that are well known like Gambit, Kawa, or Guile. But I would not exclude
those small implementations.

I was just checking dependants of my library jQuery Terminal on GitHub about
this this:

https://github.com/trb-a/cumalis-lisp

It says Lisp in the name but also implement a lot of features of Scheme, and
in summary it says:

Cumalis Lisp is a stack-based implementation of R7RS Scheme Language in
Typescript.

And there are probably hundreds of implementations out there. Since Lisp and
Scheme are the easiest programming language to implement (at least on basic
level).

On GitHub you can find 46 repositories with topic r7rs:

https://github.com/topics/r7rs

We can link to that from the website and encourage developers to include
specific tags on GitHub. Most developers probably don't use topics for their
implementations (like Gamibt).

R5RS topic:

https://github.com/topics/r5rs

has only 22 repositories.

I can search for implementations on GitHub and suggest to add topic so we
will have more implementations. I've just created an issue for Gambit.

--
Jakub T. Jankiewicz, Senior Front-End Developer
https://jcubic.pl/me
https://lips.js.org
https://koduj.org