Kawa

KawaとはJavaで書かれたフレームワークであり、Schemeというプログラミング言語を実装し他の言語も実装することも出来る。GNUプロジェクトの一部である。

名はポーランド語でコーヒーのことを「」と呼ぶことに由来する。Javaの名もコーヒーに由来している事に関連する。

Javaとの統合
Scheme以外でも以下のコードでJavaのオブジェクトフィールドやメソッドにアクセスすることができる。

 (invoke object 'method argument ...)

これはJavaメソッドを起動するものでJavaにおけるobject.method(argument, ...)と同じ動作をする。

また以下の入力でオブジェクトのフィールドにアクセスすることができる。

 object:field-name
もしくは
 (invoke object 'field)

"invoke-static"というファンクションでスタティック（クラス）メソッドを起動することもできる。

Kawaと他のJava仮想マシンインプリメンテーションを組み合わせるなどでKawaはJavaコード（Javaにおいてschemeファンクションを作成）を使って拡張することも可能である。

使用法
GNU/LinuxにてKawaを実行させるには以下のように入力する

 export CLASSPATH=$CLASSPATH:/path/to/kawa/kawa.jar
 java kawa.repl

SchemeのファイルをJavaクラスファイルにコンパイルする時は-Cパラメータを使用する。

 java kawa.repl --main -C file.scm

これによって"java file"をタイピングすることで実行できる"file.class"を生成する。またアプレットやサーブレット（サーブレットをコンパイルするときはCLASSPATHを宣言した上で"servlet-xxx.jar"を実行しなければならない）。

脚注

関連項目
Scheme
Java

外部リンク 
 

LISP
Javaプラットフォームソフトウェア
オープンソースソフトウェア
Schemeインタプリタ