[comp.sys.mac] Icon Programming Language for the Macintosh

boba@iscuva.UUCP (03/24/87)

The Icon programming language for the Macintosh is posted in the mod.mac
newsgroup.  For those of us who can't access FTP, it has also been
submitted to mod.mac.binaries and will appear there as soon as it comes
up in that group's queue (in probably a week or two).

It is posted as three separate multi-part postings:  the executable
files, documentation, and sample programs.  The files were "packed"
using PackIt II with compression, and encoded using BinHex 4.0.

Macintosh Icon is a Macintosh Programmer's Workshop Tool.  It cannot run
stand-alone -- it requires the MPW Shell.  It is text oriented, and
there is no interface directly to Mac Toolbox facilities.  The name
"Icon" has nothing to do with icons ala the Macintosh User Interface.

Icon is a very interesting, innovative, and useful language of SNOBOL4
geneology.  The implementation is of high quality and has few bugs.  As
a developer, I find it useful almost daily to perform manipulations on
programs or other text files, to generate test data, etc., etc.

Best of all, IT'S FREE!  No need to feel guilty about not sending in
your "shareware" $$ if you like and use it.  Completely public domain.

So that you can see what Icon is all about before you convert these
rather large files, I have included a short excerpt from "An Overview
of the Icon Programming Language", by Ralph E. Griswold, its author:

==============================

Icon is a high level programming language with extensive facilities for
processing strings and lists.  Icon has several novel features,
including expressions that may produce sequences of results,
goal-directed evaluation that automatically searches for a successful
result, and string scanning that allows operations on strings to be
formulated at a high conceptual level.

Icon resembles SNOBOL4 in its emphasis on high-level string processing
and a design philosophy that allows ease of programming and short,
concise programs.  Like SNOBOL4, storage allocation and garbage
collection are automatic in Icon, and there are few restrictions on the
sizes of objects.  Strings, lists, and other structures are created
during program execution and their size does not need to be known when a
program is written.  Values are converted to expected types
automatically; for example, numeral strings read in as input can be used
in mathematical computations without explicit conversion.  Whereas
SNOBOL4 has a pattern-matching facility that is separate from the rest
of the language, string scanning is integrated with the rest of the
language facilities in Icon.  Unlike SNOBOL4, Icon has an
expression-based syntax with reserved words; in appearance, Icon
programs resemble those of several other conventional programming
languages.

Examples of the kinds of problems for which Icon is well suited are:

	*  text analysis, editing, and formatting
	*  document preparation
	*  symbolic mathematics
	*  text generation
	*  parsing and translation
	*  data laundry
	*  graph manipulation
-- 

Bob Alexander	   ISC Systems Corp.  Spokane, WA  (509)927-5445
		   UUCP: ihnp4!tektronix!reed!iscuva!boba