mokeheheのScheme日記

ツッコミ、添削大歓迎です。いろいろ教えてください。

2008-01-26

qscheme を Windows で(失敗)

higepon氏の日記にQSchemeというリンクが張ってあった。見てみると

QScheme is a fast and small implementation of Scheme written in C. QScheme is easy to interface and should be easy to use as an extension language.

と書いてあるので、簡単に使えるのかと思ってダウンロードしてみた。

qschemeは

  • gmp-2.0.2.tar.gz
  • ffcall-1.6.tar.gz
  • pcre-3.1.tar.gz

に依存しているとのこと。VC でのビルドは無理そうかな…。cygwinコンパイルしてみる。

ffcall は、avcall, vacall, trampoline, callback の4つを含むライブラリで、qschemeでは avcall を使って任意の引数を持つCの関数を呼び出しているようだ。ffcallの ./configure は通るけどコンパイルがうまくいかない。avcall-i386.S からプリプロセッサで avcall-i386.s (小文字)に変換しているが、cygwin(windows) だとファイル名の大文字小文字の区別がないので、このせいでコンパイルできない。なので適当にファイル名を変える。vacall-i386.S も同様。

gmp は任意精度数演算ライブラリ。configure が cygwin に対応してなく、入れかたわからず。ググルと cygnwin のインストールで入れられるとのこと。cygwin を入れなおしたら qscheme の ./configure に成功。pcre はインストールしなくてもいいのか?

make をしてみる。vm2.c のコンパイル中に prim2.i(8) などでエラーが出る。Prim() マクロがおかしいようで、「l_##name##:」を「l_##name :」に変更。そうしても array.c で「scm_false が未定義」が出る。どこのヘッダにも定義してない。え~、どうなってるのよ~?

ううむ、ここまでか…。

gauche.night

gauche.night これ行きたいなぁ。

2008-03-08 (土) 17:00開場 18:00開演

トラックバック - http://sicp.g.hatena.ne.jp/mokehehe/20080126