Scheme 48 | |
Paradigms: | Multi |
Family: | Lisp |
Designers: | Richard Kelsey, Jonathan Rees |
Developers: | Richard Kelsey, Jonathan Rees |
Latest Release Version: | 1.9.2 |
Typing: | Dynamic, strong, Latent |
Scope: | Lexical |
Operating System: | Cross-platform |
License: | BSD |
File Formats: | --> |
Standard: | R5RS[1] |
Scheme 48 is a programming language, a dialect of the language Scheme, an implementation using an interpreter which emits bytecode.[2] It has a foreign function interface for calling functions from the language C[3] and comes with a library for regular expressions (regex),[4] and an interface for Portable Operating System Interface (POSIX).[5] It is supported by the portable Scheme library SLIB, and is the basis for the Scheme shell Scsh.[2] It has been used in academic research.[6] It is free and open-source software released under a BSD license.
It is called "Scheme 48" because the first version was written in 48 hours in August 1986.[7] The authors now say it is intended to be understood in 48 hours.
Scheme 48 uses a virtual machine to interpret the bytecode, which is written in a restricted dialect of Scheme called PreScheme, which can be translated to C and compiled to a native binary. PreScheme, or Pre-Scheme, is a statically-typed dialect of Scheme with the efficiency and low-level machine access of C while retaining many of the desirable features of Scheme.