Icon

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

FTP, MS-DOS FTP.

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)


icon

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