Premium
A scheme for little languages in interactive graphics
Author(s) -
Beckman Brian
Publication year - 1991
Publication title -
software: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.437
H-Index - 70
eISSN - 1097-024X
pISSN - 0038-0644
DOI - 10.1002/spe.4380210206
Subject(s) - computer science , programming language , scripting language , compiled language , interpreter , first generation programming language , low level programming language , language primitive , fourth generation programming language , scheme (mathematics) , very high level programming language , graphics , fifth generation programming language , high level programming language , programming paradigm , programming domain , functional logic programming , computer graphics (images) , inductive programming , mathematics , mathematical analysis
Programming environments for interactive graphics software typically have a multiplicity of tools and applications. Many of these programs contain ad hoc ‘little language’ interpreters 1 that do many similar things in needlessly different ways. In particular, many little languages have, in addition to their special‐purpose constructs, vestigial support for ordinary programming, such as variables, loops and conditionals. If a single, standard programming language were the basis for all these little languages, they could have complete, coherent programming semantics; they could communicate with each other more easily; no design work for basic constructs would be needed; and interpreter implementation work would be saved. The approach of reusing and extending the same core language and interpreter for a variety of little languages is the extension language approach. Scheme is proposed as a good choice for such a core language. Scheme is a simple, elegant, high‐level programming language. Extendable implementations are readily available in C source form. Example applications in Scheme from interactive graphics are presented that would be nearly impossible to code in a typical scripting language and very tedious to code in a lower‐level implementation language such as C.