2011-01-01から1年間の記事一覧

lispbuilder-sdlでライフゲーム書いてみた

Common Lispでゲーム開発するときはlispbuilder-sdlを使うのが定石らしい。実際CLのライブラリとしてはドキュメントも充実してるし移植性もそれなりにあり、完成度は高いように思える。とりあえず簡単な例をつくってみることにした。 思えばライフゲームを作…

クラスパスの指定

あんまりJavaとか使ったことなかったので、Clojureでクラスパスを指定するところで詰まってしまった。Clojureの公式サイトでは、起動コマンドは $ java -cp clojure.jar clojure.mainとのことなので、cpオプションのところに使いたいライブラリのパスを指定…

LtkでGUIの練習―オセロ盤

Common Lispには全てのウィジェットがCLOSオブジェクトという強力なGUI環境の仕様CLIM(Common Lisp Interface Manager)というのがあって、商用の実装Allegro CLIMやオープンソースの実装McCLIMがある。しかしMcCLIMはかなり大きいライブラリなのでインストー…

Operaでuimによる日本語入力がおかしくなる問題の修正方法

FreeBSDでもOperaは走るが、uimで日本語を入力しようとするとctrlキーで確定してしまったり(このためctrlとのキーバインドは全滅となる)、キャレット位置がおかしくなったりする問題があった。 この問題は本家のフォーラムでも報告されている(【不具合】ui…

On Lisp 8章まとめ

原則的には関数を使うべきだが、マクロでないとできないことがあったり、マクロでやる方が良い場合がある。 マクロでないとできないこと 関数は引数を全て評価する マクロは引数の評価を制御できる マクロでも引数全部を一回ずつ評価するようなものは関数と…

SLIMEでClojureを使う

Clojureのバージョンアップのせいか、どうも前に他のサイトで見た方法がうまくいかなくなってしまった。 試行錯誤してみた結果とりあえずちゃんと動くようになったので、色々とアヤシイところはあるもののまとめてみる。 SLIMEのインストール Emacs Lispは~/…