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 <firstname.lastname@example.org> 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.
["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].
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 bitmap images. Microsoft Windows uses a special bitmap format with file name extension ".ico" as well as embedding icons in executable (".exe") and Dynamically Linked Library (DLL) files.
The term originates from Alan Kay's theory for designing interfaces which was primarily based on the work of Jerome Bruner. Bruner's second developmental stage, iconic, uses a system of representation that depends on visual or other sensory organization and upon the use of summarising images.
[What MS tool can create .ico files?]