The Icon programming language is a by-product of an on-going
research program whose goals are the design and implementation
of high-level programming languages that emphasize non-numerical
computation -- the manipulation of textual data and structures.

The roots of Icon go back to the SNOBOL programming languages,
which were originally developed at Bell Telephone Laboratories in the
1960s.  Since 1971, this work has been done at The University of Arizona.

Following the last SNOBOL language, SNOBOL4, and preceding Icon,
there was a language called SL5.  Unlike SNOBOL4, SL5 is no longer in
use.

The first version of Icon was conceived in 1976. The original implementation
was done in Fortran (using the Ratfor preprocessor) with an emphasis on
portability.  Version 2 of Icon was the last Fortran-based implementation.
It is still in use on some large mainframe computers.  With Version 3,
the basis of the implementation was changed to C.  Until Version 6, there
was a substantial component of assembly language.  Version 6, however,
was written almost entirely in C and hence is substantially more portable
than previous C-based implementations.

The major version numbers associated with Icon (1, 2, ..., 7) reflect
significant changes in the design of the language itself, not just
implementation differences.  The only comprehensive description of
Icon is contained in the book "The Icon Programming Language",
Griswold and Griswold, Prentice-Hall, Inc., 1983.  Version 7 has some
new features and there is a technical report that supplements the book.

Many persons have contributed to the design and implementation of various
versions of Icon.  The initial versions were designed by Ralph Griswold,
Dave Hanson, and Tim Korb.  The initial implementations were done by
Dave Hanson and Tim Korb with assistance from Walt Hansen.  Subsequent
versions were designed by Cary Coutant, Ralph Griswold, and Steve Wampler.
Cary Coutant and Steve Wampler did the initial C implementations.  Subsequent
work has been done my many persons, notably Ralph Griswold, Bill Mitchell,
Kelvin Nilsen, Ken Walker, Dave Gudeman, and Janalee O'Bagy. Much of the work
on Version 7 was done by Gregg Townsend and Ken Walker.

Much of the success of the present implementation has come from the many
persons who have adapted earlier versions to different computers.  Each
of these efforts contributed to the portability of the present system.
While there are too many persons to mention individually (possibly
hundreds), the following persons have made particularly significant
contributions:  Bob Alexander, Rick Fonorow, Bob Goldberg, Chris Janton,
Jerry Nowlin, John Polstra, Gregg Townsend, and Cheyenne Wills.

Grants from the National Science Foundation have supported most of the
work on the Icon programming language.  In addition, computational
facilities have been provided by The University of Arizona.
