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: 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