{{language|Unicon |site=http://unicon.org/ |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|Object-oriented}} {{language programming paradigm|Logic_Programming}} {{Language programming paradigm|Concurrent}}

Unicon is a unification of several extended dialects of the [[derived from::Icon]] language, featuring Icon plus classes, POSIX system facilities, GDBM and ODBC-based (SQL) database access, packages, 3D graphics and more, all provided at a very high semantic level.

In addition to Icon, Unicon draws from:

  • IDOL an object-oriented Icon preprocessor
  • MTIcon a multi-threading Icon. (Most recently, in version 12, improved multi-threading capabilities were added.)

While Unicon is mostly a super-set of Icon there are some differences and incompatibilities.

Icon itself is an evolution of the line of languages [[wp:COMIT|COMIT]], SNOBOL, [[:Category:SNOBOL4|SNOBOL4]], and SL5.

== Introduction to Icon and Unicon == If you want to learn more about these languages please see [[Icon%2BUnicon/Intro|An introduction to Icon and Unicon for Rosetta Code]].

The following are related:

  • [[:Category:Icon_Programming_Library|The Icon Programming Library]]
  • [[:Category:Unicon_Code_Library|The Unicon Code Library]]

== External Links and References ==

Home Pages

  • [http://unicon.org/ Unicon home page on Sourceforge]
  • [http://www.cs.arizona.edu/icon/ The Icon home page at the University of Arizona]


= General =

  • [http://unicon.org/book/ub.pdf Book: Programming with Unicon describing the language, the Icon Programming Library and Unicon extensions]
  • [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://www.tools-of-computing.com/tc/CS/iconprog.pdf Book: Icon Programming Language Handbook]
  • [http://www2.cs.uidaho.edu/~jeffery/icon/humanists/humanist.pdf Book: Icon Programming for Humanists]

= Internals =

  • [http://unicon.sourceforge.net/book/ib.pdf The Implementation of Icon and Unicon a Compendium]] ** [http://unicon.sourceforge.net/reports.html Unicon Technical Reports and works in progress]
  • [http://www.cs.arizona.edu/icon/ftp/doc/ib1up.pdf The Implementation of the Icon Programming Language] ** [http://www.cs.arizona.edu/icon/docs/ipd112.htm IPD112 Supplement to Version 8] ** [http://www.cs.arizona.edu/icon/docs/ipd239.htm IPD239 Supplement to Version 9] ** [http://www.cs.arizona.edu/icon/docs/docs.htm Icon Technical Reports (TR) and Project Documents (IDP)]

Articles and Newsletters

  • [http://unicon.org/generator/ Archived issues of the Generator from 2004-2005 discussing Unicon 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]

Programming References

  • [http://www.cs.arizona.edu/icon/library/ipl.htm The Icon Programming Library and index]
  • [https://tapestry.tucson.az.us/twiki/bin/view/Main/WebHome Unicon Discussion Web/TWiki containing various programming examples, problems, and challenges]


  • [[wp:Unicon_(programming_language)|Wikipedia: Unicon]]
  • [[wp:Icon_%28programming_language%29|Wikipedia: Icon]]
  • [http://www.mitchellsoftwareengineering.com/icon/icon.sli.pdf Presentation: Fundamentals of Icon Programming]
  • [http://www.pclosmag.com/html/Issues/201101/page17.html PC Linux OS Magazine, Volume 48, Computer Languages From A to Z: Unicon]
  • [[Jcon]]
  • [[ObjectIcon]]

== Other RosettaCode Wiki Links ==

  • [[:Category_talk:Unicon|The Discussion Tab for this page]] Lots of notes about things to do, help wanted, ideas, and guidance on formatting and markup
  • [[Reports:Tasks_not_implemented_in_Unicon|Tasks not yet implemented]] Tasks that need to be coded ** [[Icon%2BUnicon/Analysis_of_UnimplementedTasks]] for an analysis of the groupings of these tasks (taken at a point in time)
  • [[:Category:Unicon/Omit|Unimplementable tasks]] Tasks that cannot be implemented in the language
  • [[:Category:Unicon_examples_needing_attention|Tasks requiring attention]] Tasks that could be improved
  • [[Special:MostLinkedCategories|Most Linked Categories]] shows how many pages various languages (and other categories) have.