先日コーディングしていてZipperが必要になる場面に出くわした。それは単純なList zipperだったので自前で実装して済ませたが、ふと、汎用的なZipperライブラリがあるかどうかが気になったので、少し調べた。 syz syz: Scrap Your Zippers Dataクラスインスタンスのデータ型からZipperを作れる。 データコンストラクタで作られるツリーをたどるようなものに見える。 traverse-with-class traverse-with-class: Generic applicative traversals 依存関係が小さい syzの改良版らしい。 GTraversableという独自クラスのインスタンスについてZipperを作る(?) uniplate uniplate: Help writing simple, concise and fast gene