What is Icon?
Icon is a very high level general-purpose programming language with extensive features for processing strings (text) and data structures. Icon is an imperative, procedural language with a syntax that is reminiscent of C and Pascal, but with semantics at a much higher level. Icon has a novel expression-evaluation mechanism that integrates goal-directed evaluation and backtracking with conventional control structures. It has a string scanning facility for pattern matching that avoids the tedious details usually associated with analyzing strings. Icon’s built-in data structures include sets and tables with associative lookup, lists that can be used as vectors or stacks and queues, and records. Icon is a strongly, though not statically, typed language. It provides transparent automatic type conversion: For example, if an integer is used in an operation that requires a string, the integer is automatically converted to a string.
ICON, or the Institute for Conservation, http://www.icon.org.uk, is the lead voice for the conservation of cultural heritage in the UK. ICON’s membership embraces the wider conservation community, incorporating not only professional conservators in all disciplines, but all others who share a commitment to improving understanding of and access to our cultural heritage.