Re: How to classify Scheme implementations on Scheme.org Lassi Kortela 15 Feb 2021 22:40 UTC
My guess is still that the best way to present the implementations on the Scheme.org front page is to divide them into 2 or 3 categories. We should have a separate, more detailed implementation browser where one can sort and filter by various criteria, peruse benchmarks and conformance matrices, etc. But the first impression counts, and should be something relatively easy to digest. The most common use cases for Scheme are probably: - The fastest, most full-featured implementations with threads and debugger: Gambit, Chez Scheme, MIT Scheme. - Something light and easy to embed for glue code and scripting: Chibi-Scheme, S7, TinyScheme. - Something in between, for substantial portable programs that don't need especially high performance: Guile, Gauche, Chicken. However, as far as I know Guile, Gauche, and Chicken all have full continuations and fully general tail calls, so in that respect they are no different from the first group. I don't know about the situation with the tiny interpreters. https://github.com/lambdaconservatory/femtolisp/blob/master/tiny/lisp.c from Jeff Bezanson is a pedagogical tree-walking Lisp interpreter in only 1000 lines of C that nevertheless has lexical scope and proper tail calls. This interpreter does not have continuations, however.