Island Life

< blogスクリプトを作るまでの一時しのぎ... | 404 Blog Not Found: ... >

2007/02/01

Leaky abstractionの例を見つけたのでメモ。

autoconf(2.59まで)のキャッシュメカニズムはgdbm/ndbm.hとgdbm-ndbm.hを区別できない。 一方をチェックすると、他方はキャッシュされた結果を使ってしまう。 たぶん変数名にマップするときに'/'も'-'も'_'にマップされちゃうんだろう。 2.60で直ってるかどうかは不明。

うっ、それだけじゃなかった。見付かった時に定義されるマクロ名も HAVE_GDBM_NDBM_Hでかぶるから区別がつかない。

こういう微妙な抽象性のほつれってのがどうも我慢できない。 っていうマインドはSchemerに多い気がする。(CLerはもっとおおらかな印象)

Tag: Programming