5

Data.ArrayArrayタイプの折り目を提供しません。

ArrayReal World Haskell (ch. 12) では、その理由は、プログラマーのニーズに基づいて、さまざまな方法で s を折りたたむことができるからと言われています。

まず、理にかなっている折り方にはいくつかの種類があります。単一の要素を折り畳む必要があるかもしれませんが、行または列を折り畳む可能性もあります。これに加えて、一度に要素を折りたたむ場合、トラバーサルのシーケンスが 2 つだけではなくなりました。

これはまさにLists の場合ではないでしょうか。たとえば、多次元の行列を表すことは非常に一般的Listですが、1 次元Listの s に対して定義された折り畳みがまだあります。

私が見逃している繊細さは何ですか?多次元が s と十分に異なるということですArrayか?ArrayArray

編集:うーん、多次元配列でさえ、 Data.Foldable.[0] のインスタンスの形で定義されたフォールドを持っています。

[0] http://hackage.haskell.org/packages/archive/base/4.6.0.0/doc/html/Data-Foldable.html

4

2 に答える 2