map -package:Cabal -package:base -package:text -package:dlist -package:aeson -package:ghc -package:bytestring is:module package:range-set-list

A slightly less trivial implementation of range sets. This is nearly identical to Data.RangeSet.List except for some important performance differences:
  • Most query functions in this module are O(log n) rather than O(n), so may be much faster.
  • Most composition functions have the same time complexity but a higher constant, so may be somewhat slower.
If you're mainly calling member, you should consider using this module, but if you're calling union, deleteRange, and other range manipulation functions as often as querying, you might stick with the list implementation. This module is intended to be imported qualified, to avoid name clashes with Prelude functions, e.g.
import Data.RangeSet.Map (RSet)
import qualified Data.RangeSet.Map as RSet
The implementation of RSet is based on Data.Map.Strict.
This is simply a specialization of Data.RangeSet.Map to Int. The implementation of RIntSet is based on Data.IntMap.Strict.