MIT/GNU Scheme
![[Image: Lambda shield]](lambda.png)
MIT/GNU Scheme is an implementation of the Scheme programming language, providing an interpreter, compiler, source-code debugger, integrated Emacs-like editor, and a large runtime library. MIT/GNU Scheme is best suited to programming large applications with a rapid development cycle.
Release status and future plans
The releases provide binaries that run on i386, x86-64, and aarch64 machines running unix systems. They have been tested on GNU/Linux, NetBSD, and macOS systems. We no longer support OS/2, DOS, or Windows, though it's possible that this software could be used on Windows Subsystem for Linux (we haven't tried).
Recent release notes are here.
Other potential projects can be found on the tasks page.
Download
MIT/GNU Scheme is available in binary form for a variety of systems.
Please check the downloaded file for a correct MD5 checksum before submitting a bug report. Each distribution below has its own list of MD5 checksums.
Documentation for MIT/GNU Scheme is available online, as is documentation for most GNU software. The MIT/GNU Scheme documentation is available in HTML and PDF formats on this page, and in other formats as downloads.
File | Arch | Instructions | Notes |
---|---|---|---|
Unix binary | i386 | unix installation | |
Unix binary | x86-64 | unix installation | |
Portable SVM | (any) | unix installation | For use on any 64-bit unix system. |
macOS binary | x86-64 | Compiled on macOS 10.14. | |
Source (.tar.gz) | For unix systems; uses linefeeds as line delimiters. | ||
Change log | |||
MD5 checksums |
Documentation: | |||
---|---|---|---|
HTML (multi-page) | MIT/GNU Scheme User's Manual | ||
HTML (multi-page) | MIT/GNU Scheme Reference | ||
HTML (multi-page) | The FFI Reference Manual | ||
HTML (multi-page) | The SOS Reference Manual | ||
HTML (one page) | IMAIL User's Manual | ||
HTML (one page) | MIT/GNU Scheme Blowfish Plugin Manual | ||
HTML (one page) | MIT/GNU Scheme GDBM Plugin Manual |
File | Arch | Instructions | Notes |
---|---|---|---|
Unix binary | x86-64 | unix installation | |
Unix binary | aarch64le | unix installation | |
Portable SVM | (any) | unix installation | For use on any 64-bit unix system. |
macOS binary | x86-64 | Compiled on macOS 10.15. | |
Source (.tar.gz) | For unix systems; uses linefeeds as line delimiters. | ||
Change log | |||
MD5 checksums |
Documentation: | |||
---|---|---|---|
HTML (one page) | HTML (multi-page) | MIT/GNU Scheme User's Manual | |
HTML (one page) | HTML (multi-page) | MIT/GNU Scheme Reference | |
HTML (one page) | HTML (multi-page) | The FFI Reference Manual | |
HTML (one page) | HTML (multi-page) | The SOS Reference Manual | |
HTML (one page) | IMAIL User's Manual | ||
HTML (one page) | MIT/GNU Scheme Blowfish Plugin Manual | ||
HTML (one page) | MIT/GNU Scheme GDBM Plugin Manual |
Older versions can be downloaded here.
Note that you cannot build a working system from the source unless you have a working MIT/GNU Scheme compiler to do the compilation. (This doesn't apply to the portable C source, which requires only a C compiler.) This means that if the above binaries don't work on your system, it is pointless to try building a custom set of binaries from the source code.
Additional documentation
MIT/GNU Scheme mostly conforms to the R7RS (small) standard. It also fully supports these SRFIs:
Supported SRFIs: | ||
---|---|---|
HTML | 0: cond-expand |
|
HTML | 1: List library | |
HTML | 2: and-let* |
|
HTML | 6: Basic string ports | |
HTML | 8: receive |
|
HTML | 9: Defining record types | |
HTML | 14: Character-set Library | |
HTML | 23: Error reporting mechanism | |
HTML | 27: Sources of random bits | |
HTML | 30: Nested multi-line comments | |
HTML | 39: Parameter objects | |
HTML | 62: S-expression comments | |
HTML | 69: Basic hash tables | |
HTML | 115: Scheme Regular Expressions | |
HTML | 124: Ephemerons | |
HTML | 125: Intermediate hash tables | |
HTML | 128: Comparators (reduced) | |
HTML | 131: ERR5RS Record Syntax (reduced) | |
HTML | 133: Vector Library (R7RS-compatible) | |
HTML | 143: Fixnums |
Contact us
Please report bugs using the
bug-tracking system.
We can be contacted on the
mit-scheme-devel
mailing list.
New releases of MIT/GNU Scheme are announced on the
mit-scheme-announce mailing list.
Getting involved
Development of MIT/GNU Scheme, and GNU in general, is a volunteer effort, and you can contribute. For information, please read How to help GNU. If you'd like to get involved, it's a good idea to join the discussion mailing list (see above).
- Development
- For development sources, bug and patch trackers, and other information, please see the project page at Savannah.
- Maintainer
- MIT/GNU Scheme is currently being maintained by Chris Hanson. Please use the mailing lists for contact.
Licensing
MIT/GNU Scheme is free software; you can redistribute it and/or modify it under the terms of the GPL as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.