Interactive Data Language
動的型付け
単一の名前空間
元々はシングルスレッドだったが、現在はマルチスレッド機能を持つ。
関数の引数は参照渡し。ただし、後述する問題がある。
キーワードと呼ばれる名前付きパラメータがあり、参照渡しで渡される。サブルーチンコールの入れ子における名前付きパラメータの継承が可能。
変数を事前に宣言する必要がない。ただし、ルーチン間で共有する広域変数を宣言するCOMMONブロックがある。
基本的なオブジェクト指向プログラミングが可能で、Smalltalkにやや似ている。ポインタやオブジェクトは1つのヒープ領域で実装している。IDL 8.0 でガベージコレクションがサポートされた。
コンパイラはPコードマシンのコードを生成する。
大きな配列からデータを抜き出すインデックス範囲指定方法を持つ。
整数には各種サイズがあり、浮動小数点数も単精度と倍精度があり、複素数型もある。
文字列型、配列、ハッシュテーブル、リスト、各種データ型を格納できるレコード構造などの複合データ型もある。