The Icon Programming Language
Click below to go directly to a specific section:
Significant Language Features |
Areas of Application |
Related Links |
Printed References |
Icon is a derivation of SNOBOL, a language originally designed by Bell Telephone Laboratories in the early 60s to promote development of string and structure intensive applications. Further implementations of Icon have been produced by The University of Arizona . The name Icon was chosen before the term "icon" became popular for GUI images in use today and does not stand for anything correlating to the language (apparently it is just a catchy name). The Latest Implementations of Icon and the Icon program library are 9.1 and 9.2, respectively. Version 9.3 of Icon and the next version of the Icon Library is scheduled for release in the fourth quarter of 1996. Platforms supported include UNIX, MS-DOS, MS-DOS 32-bit, VAX/VMS, Macintosh/MPW, and Acorn Archimedes, while versions for Microsoft Windows and NT are in beta testing. Icon can be implemented as an interpreted or compiled language. Interpreting Icon is useful for small programs, or when debugging. Compiling Icon will first translate to C code, which must then be recompiled as C.
Significant Language Features
Icon is a high-level, imperative, procedural language especially useful for processing strings and structures.
- String processing capabilities - allow a multitude of operations on strings, including convenient analysis of strings using pattern matching functions.
- Expression-evaluation syntax - uses control structures to combine evaluations with backtracking.
- Built-in data structures - data types can be numerical values, strings, lists, characters, records, procedure, or tables with associative lookup. Lists can be used as stacks and queues, records, or vectors.
- Strongly typed language - values are typed, as opposed to variables. Values are not statically typed.
- Transparent automatic type conversion - values are converted to expected types without casting.
- Storage allocation automatic - Objects are created during execution and deallocated as space is needed. String sizes do not need to be defined when program is coded and are dependent only on available memory.
- Graphics facilities
Areas of Application
- Artificial Intelligence
- Research Applications
- Expert Systems
- Prototyping Tool
- Symbolic Mathematics
- Text Processing:
- Text Analysis
- Text Editing
- Text Generation
- Document Formatting
- Griswold, Ralph E., Clinton L. Jeffery, Gregg M. Townsend, and Kenneth Walker.
Version 9.0 of the Icon Programming Language,
IPD236, Department of Computer Science, The University of Arizona. 1994.
- Griswold, Ralph E. and Madge T. Griswold.
The Icon Programming Language, Second Edition,
Prentice-Hall, Inc., Englewood Cliffs, New Jersey. 1990,
- G. M. Townsend, R. E. Griswold and C. L. Jeffery,
Facilities for the Icon Programming Language; Version 9.1, The Univ.
of Arizona Icon Project Document IPD268, 1995.
Special thanks to the University of Arizona's Department of Computer Science and the excellent Icon Page they have assembled.
Last modified: 10:00 AM on 11/24/1996
This page has been accessed