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