I've compiled a table describing important features of several
Scheme implementations:
| name |
version |
license |
description |
supported OSs |
full call-with-current-continuation? |
threads? |
FFI? |
IEEE/R4RS/R5RS? |
interpreter? |
precise garbage collector? |
compilation target |
object-oriented package? |
| Bigloo |
2.2b (Oct 2000) |
GPL |
devoted to one goal: enabling Scheme based programming style where C(++) is usually required |
Unix |
yes |
no |
yes |
R5RS minus |
yes |
no |
C |
yes |
| ChezScheme |
6.0a (including Petite version) |
Petite is free, even for commercial use. Full version requires payment. |
|
Linux, Windows, etc. |
yes |
no |
yes |
IEEE & R5RS |
yes |
yes |
x86, etc. |
no |
| Chicken |
build 912 |
BSD |
CHICKEN is a Scheme-to-C compiler supporting most of the language features as defined in the Revised^5 Report on Scheme. |
Unix, Windows |
yes |
non-OS |
yes |
R5RS |
no |
yes |
C |
no |
| DrScheme (MzScheme) |
103 (29 Aug 2000) |
LGPL |
interactive, integrated, graphical programming environment |
Unix, Windows, etc. |
yes |
non-OS |
no? |
R5RS |
no |
no |
|
yes |
| Elk |
2.0 |
open source |
an embeddable, reusable extension language subsystem for applications written in C or C++ |
Unix |
yes |
no |
yes (not dynamic) |
R4RS minus |
yes |
yes |
|
yes (OOPS) |
| Gambit-C |
3.0 (6 May 1998) |
Commercial use requires license. |
high-performance implementation of Scheme based on an optimizing compiler. |
Unix, Windows, etc. |
yes |
no |
yes (not dynamic) |
IEEE & R4RS |
yes |
yes |
C |
no |
| Guile |
1.4 |
GPL |
Project GNU's extension language |
Unix |
|
|
|
|
|
|
|
|
| Kawa |
1.6.70 (26 Jun 2000) |
GPL or alternative |
|
OSs that support Java |
no |
yes |
yes |
R5RS minus |
yes |
depends on VM |
Java byte codes |
yes |
| libscheme |
|
|
Scheme as a C library |
Unix |
|
|
|
|
yes |
no |
|
no |
| LispMe |
2.8 |
GPL |
|
PalmOS |
yes |
no |
no |
|
yes |
yes |
|
no |
| MIT Scheme |
7.5 |
GPL |
complete Scheme with Edwin Emacs clone |
Unix, Windows, etc. |
yes |
non-OS |
yes |
R4RS minus |
yes |
yes |
x86, etc. |
yes |
| OpenScheme |
1.3.5 (Nov 2000) |
Free for non-commercial use. |
|
Linux, Windows, etc. |
yes |
non-OS |
yes |
R5RS |
no |
|
C, byte codes |
yes |
| PocketScheme |
1.1.0 (25 Oct 2000) |
Artistic License |
|
Windows Handheld and Pocket PC |
yes |
no |
yes |
R4RS |
yes |
yes |
|
no |
| PS3I |
1.20 |
GPL |
|
OSs that support Java |
yes |
yes |
yes |
R4RS minus |
yes |
depends on VM |
Java byte codes |
|
| QScheme |
0.5.1 |
|
|
|
no |
OS |
|
R5RS minus |
yes |
|
|
yes |
| RScheme |
0.7.3.1 (26 Nov 2000) |
open source |
|
Linux |
yes |
non-OS |
yes |
R4RS |
yes |
yes |
C, byte codes |
yes |
| Scheme->C |
|
|
|
|
|
|
|
|
|
|
C |
|
| Scheme48 |
0.49 |
open source |
|
Unix, Windows |
yes |
non-OS |
yes |
R5RS |
yes |
yes |
byte codes |
no |
| Schlep |
(2000) |
|
Scheme subset analogous to C designed to obviate the need to write C programs |
neutral |
no |
no |
yes |
minimal subset of Scheme |
no |
no GC |
C |
no |
| SCM |
5d3 |
GPL |
|
Unix, Windows, etc. |
yes |
no |
yes |
IEEE & R5RS |
yes |
yes |
|
no |
| SCSH |
|
open source |
Built on top of Scheme48. |
|
|
|
|
|
|
|
|
|
| SILK |
|
open source |
|
OSs that support Java |
|
yes |
yes |
R4RS minus |
yes |
depends on VM |
Java byte codes |
yes |
| SIOD |
3.4 (Feb 1997) |
|
|
Unix, Windows, etc. |
|
no |
yes |
R4RS minus |
yes |
yes |
|
no |
| Stalin |
0.8 (17 May 1999) |
GPL |
a global optimizing compiler for Scheme |
Unix |
no |
no |
yes |
R4RS minus |
no |
no |
C |
no |
| STk |
4.0.1 (1 Oct 1999) |
open source |
Scheme with Tk graphical library |
Unix, Windows, etc. |
yes |
no |
yes |
R4RS minus transcript-on and transcript-off |
yes |
yes |
|
yes |
| STklos |
0.51 |
|
successor to STk |
FreeBSD, Linux, and Windows NT |
no, but planned |
no |
no |
R5RS minus |
yes |
|
byte codes |
yes |
| SXM |
1.0 |
Free for non-commercial use. |
|
Unix, Windows, etc. |
yes |
no |
yes |
IEEE & R5RS |
yes |
yes |
byte codes |
no |
| TinyScheme |
1.21 |
open source |
|
Unix, Windows |
|
|
yes |
R5RS minus |
yes |
yes |
|
no |