range-set-list: Memory efficient sets with continuous ranges of elements.

[ data, library, mit ] [ Propose Tags ]

Memory efficient sets with continuous ranges of elements. List based implementation. Interface mimics Data.Set interface where possible.


[Skip to Readme]
Versions 0.0.1, 0.0.2, 0.0.3, 0.0.4, 0.0.5, 0.0.6, 0.0.7, 0.1.0.0, 0.1.1.0, 0.1.2.0, 0.1.2.1, 0.1.3
Change log CHANGELOG.md
Dependencies base (>=4.5 && <5) [details]
License MIT
Copyright Copyright (c) 2013 Oleg Grenrus
Author Oleg Grenrus
Maintainer oleg.grenrus@iki.fi
Category Data Structures
Home page https://github.com/phadej/range-set-list
Bug tracker https://github.com/phadej/range-set-list/issues
Uploaded by phadej at Mon Jun 2 08:31:13 UTC 2014
Distributions LTSHaskell:0.1.3, NixOS:0.1.3, Stackage:0.1.3
Downloads 3514 total (165 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Successful builds reported [all 1 reports]
Hackage Matrix CI

Modules

[Index]

Flags

NameDescriptionDefaultType
optimizedEnabledAutomatic

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for range-set-list-0.0.5

[back to package description]

range-set-list

Build Status

A trivial implementation of range sets.

You can find the package (and it's documentation) on hackage.

This module is intended to be imported qualified, to avoid name clashes with Prelude functions, e.g.

import Data.RangeSet.List (RSet)
import qualified Data.RangeSet.List as RSet

The implementation of RSet is based on list.

Compared to Data.Set, this module imposes also Enum restriction for many functions. We must be able to identify consecutive elements to be able to glue and split ranges properly.

The implementation assumes that

x < succ x
pred x < x

and there aren't elements in between (not true for Float and Double). Also succ and pred are never called for largest or smallest value respectively.

Changelog

  • 0.0.3 Bump tasty and QuickCheck versions
  • 0.0.2 More properties & test coverage
  • 0.0.1 Initial release