Io is a programming language focused on expressiveness through simplicity.
inspirations
Self, Lua, Smalltalk, NewtonScript, Act1, LISP
pure
minimal syntax
all values are objects
prototype-based object model
everything is a message, even assignment
no keywords, no globals
dynamic
all messages are dynamic
code is a runtime modifiable tree of messages
arguments passed by expression, receiver controls eval
differential inheritance
become, transparent proxies, weak links
concurrent
coroutine based actors
transparent futures
automatic lock detection
implementation
small
C stack based interpreter
open source
embeddable
multi-state
incremental collector
status
binaries maintained by Jake Jeck
build system maintained by Ales Tsurko
patches welcome
history
created in 2002
actively developed until 2008
future
WASM implementation
abstracted slots
transparent transactional persistence
capabilities