Icon
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 {exception}s. 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-expression}s, which can be explicitly resumed at any time.
Version 8.8 by Ralph Griswold includes
an {interpreter}, a compiler (for some {platform}s) 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
(ftp://bellcore.com norman/iconexe.zip)}.
{Usenet} newsgroup: {news:comp.lang.icon}.
E-mail: , .
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].
(1992-08-21)