News for hackers. Stuff that matters.
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 bitcracker on Tuesday November 22, 2011 @12:45PM (#3266474)
Racket Scheme (http://racket-lang.org) is a good Scheme implementation and provides plugins for other languages. C, for example:

http://planet.racket-lang.org/package-source/jaymccarthy/c.p...

Plugin Database: http://planet.racket-lang.org

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.

http://www.gnu.org/s/guile/

Re:Scheme in C++ by agentultra on Tuesday November 22, 2011 @09:32AM (#3265617)
Scheme has a really simple syntax but wouldn't this code be a little more readable with separate lexing, parsing, and evaluating steps?
Re:Scheme in C++ by mmisu on Tuesday November 22, 2011 @09:35AM (#3265628)
The code is open source (GPL3), feel free to fork it from github and modify it.
Re:Scheme in C++ by li-ch on Tuesday November 22, 2011 @09:07AM (#3265526)
This was the OOP course project in my UG. Spent an entire semester on it. http://www.cse.ust.hk/~dekai/151H/
Re:Scheme in C++ by VMG on Tuesday November 22, 2011 @08:27AM (#3265415)
Code is unreadable (I have to scroll horziontally). Better paste it as a gist.
Re:Scheme in C++ by mmisu on Tuesday November 22, 2011 @09:05AM (#3265515)
The first version of the code was assembled in a few hours and badly structured.

The new code from github is more readable:

https://github.com/sol-prog/schm

Re:Scheme in C++ by ahy1 on Tuesday November 22, 2011 @08:43AM (#3265452)
It is available at github (https://github.com/sol-prog/schm) and readable.