Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Unicon (programming language)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{short description|Programming language descended from Icon}} {{primary sources|date=June 2018}} {{Infobox programming language | name = Unicon | logo = | file ext = | paradigm = [[object-oriented programming|object-oriented]], [[procedural programming|procedural]] | released = <!-- {{Start date|YYYY}} --> | designer = Clint Jeffery | developer = | latest release version = | latest release date = <!-- {{start date and age|YYYY|MM|DD}} --> | latest preview version = | latest preview date = <!-- {{start date and age|YYYY|MM|DD}} --> | typing = | implementations = | dialects = | influenced by = [[Icon programming language|Icon]] | influenced = | operating system = [[Cross-platform]]: [[Microsoft Windows|Windows]], [[Unix]] | license = [[GNU General Public License]] | website = {{url|http://unicon.sourceforge.net/}} | wikibooks = }} '''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 programming language|Icon]] and a preprocessor for Icon called [[IDOL (programming language)|IDOL]]. 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 [[Open Database Connectivity|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 *[[Exception handling|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<ref>{{cite web |url=https://www.researchgate.net/publication/2420091 |title=Closure-Based Inheritance and Inheritance Cycles in Idol |date=August 1998 |author=Clinton Jeffery |via=[[ResearchGate]]}}</ref> semantics * ODBC database access<ref>{{Cite web|url=http://unicon.org/utr/utr1/utr1.htm|title = Unicon ODBC Interface}}</ref> * dbm files can be used as associative arrays * Posix system interface * 3D graphics<ref>{{cite web| url=http://unicon.org/utr/utr9c.pdf | title=Unicon 3D Graphics - User's Guide and Reference Manual | access-date=2024-01-27}}</ref> * True concurrency (on platforms supporting Posix threads)<ref>{{cite web| url=http://unicon.org/utr/utr14.pdf | title=Unicon Threads - User's Guide and Reference Manual | access-date=2024-01-27}}</ref> 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<ref>{{cite web| url=http://unicon.org/book/ub.pdf | title=Programming with Unicon | access-date=2024-01-27}}</ref> is a popular way to learn Unicon. The book includes an introduction to object-oriented development as well as [[Unified Modeling Language|UML]]. It includes useful chapters on topics such as the use of Unicon for CGI. Recent additions to Unicon include true [[concurrent computing|concurrency]]. == Unicode == Unicon is not yet [[Unicode]]-compliant. There are opportunities posted at a help-wanted page.<ref>{{Cite web|url=http://unicon.org/helpwanted.html|title=Help Wanted!}}</ref> ==Example code== <syntaxhighlight lang="unicon"> procedure main() w := open("test UNICON window", "g") write(w, "Hello, World!") read(w) close(w) end </syntaxhighlight> ==See also== * [[REBOL|Rebol]], a similar web-oriented expression-based language without the use of keywords * [[Curl (programming language)|Curl]], multi-paradigm web content functional language which is also expression-based but only for client-side * [[Coroutine]] * [[Generator (computer science)|Generators]] * [[Continuation]] ==References== {{Reflist|1}} ==External links== * [http://www.unicon.org/ Unicon] * {{SourceForge|unicon}} * [http://unicon.org/book/ Unicon Programming book] * [http://www.drones.com/unicon/ Posix Interface for Unicon ] * [http://www.cs.nmsu.edu/~sgaikaiw/Thesis.pdf ADAPTING SNOBOL-STYLE PATTERNS TO UNICON] * [http://www2.cs.arizona.edu/icon/jcon/ Java version of Icon] * [http://99-bottles-of-beer.net/language-unicon-1129.html Unicon at 99-bottles] * [https://literateprograms.org Literate programs] [[Category:Icon programming language family]] [[Category:Pattern matching programming languages]] [[Category:Text-oriented programming languages]] [[Category:SNOBOL programming language family]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite web
(
edit
)
Template:Infobox programming language
(
edit
)
Template:Primary sources
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:SourceForge
(
edit
)