JOIN THE FSF

 [A GNU head] GNU Operating System
Supported by the Free Software Foundation

 [Search www.gnu.org]  Site navigation Skip

MIT/GNU Scheme

[Image: Lambda shield]

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

Current releases Stable Testing 12.1 ----

The releases provide binaries that run on 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).

No native-code support for Apple silicon: At this time, we are unable to support native-code compilation on new macs using Apple's silicon (the M* chips). Although we support the ARM architecture it's based on, Apple's design uses W^X restrictions that conflict with the way that MIT/GNU Scheme manages memory. Our native-code implementation requires both write and execute permissions on memory, and fixing that is a significant redesign that's unlikely to happen in the near future. Instead use the SVM1 binaries, which should work properly, if slowly, on that architecture.

We also no longer distribute macos applications, as there were versioning issues with those that we did distribute. It is easy to generate a macos application from our normal distribution: after running make, run make macosx-app. Instead of running make install, just move mit-scheme.app to /Applications/ (or wherever you want).

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.

Stable release 12.1 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 (including Apple silicon). Source (.tar.gz) For unix systems; uses linefeeds as line delimiters. Change log MD5 checksums Documentation: HTML (one page) HTML (multi-page) PDF MIT/GNU Scheme User's Manual HTML (one page) HTML (multi-page) PDF MIT/GNU Scheme Reference HTML (one page) HTML (multi-page) PDF The FFI Reference Manual HTML (one page) HTML (multi-page) PDF The SOS Reference Manual HTML (one page) PDF IMAIL User's Manual HTML (one page) PDF MIT/GNU Scheme Blowfish Plugin Manual HTML (one page) PDF 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 112: Environment Inquiry HTML 115: Scheme Regular Expressions HTML 124: Ephemerons HTML 125: Intermediate hash tables HTML 128: Comparators (reduced) HTML 129: Titlecase procedures HTML 131: ERR5RS Record Syntax (reduced) HTML 133: Vector Library (R7RS-compatible) HTML 143: Fixnums HTML 158: Generators and Accumulators HTML 162: Comparators sublibrary HTML 219: Define higher-order lambda

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.


BACK TO TOP ▲

 [FSF logo]  “The Free Software Foundation (FSF) is a nonprofit with a worldwide mission to promote computer user freedom. We defend the rights of all software users.”

JOIN SHOP

Please send general FSF & GNU inquiries to <gnu@gnu.org>. There are also other ways to contact the FSF.
Broken links and other corrections or suggestions can be sent to <bug-mit-scheme@gnu.org>.

Please see the Translations README for information on coordinating and submitting translations of this article.

Copyright © 2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023,2024 Free Software Foundation, Inc.

This page is licensed under a Creative Commons Attribution-NoDerivatives 4.0 International License.

Copyright Infringement Notification

Updated: 2024-01-22T19:43:24-05