<
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.
icon/">ftp://cs.arizona.edu/icon/, {
MS-DOS FTP
(ftp://bellcore.com norman/iconexe.zip)}.
Usenet newsgroup:
news: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].
(1992-08-21)