Scheme In One Defun, or humorously Scheme In One Day (SIOD) is a programming language, a dialect of the language Lisp, 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 released under a GNU Lesser General Public License (LGPL).

Features

SIOD features include:

  • Implements the original version of Scheme from the Lambda Papers, but none of the modern language standards.
  • Represents a very early use of conservative garbage collection in a Lisp interpreter, a method later copied by SCM and Guile.
  • Compiling is implemented by emitting a fixed machine code prologue followed by a fast-loading binary representation of the parse tree to be interpreted.

Applications

  • GNU Image Manipulation Program (GIMP) – SIOD was its primary extension language, Script-Fu, until GIMP 2.4 was released.
  • Siag Office – Scheme in a Grid (SIAG) is a spreadsheet application using SIOD as a base.
  • Festival Speech Synthesis System – SIOD is its underlying command interpreter.

References

  • SIOD on CodePlex