Icon

{{language|Icon |site=http://www.cs.arizona.edu/icon/index.htm |exec=bytecode |parampass=value |strength=strong |safety=safe |express=implicit |checking=dynamic |gc=yes |LCT=yes }} {{virtual machine}} {{language programming paradigm|Procedural}} {{language programming paradigm|Dynamic}} {{language programming paradigm|Logic_Programming}} Icon is a descendant of [[SNOBOL4]] incorporating similar excellent string processing capabilities, built-in hash tables, success/failure based controls, dynamic storage, automatic type casting and coercion of values. Icon added more conventional procedural syntax, generator expressions, goal-directed evaluation that automatically searches for successful results. String scanning and matching superseded the pattern matching functionality of SNOBOL4.

Several extensions of Icon were developed to improve functionality. Many of these were unified with [[Unicon]]

==Related/Variants==

  • [[Jcon]]
  • [[ObjectIcon]]
  • [[Unicon]]

==See Also==

  • [[wp:Icon_(programming_language)|Wikipedia: Icon]]
  • [http://www.cs.arizona.edu/icon/index.htm Icon homepage]
  • [[wp:Unicon_(programming_language)|Wikipedia: Unicon]]
  • [http://www.cs.arizona.edu/icon/ftp/doc/lb1up.pdf Book: The Icon Programming Language, 3rd Edition]
  • [http://www.cs.arizona.edu/icon/ftp/doc/gb1up.pdf Book: Graphics Programming in Icon]
  • [http://www2.cs.uidaho.edu/~jeffery/icon/humanists/humanist.pdf Book: Icon Programming for Humanists]
  • [http://www.mitchellsoftwareengineering.com/icon/icon.sli.pdf Presentation: Fundamentals of Icon Programming]
  • [http://www.cs.arizona.edu/icon/inl/inl.htm Archived issues of the Icon Newsletter from 1979-2000 discussing Icon programming]
  • [http://www.cs.arizona.edu/icon/analyst/ia.htm Archived issues of the Icon Analysts from 1990-2001 discussing advanced Icon programming]
  • [http://www.cs.arizona.edu/icon/library/ipl.htm The Icon Programming Library and index]

== Wiki Links ==

  • [[Icon%2BUnicon/Intro|An introduction to Icon and Unicon for Rosetta Code]]
  • [[:Category:Icon/Omit|Unimplementable tasks]]
  • [[:Category:Icon_examples_needing_attention|Tasks requiring attention]]
  • [[Reports:Tasks_not_implemented_in_Icon|Tasks not yet implemented]]
  • [[:Category:Icon_Programming_Library|The Icon Programming Library]]

Tasks