2006-02-01から1ヶ月間の記事一覧

Plot

mac

最近見つけて気に入っている、二次元データプロットソフトウェア、Plot。Mac OS X でデータを可視化したいとき、gnuplot や R などの UNIX 系プログラムはあったものの、GUI で手軽に使えるものが見当たらなかったのだが、Plot がその穴を埋めてくれそう。作…

with-slots (2)

引き続き、define-syntax を使った with-slots マクロの定義について。昨日の shiro さんのコメントを受けて修正しつつ、Common Lisp の with-slots の仕様に近づくように修正。以下のサンプルコードを用意。 (define-class <person> () ((name :init-keyword :name)</person>…

with-slots

Common Lisp にある with-slots を Gauche でも使ってみる。次のクラスがあったとき、 (define-class <person> () ((name :init-keyword :name) (gender :init-keyword :gender) (age :init-keyword :age)))こんなふうに使えるようにする。 ;; Example-1 (let ((hoge</person>…

Carbon Emacs 'mac-option-modifier'

mac

銭谷さんの Carbon Emacs パッケージを12月版からテスト版へ更新。いつの間にか option キーを Meta キーとして使うオプション変数 mac-command-key-is-meta が使えなくなっていた(本家CVSの変更?)。*.el ファイルを grep してそれっぽい変数を発見。 (se…

Gauche を C プログラムから使う

libgauche をリンクすればできるみたい。http://www.practical-scheme.net/wiliki/wiliki.cgi?Gauche%3AYAGHG%3AIntroduction を参考に、外部の scheme コードをロードして結果を表示するプログラムを書いてみた。 main.c で同じディレクトリにある test.scm…

マクロを使ったジェネリック関数宣言の一例

x, y 座標をスロットに持つ vec クラスを考える。Common Lisp では次のような定義になる。 (defclass vec () ((x :initarg :x :initform 0d0 :accessor vec-x) (y :initarg :y :initform 0d0 :accessor vec-y)))ついでに factory も定義しておく。 (defun ma…

incase 12" Slim Sleeve (Black)

mac

アップルストア仙台に iWork '06 を買いに行ったら、incase 12" Slim Sleeve (Black) という iBook/PowerBook 12" 用のバッグが6280円のところを3400円で売っていたので一緒に購入。サンワのインナーケースは持っていたけど、手提げ付きのバッグは持っていな…