Gregg M. Townsend
Department of Computer Science
The University of Arizona
www.cs.arizona.edu/icon/v940/docguide.htm
Last updated May 25, 2001
Icon is distributed with a small set of documentation pages:
This guide provides an overview of additional available information. Documents designated with IPD numbers are Icon Project Documents found at the Icon web site, www.cs.arizona.edu/icon.
The command-line interface to Icon is described by the
icont
man page.
The Icon language is defined by
The Icon Programming Language, Third Edition
Ralph E. Griswold and Madge T. Griswold
Peer-to-Peer Communications, 1996
ISBN 1-57398-001-3
Some introductory material can be found on the web:
The Icon Programming Language Handbook, by Thomas W. Christopher, is available on the web at www.toolsofcomputing.com/IconHandbook.
Icon's graphics facilities are defined by
Graphics Programming in Icon
Ralph E. Griswold, Clinton L. Jeffery, and Gregg M. Townsend
Peer-to-Peer Communications, 1998
ISBN 1-57398-009-9
Two older reports present an overview of Icon's graphics:
A few minor features have been added since the publication of the Icon books:
Program library documentation is contained within the source code. Extracted documentation is available at www.cs.arizona.edu/icon/v940/library/ipl.htm.
Icon's internals are detailed in
Remaining copies of this book are available from The Icon Project. Although considerable changes have occurred since Version 6, described in the book, the basic structure is the same, and technical reports describing recent implementation changes are included.The Implementation of the Icon Programming Language
Ralph E. Griswold and Madge T. Griswold
Princeton University Press, 1986, out of print
ISBN 0-691-08431-9
Icon's run-time implementation language is described in IPD261, www.cs.arizona.edu/icon/ftp/doc/ipd261.pdf (PDF).
The construction of loadable C functions is described in
the Dynamic Loading section of IPD240,
www.cs.arizona.edu/icon/docs/ipd240.htm.
Also see the examples in the
cfuncs
section of the library, which use
a simpler set of interface macros.
Configuration options for new ports are described in IPD238, www.cs.arizona.edu/icon/docs/ipd238.htm, although the details of the porting process have now changed somewhat.
The Icon web site provides a large number of technical reports, including "Icon Project Documents" designated by IPD numbers. The index is found at www.cs.arizona.edu/icon/docs/docs.htm.
Many of these reports are historical and describe past research experiments. Those cited above are among the most current, although they may not be completely correct with respect to Version 9.4.
Other sources of documentation can be found in the Icon FAQ and on the Icon web site, www.cs.arizona.edu/icon.