This seems to be really too much to ask for, given the systematically outdated content on this topic that is scattered throughout the internet.
I simply can’t find a noiseless and up to date list of available Scheme implementations (except there, but I’d have enjoyed a colorful feature summarizing table) so I’m asking the community instead of trying dozens of implementations of a language I don’t master yet. Help me enjoy this amazing language.
Requirements:
- Free (as in speech)
- Lightweight: no unnecessary libraries beyond the standard, must compile fast. Anything lighter than Guile qualifies as lightweight.
- R6RS (no troll please, I’m learning the language and feel the need to stick to something standard)
- No .NET, no JVM
- Should work at least on Linux
- Should work at least on x86
- Easy FFI
- Bonus point for fast implementations (too bad Bigloo doesn’t support R6RS).
I’m currently using Ypsilon, that I find great, but not maintained since 2008. Guile can be a good competitor, but it seems quite heavy (and FFI is far easier with Ypsilon).
I may be missing some quality implementations, so feel free to share your experiences.
UPDATE Thank you for your answers, I will go for Larceny, since it provides pretty much everything I am looking for. Happy scheming to all of you !
You may want to take a look at Racket. Its documentation and IDE are pretty good, it’s JIT-compiled, and it supports a variety of languages including R6RS. The only requirement of yours that I’m not sure Racket fulfills is being lightweight—it’s a matter of perspective whether that’s true for it or not.
If you don’t care about the heaps of functionality that Racket provides, Larceny might warrant consideration as well. It was written by Will Clinger, who was personally involved in the R6RS process. Larceny is one of the most complete implementations of R6RS. Petite Larceny can be tricky to compile, but this may not matter much depending on the platform you’re targeting.
Finally, there’s Chez Scheme. I have no experience with it; it has a reputation of being an efficient and well-supported Scheme, though. In any case, note that, as far as I can tell, you need the commercial license if you want access to the FFI.
Edit: Added Larceny and Chez Scheme.