Unicon (programming language)

From Wikipedia, the free encyclopedia
Unicon
Paradigmobject-oriented, procedural
Designed byClint Jeffery
OSCross-platform: Windows, Unix
LicenseGNU General Public License
Websiteunicon.sourceforge.net
Influenced by
Icon

Unicon is a programming language designed by American computer scientist Clint Jeffery with collaborators including Shamim Mohamed, Jafar Al Gharaibeh, Robert Parlett and others. Unicon descended from Icon and a preprocessor for Icon called . Compared with Icon, Unicon offers better access to the operating system as well as support for object-oriented programming. Unicon began life as a merger of three popular Icon extensions: an OO preprocessor named Idol, a POSIX filesystem and networking interface, and an ODBC facility. The name is shorthand for "Unified Extended Dialect of Icon."

Features[]

Compared with Icon, many of the new features of Unicon are extensions to the I/O and system interface, to complement Icon's core control and data structures. Rather than providing lower-level APIs as-is from C, Unicon implements higher level and easier to use facilities, enabling rapid development of graphic- and network-intensive applications in addition to Icon's core strengths in text and file processing.

Feature list[]

  • Classes and packages
  • Exceptions as a contributed class library - see mailing list
  • Loadable child programs
  • Monitoring of child programs
  • Dynamic loading of C modules (some platforms)
  • Multiple inheritance, with novel[1] semantics
  • ODBC database access[2]
  • dbm files can be used as associative arrays
  • Posix system interface
  • 3D graphics[3]
  • True concurrency (on platforms supporting Posix threads)[4]

When run as a graphical IDE, the Unicon program ui.exe continues to offer links to Icon help.

The official Unicon programming book in PDF format[5] is a popular way to learn Unicon. The book includes an introduction to object-oriented development as well as UML. It includes useful chapters on topics such as the use of Unicon for CGI. Recent additions to Unicon include true concurrency.

Unicode[]

Unicon is not yet Unicode-compliant. There are opportunities posted at a help-wanted page.[6]

Example code[]

procedure main()
	w := open("test UNICON window", "g")
	write(w, "Hello, World!")
	read(w)
	close(w)
end

See also[]

  • Rebol, a similar web-oriented expression-based language without the use of keywords
  • Curl, multi-paradigm web content functional language which is also expression-based but only for client-side
  • Coroutine
  • Generators
  • Continuation

References[]

  1. ^ https://www.researchgate.net/publication/2420091_Closure-Based_Inheritance_and_Inheritance_Cycles_in_Idol
  2. ^ "Unicon ODBC Interface".
  3. ^ http://unicon.org/utr/utr9c.pdf
  4. ^ http://unicon.org/utr/utr14.pdf
  5. ^ http://unicon.org/book/ub.pdf
  6. ^ http://unicon.org/helpwanted.html

External links[]

Retrieved from ""