iolanguage

言語名は「Io」。

プロトタイプベースの純粋なオブジェクト指向言語Lispのように著しい単純さと一貫性を持ち、文法の習得は容易で、高機能。検索は「iolanguage」で。

作者はSteve Dekorte氏。BSDライセンス

歴史

2002年 製作開始

2005年 1.0リリース予定

影響を受けた言語

特徴

メッセージ

例外なく全てのことがメッセージ送信によって行われる。文字列とメッセージオブジェクトとコードの変換は容易で、eval的なメソッドも多数用意されている。メソッド引数はメッセージオブジェクトとして扱うこともできる。

プロトタイプベース

クラスは使用せず、cloneによって複製可能な、オブジェクトだけを扱う。オブジェクトはスロットと呼ばれる、識別子とオブジェクトのセットの集まり。継承はprotosという特殊なスロットにセットされたオブジェクトを辿って、スロットの検索を行うことで実現されている。深さ優先の多重継承も可能。

動的

型付けは動的。また、ライブラリオブジェクトも含めて、スロットやprotosはいつでも変更できる。

軽量

小型の仮想機械で実行されるため、他言語のアプリケーションへの組込みにも利用できる。