ⓘ Icon (programming language)

Icon (programming language)

ⓘ 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.


1. Basic syntax

The Icon language is derived from the ALGOL-class of structured programming languages, and thus has syntax similar to C or Pascal. Icon is most similar to Pascal, using:= syntax for assignments, the procedure keyword and similar syntax. On the other hand, Icon uses C-style brackets for structuring execution groups, and programs start by running a procedure called "main".

In many ways Icon also shares features with most scripting languages as well as SNOBOL and SL5, from which they were taken: variables do not have to be declared, types are cast automatically, and numbers can be converted to strings and back automatically. Another feature common to many scripting languages, but not all, is the lack of a line-ending character; in Icon, lines not ended by a semicolon get ended by an implied semicolon if it makes sense.

Procedures are the basic building blocks of Icon programs. Although they use Pascal naming, they work more like C functions and can return values; there is no function keyword in Icon.


2. Goal-directed execution

One of Icons key concepts is that control structures are based on the "success" or "failure" of expressions, rather than on boolean logic, as in most other programming languages. This feature derives directly from SNOBOL, in which any pattern match and/or replacement operation could be followed by success and/or failure clauses that specified a statement label to be branched to under the requisite condition. Under the goal-directed branching model, a simple comparison like if a

  • Unicon is a programming language designed by American computer scientist Clint Jeffery with collaborators including Shamim Mohamed, Jafar Al Gharaibeh
  • operating system Icon computing a pictogram used in a graphical user interface Icon programming language a high - level programming language ICON microcomputer
  • used, into icon - based languages form - based languages and diagram languages Visual programming environments provide graphical or iconic elements which
  • computing, an icon is a pictogram or ideogram displayed on a computer screen in order to help the user navigate a computer system. The icon itself is a
  • revision Bracha views this as a desirable goal for a programming language The language icon is supposed to be Big Brother s eye, as seen in page 3
  • notable programming languages grouped by type. There is no overarching classification scheme for programming languages Thus, in many cases, a language is
  • Logo is an educational programming language designed in 1967 by Wally Feurzeig, Seymour Papert, and Cynthia Solomon. Logo is not an acronym: the name
  • educational programming language is a programming language that is designed mostly as an instrument for learning, and less as a tool for writing programs to perform
  • SNOBOL StriNg Oriented and symBOlic Language is a series of computer programming languages developed between 1962 and 1967 at AT T Bell Laboratories
  • written with the number sign is a general - purpose, multi - paradigm programming language encompassing strong typing, lexically scoped, imperative, declarative