Kawa
KawaとはJavaで書かれたフレームワークであり、Schemeというプログラミング言語を実装し他の言語も実装することも出来る。GNUプロジェクトの一部である。
名はポーランド語でコーヒーのことを「」と呼ぶことに由来する。Javaの名もコーヒーに由来している事に関連する。
Scheme以外でも以下のコードでJavaのオブジェクトフィールドやメソッドにアクセスすることができる。
これはJavaメソッドを起動するものでJavaにおけるobject.method(argument, ...)と同じ動作をする。
また以下の入力でオブジェクトのフィールドにアクセスすることができる。
"invoke-static"というファンクションでスタティック（クラス）メソッドを起動することもできる。
Kawaと他のJava仮想マシンインプリメンテーションを組み合わせるなどでKawaはJavaコード（Javaにおいてschemeファンクションを作成）を使って拡張することも可能である。
GNU/LinuxにてKawaを実行させるには以下のように入力する
SchemeのファイルをJavaクラスファイルにコンパイルする時は-Cパラメータを使用する。
これによって"java file"をタイピングすることで実行できる"file.class"を生成する。またアプレットやサーブレット（サーブレットをコンパイルするときはCLASSPATHを宣言した上で"servlet-xxx.jar"を実行しなければならない）。