Zipper雑感

なんだかIS界隈でZipperなるものの話題が、激しく流行っているようなので便乗。k.inaba先生の説明はわかりやすい。なるほど、nextの定義を見ればアイデアはだいたいわかる。
落ち着いて考えれば、リストを再帰関数でたどるときに、逆順リストを引数に渡しながらたどるのはよくやったような気がするが、どうしてこういうところまで考えが及ばなかったものか。木構造をこれでたどる様は圧巻である。しかし、DAGやグラフのZipperとはこれいかに。コンパイラの時もDAGを扱うのが激しくめんどくさかったような記憶があるなぁ。