一連のモノイド要素があると考えてください。これはData.Sequence
、特定の位置で要素を挿入したり変更したりするのに最適です。
位置からまでのすべての要素sum i j sequence
の を返す次のクエリ に関心があります。これは、O(log n) 時間でインデックスと結果の両方を含む with メジャーを使用することで実行できます。mconcat
i
j
FingerTree
mconcat
一部のHaskellライブラリにはすでにこれが実装されていますか? Data.Sequence
または、この機能を使用して再度実装する必要がありData.FingerTree
ますか? (Sequence
これを効果的に行うには、内部構造の露出が少なすぎます。)