MIT/GNU Scheme | |
Logo Caption: | The MIT/GNU Scheme logo highlights function recursion. |
Paradigms: | Multi-paradigm |
Family: | Lisp |
Designers: | Chris Hanson, Guillermo J. Rozas, Taylor R. Campbell, Stephen Adams, Matt Birkholz, Arthur A. Gleckler, Joe Marshall, Brian A. LaMacchia, Mark Friedman, Henry M. Wu |
Developer: | MIT |
Released: | [1] |
Latest Release Version: | 11.2 |
Latest Release Date: | [2] |
Typing: | Dynamic, latent, strong |
Scope: | Lexical |
Platform: | x86 |
Operating System: | Cross-platform |
License: | GPL |
File Formats: | --> |
Influenced By: | Lisp, Scheme |
MIT/GNU Scheme is a programming language, a dialect and implementation of the language Scheme, which is a dialect of Lisp. It can produce native binary files for the x86 (IA-32, x86-64) processor architecture. It supports the R7RS-small standard.[3] It is free and open-source software released under v2 or later of the GNU General Public License (GPL).[4] It was first released by Guy Lewis Steele Jr. and Gerald Jay Sussman at the Massachusetts Institute of Technology in 1986,[5] as free software even before the Free Software Foundation, GNU, and the GPL existed.[6] It is now part of the GNU Project.[7]
It features a rich runtime software library, a powerful source code level debugger, a native code compiler and a built-in Emacs-like editor named Edwin.
The books Structure and Interpretation of Computer Programs and Structure and Interpretation of Classical Mechanics include software that can be run on MIT/GNU Scheme.
Edwin is a built-in Emacs-like editor that comes with MIT/GNU Scheme. Edwin normally displays the *scheme*
data buffer, the mode line, and the mini-buffer when it starts. As in Emacs, the mode line gives information like the name of the buffer above it and whether that buffer is read-only, modified, or unmodified.
When the user exits the interpreter, an exit message is printed. Possible messages include the following.[8]
"Moriturus te salutat." | "We who are about to die salute you." | |
"Happy happy joy joy!" | Title of anthem song for The Ren and Stimpy Show | |
"Ceterum censeo Cathaginem esse delendam." | "However, I think that Carthage should be destroyed." | |
"..#]^@^@^@ NO CARRIER" | Common error message of dial-up modems | |
"Fortitudine vincimus." | "By endurance, we conquer." | |
"Post proelium, praemium." | "After the battle, the reward." | |
"Pulvis et umbra sumus." | "We are dust and shadow." |
"Originally, there was just one Latin message: moriturus te saluto: "I who am about to die salute you." It was added by Guillermo Rozas in reference to the phrase morituri te saltamus, "we who are about to die salute you," shouted to the Roman emperor by gladiators before they began to fight in an arena (Wikipedia). The idea is that the Scheme process, singular, salutes the user before dying. Much later, there was debate over the correctness of the conversion from third person to first person: bug report. We changed the verb ending, but I'm still not sure whether that was necessary."[9]