言語名は「Io」。
プロトタイプベースの純粋なオブジェクト指向言語。Lispのように著しい単純さと一貫性を持ち、文法の習得は容易で、高機能。検索は「iolanguage」で。
作者はSteve Dekorte氏。BSDライセンス。
2002年 製作開始
2005年 1.0リリース予定
メッセージ
例外なく全てのことがメッセージ送信によって行われる。文字列とメッセージオブジェクトとコードの変換は容易で、eval的なメソッドも多数用意されている。メソッドの引数はメッセージオブジェクトとして扱うこともできる。
プロトタイプベース
クラスは使用せず、cloneによって複製可能な、オブジェクトだけを扱う。オブジェクトはスロットと呼ばれる、識別子とオブジェクトのセットの集まり。継承はprotosという特殊なスロットにセットされたオブジェクトを辿って、スロットの検索を行うことで実現されている。深さ優先の多重継承も可能。
動的
型付けは動的。また、ライブラリのオブジェクトも含めて、スロットやprotosはいつでも変更できる。
軽量
小型の仮想機械で実行されるため、他言語のアプリケーションへの組込みにも利用できる。