<language> A descendant of SNOBOL4 with Pascal-like syntax, produced by Griswold in the 1970's. Icon is a general-purpose language with special features for string scanning. It has dynamic types: records, sets, lists, strings, tables. If has some object oriented features but no modules or exceptions. It has a primitive Unix interface.
The central theme of Icon is the generator: when an expression is evaluated it may be suspended and later resumed, producing a result sequence of values until it fails. Resumption takes place implicitly in two contexts: iteration which is syntactically loop-like ('every-do'), and goal-directed evaluation in which a conditional expression automatically attempts to produce at least one result. Expressions that fail are used in lieu of Booleans. Data backtracking is supported by a reversible assignment. Icon also has co-expressions, which can be explicitly resumed at any time.
Version 8.8 by Ralph Griswold <ralph@cs.arizona.edu> includes an interpreter, a compiler (for some platforms) and a library (v8.8). Icon has been ported to Amiga, Atari, CMS, Macintosh, Macintosh/MPW, MS-DOS, MVS, OS/2, Unix, VMS, Acorn.
See also Ibpag2.
Usenet newsgroup: comp.lang.icon.
E-mail: <icon-project@cs.arizona.edu>, <mengarini@delphi.com>.
Mailing list: icon-group@arizona.edu.
["The Icon Programmming Language", Ralph E. Griswold and Madge T. Griswold, Prentice Hall, seond edition, 1990].
["The Implementation of the Icon Programmming Language", Ralph E. Griswold and Madge T. Griswold, Princeton University Press 1986].
(21 Aug 1992)
<graphics> (From minature religious statues) A small picture intended to represent something (a file, directory or action) in a graphical user interface. When an icon is clicked on, some action is performed such as opening a directory or aborting a file transfer. Icons are usually stored as bitmaps.
(07 Mar 1995)