There are a lot of Scheme implementations floating around the web, in any language you can imagine. I have one of my own (shameless plug: http://code.google.com/p/bobscheme/) in Python & C++, and there are many others, at least some of which are better than mine in some respects.
The implementation linked here is IMHO badly written - that's not good code to learn from. So if your goal is to learn how to implement Scheme, I suggest to look elsewhere. For example, one good resource is Scheme from Scratch: http://michaux.ca/articles/scheme-from-scratch-introduction
Note that this is nothing personal, I just frankly think this is not good code to learn from.
Racket is good, but I think the discussion here is more about educational implementations - small, simple to grasp. There are of course also a number of industrial-strength implementations of the Scheme language in C and C++, but those are hardly the best place to start this learning!
Guile is worth mentioning here. Mature, LGPL and widely used. It supports R5RS and most of R6. It has hygienic macros. If you're looking to use a Scheme in production, you probably want Guile.
Stalin and Chicken Scheme might also be worth a look if you aren't faint of hearth.
10 comments
[ 2.8 ms ] story [ 33.8 ms ] threadThe new code from github is more readable:
https://github.com/sol-prog/schm
The implementation linked here is IMHO badly written - that's not good code to learn from. So if your goal is to learn how to implement Scheme, I suggest to look elsewhere. For example, one good resource is Scheme from Scratch: http://michaux.ca/articles/scheme-from-scratch-introduction
Note that this is nothing personal, I just frankly think this is not good code to learn from.
http://planet.racket-lang.org/package-source/jaymccarthy/c.p...
Plugin Database: http://planet.racket-lang.org
Stalin and Chicken Scheme might also be worth a look if you aren't faint of hearth.
http://www.gnu.org/s/guile/