KawaとはJavaで書かれたフレームワークであり、Schemeというプログラミング言語を実装し他の言語も実装することも出来る。GNUプロジェクトの一部である。
名はポーランド語でコーヒーのことを「kawa」と呼ぶことに由来する。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"を実行しなければならない)。
脚注
関連項目
外部リンク