Catalogue of Artificial Intelligence Techniques
Keywords: common lisp, functional programming, lisp, lists, programming, programming languages, scheme
Categories: Programming Languages
Author(s): Vasilios G Danias
Scheme is a minimalist, multi-paradigm programming language. It is best known for its support of functional programming. Scheme’s key element is simplicity. Scheme’s specification is about 50 pages. In contrast, Common Lisp’s is around 1300. Scheme together with Common Lisp are the main Lisp dialects.
Scheme was designed by Guy L. Steele and Gerald Jay Sussman in the 1970s. It started as an attempt to understand Carl Hewitt’s Actor Model. The original name of Scheme was “Schemer”. The current name was a result of the file system’s limitations of the ITS operating system the authors used.
There are two standards that define Scheme: the official IEEE standard and a de facto standard called the Revised Report on the Algorithmic Language Scheme (RxRS). The latest in development standard is R6RS.
Scheme uses the linked list data structure in the usual Lisp form. In the field of Artificial Intelligence Lists are essential because of their flexibility: a programmer do not need to specify in advance the number or type of elements in a list. In addition, lists can be used to represent an almost limitless array of things, from expert rules to computer programs to thought processes to system components. A substantial amount of work in AI has been done in Scheme.
Other common data types in Scheme are: integer, rational, real, complex numbers, symbols, strings, and ports.
- Richard Kelsey, William Clinger, Jonathan Rees, Revised^5 Report on the Algorithmic Language Scheme Higher-Order and Symbolic Computation 11 (1998).
- Gerald Jay Sussman and Guy L. Steele, Jr, The First Report on Scheme Revisited Higher-Order and Symbolic Computation 11 (1998) no.December.
- Joseph Schmuller, page 21 Languages of AI (1991) no.September/October.