Re:Scheme in C++
by eliben on Tuesday November 22, 2011 @09:49AM
(#3265669)
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.
Re:Scheme in C++
by eliben on Wednesday November 23, 2011 @07:30AM
(#3269811)
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!
Re:Scheme in C++
by bhickey on Tuesday November 22, 2011 @11:55AM
(#3266258)
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.
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/
The new code from github is more readable:
https://github.com/sol-prog/schm