> 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. It has been my impression that everyone who has a hard-line definition of Scheme has a different one. Some would say hygienic macros are now essential. W.r.t the RnRS reports, some would say R6RS is not Scheme, or that promoting R4RS as Scheme is now outdated. (I don't agree with any of these positions, but my opinion is not important here.) IMHO it would be good to write a one-page definition of Scheme and have some key people agree to it (yourself included, certainly). I expect the definition would be a compromise, but hopefully palatable. I agree that "Scheme subset" would be a helpful concept to promote, but it's hard to find a catchy word for it. "Subscheme" would be perfect, but IIRC the mathematical concepts "scheme" and "subscheme" don't quite fit the set and subset distinction[1][2]. "Quasischeme"[3] sounds derogatory and is a mouthful to pronounce. Few people would use it to promote anything. We explored these terms with Marc N-W once. [1] https://math.stackexchange.com/questions/816288/what-is-a-subscheme [2] https://en.wikipedia.org/wiki/Scheme_(mathematics) [3] https://sites.math.washington.edu/~smith/Research/Curves.pdf