MIT/GNU Scheme explained

MIT/GNU Scheme
Logo Caption:The MIT/GNU Scheme logo highlights function recursion.
Paradigms:Multi-paradigm

functional, imperative, meta

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

IA-32, x86-64

Operating System:Cross-platform

Linux, NetBSD, macOS

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

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.

Latin phrases

When the user exits the interpreter, an exit message is printed. Possible messages include the following.[8]

!Exit Message!Translation/Meaning
"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."
Quote from developer on Savannah (Gnu's forum site):
"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]

External links

Notes and References

  1. Web site: Oldest Scheme Implementations . 3 Apr 2022.
  2. Web site: Index: mit-scheme.git . Campbell . Taylor R. . Hanson . Chris . Gleckler . Arthur A. . MIT/GNU Scheme . GNU Savannah . 24 July 2021 . 24 July 2021.
  3. Web site: MIT/GNU Scheme release notes . 3 Oct 2021 . 3 Oct 2021.
  4. Web site: MIT/GNU Scheme - GNU Project - Free Software Foundation . 2023-03-02 . www.gnu.org.
  5. Web site: History of Scheme . Steele . Guy . 2006 . Sun Microsystems Laboratories . PDF slideshow .
  6. Web site: MIT/GNU Scheme . Hanson . Chris . GNU Operating System . Free Software Foundation . 28 October 2018 . 11 April 2019.
  7. Web site: Free Software Directory . . . GNU Operating System . Free Software Foundation . 11 April 2019. }
  8. Web site: Source code: mit-scheme.git . 2023-02-28 . git.savannah.gnu.org.
  9. Web site: Gleckler . Arthur A. . 16 February 2023 . Re: Latin Phrases on exit . lists.gnu.org/archive.