Data.Array
Array
タイプの折り目を提供しません。
Array
Real World Haskell (ch. 12) では、その理由は、プログラマーのニーズに基づいて、さまざまな方法で s を折りたたむことができるからと言われています。
まず、理にかなっている折り方にはいくつかの種類があります。単一の要素を折り畳む必要があるかもしれませんが、行または列を折り畳む可能性もあります。これに加えて、一度に要素を折りたたむ場合、トラバーサルのシーケンスが 2 つだけではなくなりました。
これはまさにList
s の場合ではないでしょうか。たとえば、多次元の行列を表すことは非常に一般的List
ですが、1 次元List
の s に対して定義された折り畳みがまだあります。
私が見逃している繊細さは何ですか?多次元が s と十分に異なるということですArray
か?Array
Array
編集:うーん、多次元配列でさえ、 Data.Foldable
.[0] のインスタンスの形で定義されたフォールドを持っています。
[0] http://hackage.haskell.org/packages/archive/base/4.6.0.0/doc/html/Data-Foldable.html