Scheme 48

From Wikipedia, the free encyclopedia
(Redirected from PreScheme)

Template:Short description

Page Module:Infobox/styles.css has no content.

Scheme 48
ParadigmsMulti: functional, procedural, meta
FamilyLisp
Designed byRichard Kelsey,
Jonathan Rees
DevelopersRichard Kelsey,
Jonathan Rees
First appearedMarch 1987; 39 years ago (1987-03)
Template:Infobox software/simple
Typing disciplineDynamic, strong, Latent
ScopeLexical
OSCross-platform
LicenseBSD
Websites48.org

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[when?] say it is intended to be understood in 48 hours.[citation needed]

Implementation

Lua error in package.lua at line 80: module 'Module:Hatnote list' not found. 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.

Template:Quote

References

Page Template:Reflist/styles.css has no content.

  1. ^ a b Lua error in package.lua at line 80: module 'Module:Citation/CS1/Utilities' not found.
  2. ^ Lua error in package.lua at line 80: module 'Module:Citation/CS1/Utilities' not found., Chapter 8 in manual for version 1.8.
  3. ^ Lua error in package.lua at line 80: module 'Module:Citation/CS1/Utilities' not found., Chapter 5 in manual for version 1.8.
  4. ^ Lua error in package.lua at line 80: module 'Module:Citation/CS1/Utilities' not found., Chapter 9 in manual for version 1.8.
  5. ^ Final shift for call/cc: direct implementation of shift and reset
  6. ^ Lua error in package.lua at line 80: module 'Module:Citation/CS1/Utilities' not found.
  • Script error: No such module "Official website".

Template:Lisp programming language

Template:Asbox