Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!apple!agate!ucbvax!ARIZONA.EDU!kwalker From: kwalker@ARIZONA.EDU ("Kenneth Walker") Newsgroups: comp.lang.icon Subject: Re: Why ICON? Message-ID: <8908271943.AA28708@megaron.arizona.edu> Date: 27 Aug 89 19:43:02 GMT References: <223000001@s.cs.uiuc.edu> Sender: daemon@ucbvax.BERKELEY.EDU Distribution: inet Organization: The Internet Lines: 39 > Date: 25 Aug 89 08:01:00 GMT > From: m.cs.uiuc.edu!s.cs.uiuc.edu!mccaugh@uxc.cso.uiuc.edu > > I have been reading this notesfile for awhile, and must say I am mystified by > its very presence. What is ICON? Here is my standard brief description of Icon. Icon is a high level programming language designed for string processing and other non-numeric applications (numeric processing can be done, but the language and implementation are not tuned for it). Goal-directed evaluation with control backtracking is an integral part of the language. However, Icon is very different from other languages, such as Prolog, which use this evaluation scheme. Icon has a rich set of control structures which use and control backtracking. Most of these control structures look and act very much like the control structures of more traditional languages, allowing Pascal-like programming where the full power of goal-directed evaluation is not required. Icon incorporates generators as a natural feature within this goal-directed evaluation scheme. Icon has a flexible run-time type system: variables may take on values of any type and automatic type conversions are preformed as needed by operations. There are a variety of types including strings, sets, associative tables, and lists with positional, queue, and stack access methods. All storage management is automatic; garbage collection is performed as needed. > What is so special about it as a lanaguage > that it merits its own notesfile? So far, most of what I've read has been > about ICON bugs in Amiga! I would appreciate some explanation about the > purpose of this language and whether it is at all worth learning. I am on the Icon Project, so my opinions are somewhat biased. Perhaps others of you can comment on what you find to be Icon's strengths and weaknesses. What do you use Icon for and why? What don't you use Icon for and why? (Perhaps I will express some of my biased opinions after others have commented.) Ken Walker / Computer Science Dept / Univ of Arizona / Tucson, AZ 85721 +1 602 621 2858 kwalker@Arizona.EDU {uunet|allegra|noao}!arizona!kwalker