
| Scheme 48 | |
| Paradigms: | Multi |
| Family: | Lisp |
| Designers: | Richard Kelsey, Jonathan Rees |
| Developers: | Richard Kelsey, Jonathan Rees |
| Latest Release Version: | 1.9.3 |
| Typing: | Dynamic, strong, Latent |
| Scope: | Lexical |
| Operating System: | Cross-platform |
| License: | BSD |
| File Formats: | --> |
Scheme 48 is a programming language, a dialect of the language Scheme, an implementation using an interpreter which interprets bytecode.[1] It has a foreign function interface for calling functions from the language C[2] and comes with a library for regular expressions (regex),[3] and an interface for Portable Operating System Interface (POSIX).[4] It is supported by the portable Scheme library SLIB, and is the basis for the Scheme shell Scsh.[1] It has been used in academic research.[5] 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.[6] 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.