packages feed

interval-patterns 0.4.0.0 → 0.5.0.0

raw patch · 4 files changed

+24/−18 lines, 4 files

Files

CHANGELOG.md view
@@ -1,6 +1,13 @@ # Revision history for interval-patterns -## 0.4.0.0 - 2022-07-*+## 0.5.0.0 - 2022-08-04++* fix direction of `diffUTCTime` in `erlangs`+* Remove export of `Data.Interval.Layers.nestingsAsc`+  * also fix its implementation+  * rely on `nestings` for external use++## 0.4.0.0 - 2022-07-26  * New functions   * unidirectional `pattern (:--:)` for matching finite intervals regardless of `Bound`
interval-patterns.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: interval-patterns-version: 0.4.0.0+version: 0.5.0.0 author: Melanie Brown synopsis: Intervals, and monoids thereof description: Please see the README at https://github.com/mixphix/interval-patterns
src/Data/Calendar.hs view
@@ -45,7 +45,7 @@ -- all of the simultaneous happenings over a given span (on average)? erlangs :: (Real n) => Timeframe -> Event n -> Maybe Rational erlangs ix e =-  let diff = realToFrac <<$>> diffUTCTime+  let diff = realToFrac <<$>> flip diffUTCTime    in liftA2         (/)         (Layers.integrate diff (realToFrac . getSum) ix e)
src/Data/Interval/Layers.hs view
@@ -21,7 +21,6 @@    -- ** Helper functions   nestings,-  nestingsAsc, ) where  import Algebra.Lattice.Levitated@@ -42,7 +41,7 @@ instance (Ord x, Semigroup y) => Semigroup (Layers x y) where   Layers s1 <> Layers s2 =     let s = Map.toAscList $ Map.unionWith (<>) s1 s2-     in Layers $ Map.fromAscList (nestingsAsc s)+     in Layers $ Map.fromList (nestingsAsc s)  instance (Ord x, Semigroup y) => Monoid (Layers x y) where   mempty = Layers mempty@@ -197,45 +196,45 @@   [(Interval x, y)] nestingsAsc = \case   (i', iy) : (j', jy) : js -> case I.adjacency i' j' of-    Before i j -> (i, iy) : nestingsAsc ((j, jy) : js)-    Meets i j k -> (i, iy) : nestingsAsc ((j, iy <> jy) : (k, jy) : js)+    Before i j -> (i, iy) : nestings ((j, jy) : js)+    Meets i j k -> (i, iy) : nestings ((j, iy <> jy) : (k, jy) : js)     Overlaps i j k ->-      nestingsAsc $+      nestings $         (i, iy) :         (j, iy <> jy) :         (k, jy) : js     Starts i j ->-      nestingsAsc $+      nestings $         (i, iy <> jy) :         (j, jy) : js     During i j k ->-      nestingsAsc $+      nestings $         (i, iy) :         (j, iy <> jy) :         (k, jy) : js     Finishes i j ->-      nestingsAsc $+      nestings $         (i, iy) :         (j, iy <> jy) : js-    Identical i -> (i, iy <> jy) : nestingsAsc js+    Identical i -> (i, iy <> jy) : nestings js     FinishedBy i j ->-      nestingsAsc $+      nestings $         (i, iy) :         (j, iy <> jy) : js     Contains i j k ->-      nestingsAsc $+      nestings $         (i, iy) :         (j, iy <> jy) :         (k, jy) : js     StartedBy i j ->-      nestingsAsc $+      nestings $         (i, iy <> jy) :         (j, jy) : js     OverlappedBy i j k ->-      nestingsAsc $+      nestings $         (i, iy) :         (j, iy <> jy) :         (k, jy) : js-    MetBy i j k -> (i, iy) : nestingsAsc ((j, iy <> jy) : (k, jy) : js)-    After i j -> (i, iy) : nestingsAsc ((j, jy) : js)+    MetBy i j k -> (i, iy) : nestings ((j, iy <> jy) : (k, jy) : js)+    After i j -> (i, iy) : nestings ((j, jy) : js)   x -> x