#結構他でもメモリ使ってる状態でmake -jしてたらウィンドウマネージャが落ちた。Xは生き残ったんだけど。OOM killerって最近のLinuxでもまだあるのかなあ?
#最近の Ubuntu でもたまに現れますよー。
#Gauche masterのコミットbc9d952でMakefile.inが変わってるので、git pullした方はconfigureし直してください。忘れるとテストでSEGVります。
#Testing lazy sequence utilities ... gosh: "error": Compile Error: cannot find file "gauche/lazy" in *load-path* ("/Users/bizenn/lib/gauche" "/usr/local/share/gauche-0.9/site/lib" "/usr/local/share/gauche-0.9/0.9.2/lib" "/usr/local/share/gauche/site/lib" "/usr/local/share/gauche/0.9/lib")
"./test-lazy.scm":7:(use gauche.lazy)
#make install-checkで発生。コピー忘れかしら
#あ、インストールし忘れだ。
#commit d05341c で如何。
#ばっちりです
#まだ実験中なんでドキュメント書いてないんですが、このコミットでClojureのようなlazyなシーケンスが使えるようになります。Schemeレベルではただのリストと区別つかないんですが、先にアクセスに行く度に裏でジェネレータ手続きを読んで値を生成します。詳しいことはGauche devlogに書きます。
#おお
#一種のimplicit forceってことですか
#pair限定のimplicit forceって感じですね。一般的なimplicit forceは効率を落とさずに実装するのが難しいんですが、pairに限定し、ひとつ先読みを許せば、効率の良い実装方法があることに気づいたのです。
#素晴らしいです。最近Clojureを仕事で使い始めて、lazy-seqの威力を実感しつつあるので、嬉しいですね。
#「ひとつ先読みされる
#ってのがもしかすると落とし穴になるかもしれないなという危惧はあるんですが、それでもあれば便利だろうなと。とりあえずバックトラックするパーザなどはこれでかなり書きやすくなるはず。
#ジェネレータとかがエラーになると lazy pair のままになるので,今のコードだと待っている人が待ちぼうけになりませんか?
#あっそうか、ownerスロットもチェックしないとだめですね。
#f66d1cc でどうかな>待ちぼうけ問題
#よさそうです.
#それにしても bohem gc の cas は古い値を返してくれないんですね
#返してくれていればテストひとつふたつ減ってるところだったのに.
#教科書的な定義だと古い値を返すものだったような気がしますが、CMPXCHG一命令に落とそうとするとそれだと不便ってことかな。
#Gauche-dbd-pgのリポジトリってまだkahua.orgだっけ。正式リリースのパッケージがGauche-0.9.xで素直にコンパイルできないみたいだから、そこだけでも直したい気がする。
#おおふ。帰ったらgithubに持って行きます
#でも、たぶんshiroさんはsvn.kahua.orgにコミットできると思いますけど。
#できたはずですね。今日はどっちにせよ手をつけられないんで、もしgithubに移してもらえるなら待ちます。
#cmpxchg ってまさにそういう動作にみえますが、他の arch で難しいのがあるのかな?
#あれ。あ、確かに。フラグの変化のとこしか読んでなかった。じゃあ他のアーキテクチャで難しいのがあるんですかね。