Haskellの2Dグリッドに関する最近の質問に触発されて、リストのリスト内の位置を追跡するために2次元ジッパーを作成できるかどうか疑問に思っています。リスト上の1次元のジッパーを使用すると、大きなリスト内でローカルに非常に効率的に移動できます(一般的な例はテキストエディターです)。しかし、次のような2番目の次元があるとしましょう。
grid =
[[ 1, 2, 3, 4, 5]
,[ 6, 7, 8, 9,10]
,[11,12,13,14,15]
,[16,17,18,19,20]
,[21,22,23,24,25]]
ここでグリッド内を左右だけでなく上下に効率的に移動するために、ある種のジッパーデータ構造を作成できますか?もしそうなら、リストのリストを無限のリストの無限のリストに置き換えても、効率的な移動を得ることができますか?