[comp.lang.misc] Request for pointers to information about Icon

gudeman@arizona.UUCP (04/08/87)

   From: janssen@milano.UUCP
   Date: 3 Apr 87 18:47:15 GMT

   Can anyone provide names and addresses, or article citations,
   that I could contact or read for more information on ICON?

Icon is a general-purpose programming language descended from SNOBOL4
and designed for the processing of strings and lists.  It's an
interesting language, if you are familiar with SNOBOL4, think of the
pattern matching facility extended to the whole language.  If you are
a Prolog programmer, think of the Prolog evaluation mechanism (success
or failure with backtracking) with general assignment instead of
resolution.  In either case, you also have to add that Icon
expressions return values while SNOBOL4 patterns and Prolog clauses do
not.

If you don't follow the above, how about this: Icon is a language
where all expressions produce zero or more values.  There aren't any
statements like in C or Pascal, only expressions.  There _is_ a while-
expression, an if-expression, etc.  When any expression fails to
produce a result, it attempts to _resume_ a preceding expression for
another value.  For example find(s1,s2) produces the first position
in the string s2 that matches the string s1.  But since expressions
can produce 0 or more results, if s2 does not occure in s1, the
expression fails.  _And_, if s1 occurs more than once in s2, a
seperate result is produced for each position.

This obviously will not make much sense without a lot more
explanation and examples.  I recommend the book

	Ralph E. Griswold, Madge T. Griswold. _The Icon Programming
	Language_. Prentice Hall, 1983.

Icon is implemented for a large number of systems including IBM 370,
MSDOS, BSD Unix, VMS and about 20 more.  For information on how to get
an Icon interpreter (public domain, free except for distribution
costs, written in C) contact

	icon-project@arizona.edu
or
	ihnp4!arizona!icon-project
or
	Icon Project
	Department of Computer Science
	Gould-Simpson Science Building
	The University of Arizona
	Tucson, AZ 85721

					David Gudeman

					Department of Computer Science
gudeman@arizona.edu			Gould-Simpson Science Building
ihnp4!arizona!gudeman			The University of Arizona
602-621-2858				Tucson, AZ 85721

gudeman@arizona.edu (David Gudeman) (04/08/87)

I got a little carried away on my list of Icon distributions, and have
since been corrected.  Here's the _real_ list of distributions.  You
can consider it reliable since it's from Ralph Griswold, the inventor
and distributor of Icon.

	UNIX	most all computers and flavors
	VMS	VAX
	MS-DOS	all computers
	Macintosh
	Atari