[Haskell-cafe] ANN closed-intervals-0.1

Olaf Klinke olf at aatal-apotheke.de
Wed Mar 24 14:47:44 UTC 2021

Dear Cafe, 

I am pleased to announce the first release of closed-intervals [1], a
package for querying and manipulating collections of closed intervals
in totally ordered types. 
Other packages exist which either deal with a single interval type
[2,4] or provide an interval type class [3]. Having both closed, open
and half-open intervals makes the interface complicated, however. 

The focus of closed-intervals is on intervals including both end-points 
and is intended to be used on records with length or duration
information. My use cases are mostly sequences of annotated time
intervals [*], parsed from time-stamped data. Against these sequences
overlap-, coverage- and intersection queries are run using single
intervals as query. 
The package contains many doctests. Testing builds on Henning
Thielemann's doctest-extract [5] and doctest-exitcode-io [6] packages. 

closed-intervals is, after provenience [7], the second package in an
effort to open-source my employer's entire Haskell codebase. We will
gradually publish from general to problem-specific. 


[1] https://hackage.haskell.org/package/closed-intervals
[2] https://hackage.haskell.org/package/data-interval
[3] https://hackage.haskell.org/package/IntervalMap
[4] https://hackage.haskell.org/package/intervals
[5] https://hackage.haskell.org/package/doctest-extract
[6] https://hackage.haskell.org/package/doctest-exitcode-io
[7] https://hackage.haskell.org/package/provenience
[*] Since time types are fine-grained and a time point is an idealized
concept, the question of end-point inclusion is not that relevant for
time intervals. We do distinguish between intersection in end-points
and proper intersection, though. 

More information about the Haskell-Cafe mailing list