The use of pictorial forms as instructions to a computer has long been a quest in computer graphics. However, a formalism for describing visual computation has been lacking. This paper proposes the notion of "executable graphics" as a framework for such work. The basis of the framework is the ideas and environment of LISP, extending computing with symbolic expressions to computing with text-graphic forms. The function of the framework is to provide a tool for thinking about the appearance of programming notations.
The paper has four parts. In PART I a special graphics editor is described. Before examples of executable graphics can be presented, an environment is needed within which it is even possible to execute graphics. PART II offers two examples of executable graphics, one of which runs in a graphic-LISP environment at the Stanford Artificial Intelligence Lab. Next in PART III the computing with text-graphic forms formalism for executable graphics is described. The formalism is embodied in the PAM programming language, PAM standing for visual PAttern Manipulating. Finally in PART IV, PAM is used to re-examine the examples from part I and implementations are defined.
An experimental version of the PAM system has been implemented in MACLISP at the Stanford AI Lab. The first three Levels of PAM (handPAM) have been built in Smalltalk at the Xerox Palo Alto Research Center. A complete Franz LISP implementation is now in progress at the Rehab R&D Center.
Key words and phrases: visual programming languages, graphical programming languages, LISP, text-graphic objects, man-machine interface, executable graphics.
Introduction: A Word about Terms
An increasing number of researchers are undertaking work in the area which this author calls "executable graphics". Already there are almost as many different terms for the area as there are researchers in it. The issue of terminology is worth a brief discussion; words often lead the mind, starting people thinking in certain ways. How a new field is conceptualized determines much of what will be found in within that field.
"Executable Graphics" expresses the opinion of the author as to what is or should be the nature of the field: graphics which can be executed. This orientation says: start with the visual richness of objects from graphic design and then find ways to make them executable! This orientation is a prescription to look at any visual object as if it could be executed (imagine there is an intrepreter for it), and it puts the burden on computer science to deal with the variety of images in the applied arts. Executable graphics is quite different from starting with a programming language and then trying to make it visual.
For contrast, here is a brief survey of other terms now in use and their possible disadvantages:
A Taxonomy * for Text-Graphic Objects
* (or an "ontology" if you like, since an ontology is just a taxonomy with an attitude)
Return to papers list
Submitted to SIGGRAPH '83, Minneapolis, Minnesota
(C) Copyright 1982, 1995 PGC