SIOD
Encyclopedia
Scheme In One Defun is a small-footprint implementation of the Scheme programming language, written in C
and designed to be embedded inside C programs. It was originally written by Professor George J. Carrette at Boston University
as a demonstration in a laboratory.
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
and designed to be embedded inside C programs. It was originally written by Professor George J. Carrette at Boston University
Boston University
Boston University is a private research university located in Boston, Massachusetts. With more than 4,000 faculty members and more than 31,000 students, Boston University is one of the largest private universities in the United States and one of Boston's largest employers...
as a demonstration in a laboratory.
Features
- SIOD implements the original version of Scheme from the Lambda Papers, but it does not implement any of the modern language standards.
- SIOD represents a very early use of conservative garbage collectionGarbage collection (computer science)In computer science, garbage collection is a form of automatic memory management. The garbage collector, or just collector, attempts to reclaim garbage, or memory occupied by objects that are no longer in use by the program...
in a LispLisp programming languageLisp is a family of computer programming languages with a long history and a distinctive, fully parenthesized syntax. Originally specified in 1958, Lisp is the second-oldest high-level programming language in widespread use today; only Fortran is older...
interpreter, a technique which was later copied by SCMSCM (Scheme implementation)SCM is a free software Scheme implementation in C written by Aubrey Jaffer, the same author as the SLIB Scheme library and the JACAL interactive symbolic mathematics program.It conforms to the R4RS, R5RS, and IEEE P1178 standards....
and GuileGNU GuileGNU Guile is an interpreter/virtual machine for the Scheme programming language. It was first released in 1993. Guile includes modularized extensions for POSIX system calls, APL array functionality, and others packaged as an object library...
. - CompilationCompilerA compiler is a computer program that transforms source code written in a programming language into another computer language...
is implemented by emitting a fixed machine codeMachine codeMachine code or machine language is a system of impartible instructions executed directly by a computer's central processing unit. Each instruction performs a very specific task, typically either an operation on a unit of data Machine code or machine language is a system of impartible instructions...
prologueFunction prologueIn assembly language programming, the function prologue is a few lines of code at the beginning of a function, which prepare the stack and registers for use within the function...
followed by a fast-loading binary representation of the parse treeParse treeA concrete syntax tree or parse tree or parsing treeis an ordered, rooted tree that represents the syntactic structure of a string according to some formal grammar. In a parse tree, the interior nodes are labeled by non-terminals of the grammar, while the leaf nodes are labeled by terminals of the...
to be interpreted.
Applications
- GIMPGIMPGIMP is a free software raster graphics editor. It is primarily employed as an image retouching and editing tool and is freely available in versions tailored for most popular operating systems including Microsoft Windows, Apple Mac OS X, and Linux.In addition to detailed image retouching and...
used SIOD as its primary extension language, Script-Fu, until version 2.4 was released. - SIAGSiag OfficeSiag Office is a tightly integrated, free software office package for Unix-like operating systems. It consists of the spreadsheet SIAG , the word processor Pathetic Writer , the animation program Egon Animator, the text editor XedPlus, the file manager Xfiler and the previewer Gvu...
(Scheme in a grid) is a spreadsheet application using SIOD as a base.