Can anyone explain why there are so many implementations of Scheme written in Scheme?
What is the point of doing that (apart from learning purposes)?<p>I know, for example that people want Racket VM to be implemented in Chez Scheme because Chez is super fast. But what about all other implementations?<p>Also, as I'm currently writing R5RS/Clojure hybrid in Kotlin, can anyone please share any _simple_ standard algorithm of implementing r5rs macro system and macro expander?<p>The only thing I could find is <a href="https://www.cs.indiana.edu/chezscheme/syntax-case/" rel="nofollow">https://www.cs.indiana.edu/chezscheme/syntax-case/</a>