OCommand: OCaml上の型安全なシェルプログラミング のための領域特化言語

OCommandはOCaml プログラム中からシェルコマンドを型安全に実行するための領域特化言語である. OCommand はコマンドの仕様である, 出力行の各欄の型とコマンドオプションによって起きる変化の記述を受け取り, コマンド起動関数とコマンドオプションを表す値定義を持つ OCaml モジュールを生成する. 生成された起動関数は, 複数のオプション値を受け取りコマンドを実行し, オプションに応じてコマンド出力行をパースして型付きのフィールドからなるレコードを返す. 出力行レコードにおけるフィールドの型や存在の変化を静的に検査するため, 一般化代数的データ型を用いた. Camlp4 を用いて実現した処理系を用いて, これまでに ls や ps などのコマンドを扱えることを確めている.

Members

Publications