Let's start Scheme

2012-04-18

やっつけ仕事

に近い感じではあるのだが、キャッシュの実装が終わった。思ったより時間がかからなかったなぁ。

とりあえず、正規表現(Cの実装)とSRFI-4(Schemeの実装)で両方とも動いているのを確認。キャッシュ用のAPIを追加して、ごにょごにょ。追加で、コンパイル時の定数畳み込みにキャッシュ可能かの判定を追加。これで、define-constantにうっかりハッシュテーブル(キャッシュできない!)とか書いてもキャッシュを壊すことがなくなった。
問題になるとすれば、複雑な構造を持つオブジェクトのテストは全然してないので、いろいろ足りないかもしれない。まぁ、そんな物をリーダーマクロで書くなんてことしないだろう。

しかし、キャッシュのソースがひどいことになっている。リファクタリングくらいはしたいなぁ。でも迂闊に手を入れたくもないなぁ・・・

No comments:

Post a Comment