Icon Language

A String Oriented programming language by Ralph Griswold and Madge Griswold's folks at University Of Arizona (www.cs.arizona.edu ).

There is an Object Oriented variant as well as a Java Language based version (JCon, www.cs.arizona.edu )

This is a modern language with built-in strings, lists, patterns, generators, coroutines, and co-expressions. The reference interpreter is written in Cee Language and runs on a variety of machines.

It is the logical successor to Snobol Language.



See also Unicon: unicon.sf.net

Adds extensions to Icon; most importantly, OOP features.



Python Language has been heavily influenced by Icon. For instance, it has directly taken generators.

I don't think that's right. (1) Generators are in fact just about the only thing in Python that in any sense comes from Icon. (2) Python's generators are quite different from Icon's; they are deliberately less powerful, and they are nowhere near as pervasive in the language as in Icon. It's absolutely true that the idea and the name come from Icon, but they surely aren't "directly taken". -- Gareth Mc Caughan

On the other hand, the designers of Lua Language have acknowledged Icon and SNOBOLs' influence on its generators and coroutines. -- Scott Vokes


ICON has spawned an OO version in UNICON (used in USA by the National Institutes of Health) and now another in Object Icon (code.google.com/p/objecticon)

For a Java-version of UNICON, see Godiva.

For Pythonistas there is now Laurie Tratt's Converge at convergepl.org

SNOBOL make its return to Python as Sno Py and is even coming back into UNICON as an alternative to ICON string scanning.

Something ICON-like may yet enter into the Falcon programming language.

ICON's limited logic programming finds a parallel in Erlang (if both are compared to pure LP languages)

ICON is said to have influenced some early participants in the REBOL language.


See original on c2.com