HOME

TheInfoList



OR:

Scheme In One Defun, or humorously Scheme In One Day (SIOD) is a
programming language A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
, a
dialect A dialect is a Variety (linguistics), variety of language spoken by a particular group of people. This may include dominant and standard language, standardized varieties as well as Vernacular language, vernacular, unwritten, or non-standardize ...
of the language
Lisp Lisp (historically LISP, an abbreviation of "list processing") is a family of programming languages with a long history and a distinctive, fully parenthesized Polish notation#Explanation, prefix notation. Originally specified in the late 1950s, ...
, a small-size implementation of the dialect Scheme, written in C and designed to be embedded inside C programs. It is notable for being perhaps the smallest practical implementation of a Lisp-like language. It was written by George J. Carrette originally. It is
free and open-source software Free and open-source software (FOSS) is software available under a license that grants users the right to use, modify, and distribute the software modified or not to everyone free of charge. FOSS is an inclusive umbrella term encompassing free ...
released under a
GNU Lesser General Public License The GNU Lesser General Public License (LGPL) is a free-software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate a software component released under the LGPL into their own ...
(LGPL).


Features

SIOD features include: * Implements the original version of Scheme from the Lambda Papers, but none of the modern language
standards Standard may refer to: Symbols * Colours, standards and guidons, kinds of military signs * Standard (emblem), a type of a large symbol or emblem used for identification Norms, conventions or requirements * Standard (metrology), an object t ...
. * Represents a very early use of conservative garbage collection in a
Lisp Lisp (historically LISP, an abbreviation of "list processing") is a family of programming languages with a long history and a distinctive, fully parenthesized Polish notation#Explanation, prefix notation. Originally specified in the late 1950s, ...
interpreter Interpreting is translation from a spoken or signed language into another language, usually in real time to facilitate live communication. It is distinguished from the translation of a written text, which can be more deliberative and make use o ...
, a method later copied by SCM and Guile. *
Compiling In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs tha ...
is implemented by emitting a fixed
machine code In computer programming, machine code is computer code consisting of machine language instructions, which are used to control a computer's central processing unit (CPU). For conventional binary computers, machine code is the binaryOn nonb ...
prologue A prologue or prolog (from Ancient Greek πρόλογος ''prólogos'', from πρό ''pró'', "before" and λόγος ''lógos'', "speech") is an opening to a story that establishes the context and gives background details, often some earlier st ...
followed by a fast-loading binary representation of the
parse tree A parse tree or parsing tree (also known as a derivation tree or concrete syntax tree) is an ordered, rooted tree that represents the syntactic structure of a string according to some context-free grammar. The term ''parse tree'' itself is use ...
to be interpreted.


Applications

* GNU Image Manipulation Program (
GIMP Gimp or GIMP may refer to: Clothing * Bondage suit, also called a gimp suit, a type of suit used in BDSM * Bondage mask, also called a gimp mask, often worn in conjunction with a gimp suit Embroidery and crafts * Gimp (thread), an ornamental tr ...
) – SIOD was its primary extension language, Script-Fu, until GIMP 2.4 was released. * Siag Office – Scheme in a Grid (SIAG) is a
spreadsheet A spreadsheet is a computer application for computation, organization, analysis and storage of data in tabular form. Spreadsheets were developed as computerized analogs of paper accounting worksheets. The program operates on data entered in c ...
application using SIOD as a base. * Festival Speech Synthesis System – SIOD is its underlying command interpreter.


References


External links

* *
SIOD on CodePlex
{{Lisp programming language Scheme (programming language) interpreters Scheme (programming language) implementations