tags:

views:

245

answers:

4

Anyone know of a good / small scheme interpreter in C++? Perferably something < 2000 LOC, with a simple garbage collectro (either compacting or mark & sweep), no need to support all of R5RS, just basics of if/lambda/set!/cons/car/cdr and some basic operations.

Thanks!

+1  A: 

Unfortunately Scheme Implementations doesn't organize based on such practical criteria. :)

I did find one Scheme Interpreter in C++ that you might check out to see if it fits your needs. I haven't tried this particular one, so this isn't an endorsement.

Bill the Lizard
+2  A: 

Here's a long list of scheme implementations:

http://community.schemewiki.org/?scheme-faq-standards#implementations

Several of them are embeddable interpreters, mostly in C. That shouldn't be a deal breaker for C++.

George Kangas
+1  A: 

Well, there's a veeery tiny lisp by Gary Knott. Not even close to R5RS, but it's small, and comes with a book describing the internals! However, it's C, not C++, and as far as I can remember there's no GC (but I could be wrong).

There's also Mini Scheme by Nils Holm, but it's also C, and a bit larger than what you asked (2404 lines of C plus 1352 of Scheme). Nils has also written Scheme 9 from Empty Space, which is larger but also comes with a book describing every piece of code.

Tinyscheme is another small Scheme (4500 lines of C plus 452 of Lisp)...

Jay
+1 for s9fes. Very useful!
JasonFruit
A: 

There's also Gambit Scheme. It's also written in C and has the advantage that it's designed to be embeddable. I have personally used it to embed Scheme inside Excel 2003!

Although it's very much work in progress it works fine and you could easily adapt it to whatever C++ needs you have.

Steve Knight