SML#を使ってみ・・・ようとした。
いや、最終的にはつかえたけれども。
つい先日1.0が出たSML#なるものを私も使ってみようと思ったわけである。
なんとご丁寧なことに、Windows用にはMinGWを使った実装がバイナリで公開されている。
いやはやありがたいことですよ。
で、動かしてみたら・・・
ld.exe : cannot find -lgmp
なんて言って落ちる。
評価してるのは、ただの1。
そもそもldなんてなんで動くのやら?と思い調べてみると、ここに「コンパイラが頑張ってるんだよー」と書いてある。
なるほど、動的にライブラリ作って貼り付けてるわけだ。
で、-lはライブラリの指定として、gmpとはなんぞや・・・と思っていたら、GNU MPだった。
演算用ライブラリ。
mingwのパッケージにももちろんある*1。
mingw-getで調べてみると、出てくる出てくる・・・
ここで注意、libgmpはMSYS用とMinGW用がある。
ここで入れないといけないのはMinGW用であって、MSYS用ではない。
前者を入れると、
SML# version 1.0.0 (2012-04-06 17:51:49 JST) for x86-mingw # 1; (* ここが入力 *) Creating library file: \sk34./000.lib val it = 1 : int
とまあ、なんかファイルを作っているところまでばっちり見えて、動きました、とさ。
少しいじりたいけど、SMLはあんまりよく知らないし、SML#独自の機能なんてなおさら・・・
*1:気付かないでソース持ってきてビルドしてたけど。後輩の指摘でようやく気付いた。感謝。