Safe Haskell | Safe |
---|---|
Language | Haskell98 |
- newtype Sieve x = Sieve {
- unSieve :: FingerTree (Measure x) (Interval x)
- fmap_interval :: (Ord x, Ord y) => (Interval x -> Interval y) -> Sieve x -> Sieve y
- fmap_interval_unsafe :: Ord x => (Interval x -> Interval x) -> Sieve x -> Sieve x
- traverse_interval :: (Ord x, Ord y, Applicative f) => (Interval x -> f (Interval y)) -> Sieve x -> f (Sieve y)
- traverse_interval_unsafe :: (Ord x, Applicative f) => (Interval x -> f (Interval x)) -> Sieve x -> f (Sieve x)
- data Measure x
- = Measure_Empty
- | Measure { }
- empty :: Ord x => Sieve x
- null :: Ord x => Sieve x -> Bool
- singleton :: Ord x => Interval x -> Sieve x
- interval :: Ord x => Sieve x -> Maybe (Interval x)
- intervals :: Ord x => Sieve x -> [Interval x]
- union :: Ord x => Sieve x -> Sieve x -> Sieve x
- from_Foldable :: (Foldable f, Ord x) => f (Interval x) -> Sieve x
- intersection :: Ord x => Sieve x -> Sieve x -> Sieve x
- intersecting :: Ord x => Interval x -> Sieve x -> [Interval x]
- complement :: (Ord x, Bounded (Limit x)) => Sieve x -> Sieve x
- complement_with :: Ord x => Interval x -> Sieve x -> Sieve x
Type Sieve
..<<..
-ordered union of Interval
s.
Ressources:
- Ralf Hinze and Ross Paterson, "Finger trees: a simple general-purpose data structure", Journal of Functional Programming 16:2 (2006) pp 197-217. http://staff.city.ac.uk/~ross/papers/FingerTree.html
- https://hackage.haskell.org/package/fingertree/docs/Data-IntervalMap-FingerTree.html
Sieve | |
|
traverse_interval :: (Ord x, Ord y, Applicative f) => (Interval x -> f (Interval y)) -> Sieve x -> f (Sieve y) Source #
traverse_interval_unsafe :: (Ord x, Applicative f) => (Interval x -> f (Interval x)) -> Sieve x -> f (Sieve x) Source #
Measure
of each leaf or node of the Sieve
FingerTree
.
Measure_Empty | Measure of |
Measure | |
Union
Intersection
intersection :: Ord x => Sieve x -> Sieve x -> Sieve x Source #
Return a Sieve
merging the given Sieve
s with intersection
.
intersecting :: Ord x => Interval x -> Sieve x -> [Interval x] Source #
All Interval
s having a non-Nothing
intersection
with the given Interval
,
in ..<<..
order.