top of page

Icon Programming Language


Icon is a very high-level programming language featuring goal-directed execution and many facilities for managing strings and textual patterns. It is related to SNOBOL and SL5, string processing languages. Icon is not object-oriented, but an object-oriented extension called Idol was developed in 1996 which eventually became Unicon.


Icon's most important capabilities are:

  • support for strings of characters of arbitrary length

  • high-level facilities for analyzing strings

  • a powerful expression-evaluation mechanism

  • sophisticated data structures for managing complex relationships among data

  • high-level graphics facilities

  • automatic storage management


Syntax:

procedure doSomething(aString)
    write(aString)
end


Example:

procedure main ()
      write ( "Hello world!" );
  end

Output:

Hello World!


Features:


Icon is a high-level, imperative, procedural language especially useful for processing strings and structures.

  • String processing capabilities - allow a multitude of operations on strings, including convenient analysis of strings using pattern matching functions.

  • Expression-evaluation syntax - uses control structures to combine evaluations with backtracking.

  • Built-in data structures - data types can be numerical values, strings, lists, characters, records, procedure, or tables with associative lookup. Lists can be used as stacks and queues, records, or vectors.

  • Strongly typed language - values are typed, as opposed to variables. Values are not statically typed.

  • Transparent automatic type conversion - values are converted to expected types without casting.

  • Storage allocation automatic - Objects are created during execution and deallocated as space is needed. String sizes do not need to be defined when program is coded and are dependent only on available memory.

  • Graphics facilities



Applications:

  • Artificial Intelligence

  • Research Applications

  • Expert Systems

  • Prototyping Tool

  • Symbolic Mathematics

  • Text Processing:

1. Text Analysis

2. Text Editing

3. Text Generation

4. Document Formatting




The Tech Platform


0 comments
bottom of page