Ropes optimised for updating using UTF-16 code units and row/column pairs.

LTS Haskell 15.7:
Stackage Nightly 2020-04-09:
Latest on Hackage:

See all snapshots rope-utf16-splay appears in

BSD-3-Clause licensed by Olle Fredriksson
Maintained by [email protected]

Module documentation for

This version can be pinned in stack with:[email protected]:15a53c57f8413d193054bb5f045929edae3b2669def4c6af63197b30dc1d5003,2029

rope-utf16-splay Build Status Hackage

Thick strings optimised for indexing and updating using UTF-16 code units and row/column pairs.

This implementation uses splay trees instead of the usual finger trees, which is faster according to the benchmarks.


Olle Fredriksson -


  • Add splitAtLine function

  • Add rows and columns functions
  • Make Position module internal
  • Add map and intersperse functions
  • Add foldl, foldl', foldr, any, and all functions

  • Rename rowColumnCodePoints to rowColumnCodeUnits
  • Add null function

  • Initial release
Depends on 2 packages(full list with versions):
Used by 1 package in lts-15.5(full list with versions):