Io is small prototype-based programming language. The ideas in Io are mostly inspired by Smalltalk (all values are objects), Self (prototype-based), NewtonScript (differential inheritance), Act1 (actors and futures for concurrency), LISP (code is a runtime inspectable/modifiable tree) and Lua (small, embeddable).
Here are some key features of “Io”:
· open source BSD license
· pure object language
· small VM (~16K C statements, 8K Io specific)
· small memory footprint (between 64K-200K depending on the platform)
· reasonably fast (comparable to Python, Perl, Ruby)
· incremental collector, weak links
· differential prototype-based object model
· dynamic typing
· exceptions
· ANSI C implementation (except for coroutines)
· embeddable
· multi-state (multiple VMs can run in the same application)
· actor-based concurrency
· coroutines
· 64 bit clean.