packages feed

interval-patterns 0.6.0.0 → 0.6.0.1

raw patch · 7 files changed

+74/−77 lines, 7 files

Files

CHANGELOG.md view
@@ -1,9 +1,8 @@ # Revision history for interval-patterns -## 0.6.0.0 - 2022-12-04+## 0.6.0.1  * drop `relude` dependency-* preemptively import `type (~)` where necessary  ## 0.5.1.0 - 2022-08-04 
interval-patterns.cabal view
@@ -1,27 +1,29 @@-cabal-version: 3.0-name: interval-patterns-version: 0.6.0.0-author: Melanie Phoenix-synopsis: Intervals, and monoids thereof-description: Please see the README at https://github.com/mixphix/interval-patterns-category: Algebra, Charts, Data Structures, Math, Statistics-maintainer: brown.m@pm.me-license: BSD-3-Clause-license-file: LICENSE-homepage: https://github.com/mixphix/interval-patterns-bug-reports: https://github.com/mixphix/interval-patterns/issues+cabal-version:      3.0+name:               interval-patterns+version:            0.6.0.1+author:             Melanie Brown+synopsis:           Intervals, and monoids thereof+category:           Algebra, Charts, Data Structures, Math, Statistics+maintainer:         brown.m@pm.me+license:            BSD-3-Clause+license-file:       LICENSE+homepage:           https://github.com/mixphix/interval-patterns+bug-reports:        https://github.com/mixphix/interval-patterns/issues extra-source-files: CHANGELOG.md-copyright: 2022 Melanie Phoenix+copyright:          2023 Melanie Brown+description:+  Please see the README at https://github.com/mixphix/interval-patterns  common interval-patterns   build-depends:-    , base >= 4.11 && < 5+    , base         >=4.11    && <5     , containers-    , groups >= 0.2.2-    , lattices >= 2.0.3 && < 2.1-    , semirings >= 0.6 && < 0.7+    , groups       >=0.2.2+    , lattices     >=2.0.3   && <2.1+    , semirings    >=0.6     && <0.7     , time-    , time-compat >= 1.9.6.1 && < 1.10+    , time-compat  >=1.9.6.1 && <1.10+   default-extensions:     BangPatterns     ConstraintKinds@@ -58,25 +60,26 @@     TypeFamilies     TypeOperators     ViewPatterns-  default-language: Haskell2010-  ghc-options: -Wall -Wcompat -Wno-unticked-promoted-constructors +  default-language:   Haskell2010+  ghc-options:        -Wall -Wcompat -Wno-unticked-promoted-constructors+ library-  import: interval-patterns-  hs-source-dirs: src+  import:          interval-patterns+  hs-source-dirs:  src   exposed-modules:+    Data.Calendar     Data.Interval-    Data.Interval.Layers     Data.Interval.Borel+    Data.Interval.Layers     Data.OneOrTwo     Data.Timeframe-    Data.Calendar  test-suite tests-  import: interval-patterns-  type: exitcode-stdio-1.0+  import:         interval-patterns+  type:           exitcode-stdio-1.0   hs-source-dirs: tests-  main-is: Main.hs+  main-is:        Main.hs   build-depends:     , hspec     , interval-patterns
src/Data/Calendar.hs view
@@ -19,13 +19,13 @@ import Control.Applicative (liftA2) import Data.Data (Typeable) import Data.Foldable (fold)-import Data.Maybe (fromMaybe)-import Data.Monoid (Sum (Sum, getSum)) import Data.Interval qualified as I import Data.Interval.Layers (Layers) import Data.Interval.Layers qualified as Layers import Data.Map.Strict (Map) import Data.Map.Strict qualified as Map+import Data.Maybe (fromMaybe)+import Data.Semigroup hiding (diff) import Data.Time.Compat import Data.Timeframe @@ -51,10 +51,7 @@ -- all of the simultaneous happenings over a given span (on average)? erlangs :: (Real n) => Timeframe -> Event n -> Maybe Rational erlangs ix e =-  let-    infixr 9 <<$>>-    (<<$>>) = fmap . fmap-    diff = realToFrac <<$>> flip diffUTCTime+  let diff = fmap realToFrac <$> flip diffUTCTime    in liftA2         (/)         (Layers.integrate diff (realToFrac . getSum) ix e)@@ -99,10 +96,7 @@ Calendar c ! ev = fromMaybe mempty (c Map.!? ev)  toList :: (Ord ev, Num n) => Calendar ev n -> [(ev, [(Interval UTCTime, n)])]-toList (Calendar c) = fmap (fmap getSum) <<$>> Layers.toList <<$>> Map.assocs c- where-  infixr 9 <<$>>-  (<<$>>) = fmap . fmap+toList (Calendar c) = fmap (fmap (fmap getSum) . Layers.toList) <$> Map.assocs c  -- | -- What, and how many events are happening
src/Data/Interval.hs view
@@ -74,18 +74,18 @@   OneOrTwo (..), ) where -import Algebra.Lattice.Levitated-import Control.Applicative (Const (Const), liftA2)+import Algebra.Lattice.Levitated (Levitated (..), foldLevitated)+import Control.Applicative (liftA2) import Control.Monad (join) import Data.Data import Data.Function (on)-import Data.Kind (Type, Constraint)+import Data.Functor.Const (Const (Const))+import Data.Kind (Constraint, Type) import Data.List (sort) import Data.List.NonEmpty (NonEmpty ((:|))) import Data.OneOrTwo (OneOrTwo (..)) import Data.Ord (comparing)-import Data.Type.Equality (type (~))-import GHC.Generics hiding (Infix)+import GHC.Generics (Generic (..), type (:*:) (..))  -- | The kinds of extremum an interval can have. data Extremum
src/Data/Interval/Borel.hs view
@@ -27,7 +27,7 @@ import Algebra.Heyting (Heyting ((==>))) import Algebra.Lattice import Control.Arrow ((>>>))-import Data.Data (Data, Typeable)+import Data.Data import Data.Foldable (fold) import Data.Functor ((<&>)) import Data.Interval (Interval)@@ -112,7 +112,7 @@  -- | The maximal 'Borel' set, that covers the entire range. whole :: (Ord x) => Borel x-whole = Borel (Set.singleton I.Whole)+whole = singleton I.Whole  -- | -- Completely remove an 'Interval' from a 'Borel' set.
src/Data/Interval/Layers.hs view
@@ -23,21 +23,14 @@   nestings, ) where -import Algebra.Lattice.Levitated+import Algebra.Lattice.Levitated (Levitated (Top)) import Data.Data (Data, Typeable) import Data.Group (Group (..))-import Data.List (sortOn)-import Data.Interval (-  Adjacency (..),-  Interval,-  OneOrTwo (..),-  pattern Whole,-  pattern (:---:),-  pattern (:<>:)- )+import Data.Interval (Adjacency (..), Interval, OneOrTwo (..), pattern Whole, pattern (:---:), pattern (:<>:)) import Data.Interval qualified as I import Data.Interval.Borel (Borel) import Data.Interval.Borel qualified as Borel+import Data.List (sortOn) import Data.Map.Strict (Map) import Data.Map.Strict qualified as Map import GHC.Generics (Generic)@@ -210,41 +203,49 @@     Meets i j k -> (i, iy) : nestings ((j, iy <> jy) : (k, jy) : js)     Overlaps i j k ->       nestings $-        (i, iy) :-        (j, iy <> jy) :-        (k, jy) : js+        (i, iy)+          : (j, iy <> jy)+          : (k, jy)+          : js     Starts i j ->       nestings $-        (i, iy <> jy) :-        (j, jy) : js+        (i, iy <> jy)+          : (j, jy)+          : js     During i j k ->       nestings $-        (i, jy) :-        (j, iy <> jy) :-        (k, jy) : js+        (i, jy)+          : (j, iy <> jy)+          : (k, jy)+          : js     Finishes i j ->       nestings $-        (i, iy) :-        (j, iy <> jy) : js+        (i, iy)+          : (j, iy <> jy)+          : js     Identical i -> nestings ((i, iy <> jy) : js)     FinishedBy i j ->       nestings $-        (i, iy) :-        (j, iy <> jy) : js+        (i, iy)+          : (j, iy <> jy)+          : js     Contains i j k ->       nestings $-        (i, iy) :-        (j, iy <> jy) :-        (k, iy) : js+        (i, iy)+          : (j, iy <> jy)+          : (k, iy)+          : js     StartedBy i j ->       nestings $-        (i, iy <> jy) :-        (j, iy) : js+        (i, iy <> jy)+          : (j, iy)+          : js     OverlappedBy i j k ->       nestings $-        (i, jy) :-        (j, iy <> jy) :-        (k, iy) : js+        (i, jy)+          : (j, iy <> jy)+          : (k, iy)+          : js     MetBy i j k -> (i, jy) : nestings ((j, iy <> jy) : (k, iy) : js)     After i j -> (i, jy) : nestings ((j, iy) : js)   x -> x
src/Data/Timeframe.hs view
@@ -7,7 +7,7 @@   duration, ) where -import Control.Monad.IO.Class (MonadIO, liftIO)+import Control.Monad.IO.Class (MonadIO (..)) import Data.Function (on) import Data.Functor ((<&>)) import Data.Interval