Rope package:text-rope

Rope of Text chunks with logarithmic concatenation. This rope offers three interfaces: one based on code points, one based on UTF-16 code units, and one based on UTF-8 code units. This comes with a price of more bookkeeping and is less performant than Data.Text.Rope, Data.Text.Utf8.Rope, or Data.Text.Utf16.Rope.
Rope of Text chunks with logarithmic concatenation. This rope offers an interface, based on code points. Use Data.Text.Utf16.Rope, if you need UTF-16 code units, or Data.Text.Mixed.Rope, if you need both interfaces.
Rope of Text chunks with logarithmic concatenation. This rope offers an interface, based on UTF-16 code units. Use Data.Text.Rope, if you need code points, or Data.Text.Mixed.Rope, if you need both interfaces.
Rope of Text chunks with logarithmic concatenation. This rope offers an interface, based on UTF-8 code units. Use Data.Text.Rope, if you need code points, or Data.Text.Mixed.Rope, if you need both interfaces.
Text lines and ropes A wrapper around Text for fast line/column navigation and logarithmic concatenation.