This article needs additional citations for verification. (August 2014) |
![]() | |
Paradigms | object-oriented prototype-based |
---|---|
Designed by | Steve Dekorte |
Developers | Steve Dekorte, Jonathan Wright, Jeremy Tregunna |
First appeared | 2002 |
Stable release | 20170906
/ September 6, 2017[1] |
Preview release | 2019.05.22-alpha
/ May 22, 2019 |
Typing discipline | dynamic, strong |
Platform | IA-32, x86-64; ARM, M1–M4; .NET CLR |
OS | Windows, macOS |
License | BSD 3-clause |
Website | iolanguage |
Major implementations | |
Io Io.NET | |
Influenced by | |
Smalltalk, NewtonScript, Self, Lua, Lisp, Python, Act1 | |
Influenced | |
Ioke, Potion |
Io is a pure object-oriented programming language inspired by Smalltalk, Self, Lua, Lisp, Act1, and NewtonScript.[2] Io has a prototype-based object model similar to those in Self and NewtonScript, eliminating the distinction between instance and class. Like Smalltalk, everything is an object and it uses dynamic typing. Like Lisp, programs are just data trees. Io uses actors for concurrency.
Remarkable features of Io are its minimal size and openness to using external code resources.[3] Io is executed by a small, portable virtual machine.