(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 <[email protected]> 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.

ftp://cs.arizona.edu/icon/, MS-DOS FTP.

Usenet newsgroup: news:comp.lang.icon.

E-mail: <[email protected]>, <[email protected]>.

Mailing list: [email protected]

["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].

Last updated: 1992-08-21