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)

Re: How to classify Scheme implementations on Scheme.org Marc Feeley 14 Feb 2021 17:13 UTC

Although I have strong opinions about the proper use of terms such as “Scheme” and “R7RS”, you should only view my comments as my personnal position on the matter.  I don’t claim to represent the whole Scheme community nor am I the administrator of the site.  So please read the following with that in mind.

I consider the lips system in its current state as a “Lisp” but not a “Scheme”.  This is due to the absence of proper tail calls and first class continuations.  This is not a judgement on the quality of the system.  Lips implements other neat features that are not required by any RnRS standard.  The only thing I’m saying is that the label “Scheme” is not yet appropriate.  I’m glad to hear you plan on implementing proper tail calls and first class continuations soon.

On the other hand I consider Biwascheme to have the essential features of a “Scheme” (including proper tail calls, first class continuations and a macro definition facility) so I think it qualifies as an implementation of “Scheme”.  However, there are quite a few things missing for it to qualify as an implementation of R6RS or R7RS.  I didn’t check the details, but I believe it qualifies for R4RS, but not R5RS (due to syntax-rules missing).  Here too this is not a judgement on the quality of the system, just an opinion on whether the label “Scheme” is appropriate (yes), R4RS (yes), R5RS (no), R6RS (no) and R7RS (no).

I think proper labeling will help everyone concerned to quickly understand the state of conformance of a Scheme implementation.

Marc

> On Feb 14, 2021, at 11:22 AM, Jakub T. Jankiewicz <xxxxxx@onet.pl> wrote:
>
> My implementation don't yet have tail calls and first class continuations.
> But considering this I will add them to version 1.0 I was planing on adding
> it later. I can wait for adding my implementation into scheme.org after they
> are added. I was starting adding those but didn't finished, it was quite a
> while ago and because of conflicts in git I think I just delete the branch
> where I was working on it and start again.
>
> Anyway my implementation is in 1.0 beta, and default version is really old
> (the copyright note indicate that it's from 2019). So I can wait in adding it
> to scheme.org when it's finally released (I will make sure that TCO and
> call/cc is there before release final 1.0).
>
> But BiwaScheme can be safely named Scheme, because it have all fundamentals
> (but macros are only lisp kind). It also lack lot of features though. It's
> fast implementation, because it's kind of byte compiled and run on VM written
> in JavaScript. But if the RnRS labels should be added only for full support
> (or major part) then maybe it should be marked as R5RS (but without
> syntax-rules). There is issue on GitHub for that feature though, maybe it
> will be implemented.
>
> Jakub
>
> On Sun, 14 Feb 2021 07:45:04 -0800
> "Arthur A. Gleckler" <xxxxxx@speechcode.com> wrote:
>
>> On Sun, Feb 14, 2021 at 4:54 AM Marc Feeley <xxxxxx@iro.umontreal.ca> wrote:
>>
>>
>>> For the record, I am all for inclusiveness and think it is good to put as
>>> many implementations on the site as possible.  What I want to avoid is the
>>> misuse of the RnRS labels.  The RnRS labels should have a meaning,
>>> especially on any web site that aims to promote “Scheme”.
>>>
>>
>> I agree.  For example, none of the "RnRS" tags should be used to describe a
>> Scheme that does not have full tail-call elimination.  Not having that
>> means that many programs written in Scheme simply won't work.
>>
>> Using a numeric score to evaluate Schemes based on features beyond the
>> standard seems fine, but we shouldn't use it for features that are supposed
>> to be part of the language.
>
> --
> Jakub T. Jankiewicz, Web Developer
> https://jcubic.pl/me
>