aivika 5.8 → 5.9
raw patch · 9 files changed
+33/−3 lines, 9 filesdep ~basePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base
API changes (from Hackage documentation)
- Simulation.Aivika.Internal.Simulation: instance GHC.Exception.Exception Simulation.Aivika.Internal.Simulation.SimulationAbort
- Simulation.Aivika.Internal.Simulation: instance GHC.Exception.Exception Simulation.Aivika.Internal.Simulation.SimulationException
- Simulation.Aivika.Internal.Simulation: instance GHC.Exception.Exception Simulation.Aivika.Internal.Simulation.SimulationRetry
+ Simulation.Aivika.Composite: instance Control.Monad.Fail.MonadFail Simulation.Aivika.Composite.Composite
+ Simulation.Aivika.Internal.Dynamics: instance Control.Monad.Fail.MonadFail Simulation.Aivika.Internal.Dynamics.Dynamics
+ Simulation.Aivika.Internal.Event: instance Control.Monad.Fail.MonadFail Simulation.Aivika.Internal.Event.Event
+ Simulation.Aivika.Internal.Parameter: instance Control.Monad.Fail.MonadFail Simulation.Aivika.Internal.Parameter.Parameter
+ Simulation.Aivika.Internal.Process: instance Control.Monad.Fail.MonadFail Simulation.Aivika.Internal.Process.Process
+ Simulation.Aivika.Internal.Simulation: instance Control.Monad.Fail.MonadFail Simulation.Aivika.Internal.Simulation.Simulation
+ Simulation.Aivika.Internal.Simulation: instance GHC.Exception.Type.Exception Simulation.Aivika.Internal.Simulation.SimulationAbort
+ Simulation.Aivika.Internal.Simulation: instance GHC.Exception.Type.Exception Simulation.Aivika.Internal.Simulation.SimulationException
+ Simulation.Aivika.Internal.Simulation: instance GHC.Exception.Type.Exception Simulation.Aivika.Internal.Simulation.SimulationRetry
+ Simulation.Aivika.QueueStrategy: -- | A queue used by the strategy.
- Simulation.Aivika.Channel: Channel :: Signal a -> Composite (Signal b) -> Channel a b
+ Simulation.Aivika.Channel: Channel :: (Signal a -> Composite (Signal b)) -> Channel a b
- Simulation.Aivika.Circuit: Circuit :: a -> Event (b, Circuit a b) -> Circuit a b
+ Simulation.Aivika.Circuit: Circuit :: (a -> Event (b, Circuit a b)) -> Circuit a b
- Simulation.Aivika.Dynamics.Extra: scan1Dynamics :: (a -> a -> a) -> (Dynamics a -> Simulation (Dynamics a)) -> (Dynamics a -> Simulation (Dynamics a))
+ Simulation.Aivika.Dynamics.Extra: scan1Dynamics :: (a -> a -> a) -> (Dynamics a -> Simulation (Dynamics a)) -> Dynamics a -> Simulation (Dynamics a)
- Simulation.Aivika.Dynamics.Extra: scanDynamics :: (a -> b -> a) -> a -> (Dynamics a -> Simulation (Dynamics a)) -> (Dynamics b -> Simulation (Dynamics a))
+ Simulation.Aivika.Dynamics.Extra: scanDynamics :: (a -> b -> a) -> a -> (Dynamics a -> Simulation (Dynamics a)) -> Dynamics b -> Simulation (Dynamics a)
- Simulation.Aivika.Generator: CustomGenerator :: (IO Generator) -> GeneratorType
+ Simulation.Aivika.Generator: CustomGenerator :: IO Generator -> GeneratorType
- Simulation.Aivika.Generator: CustomGenerator01 :: (IO Double) -> GeneratorType
+ Simulation.Aivika.Generator: CustomGenerator01 :: IO Double -> GeneratorType
- Simulation.Aivika.Generator: Generator :: Double -> Double -> IO Double -> Int -> Int -> IO Int -> Double -> Double -> Double -> IO Double -> Double -> Double -> IO Double -> Double -> Double -> IO Double -> Double -> IO Double -> Double -> Int -> IO Double -> Double -> IO Int -> Double -> Int -> IO Int -> Double -> Double -> IO Double -> Double -> Double -> IO Double -> Double -> Double -> IO Double -> forall a. DiscretePDF a -> IO a -> IO Int -> Generator
+ Simulation.Aivika.Generator: Generator :: (Double -> Double -> IO Double) -> (Int -> Int -> IO Int) -> (Double -> Double -> Double -> IO Double) -> (Double -> Double -> IO Double) -> (Double -> Double -> IO Double) -> (Double -> IO Double) -> (Double -> Int -> IO Double) -> (Double -> IO Int) -> (Double -> Int -> IO Int) -> (Double -> Double -> IO Double) -> (Double -> Double -> IO Double) -> (Double -> Double -> IO Double) -> (forall a. DiscretePDF a -> IO a) -> IO Int -> Generator
- Simulation.Aivika.Net: Net :: a -> Process (b, Net a b) -> Net a b
+ Simulation.Aivika.Net: Net :: (a -> Process (b, Net a b)) -> Net a b
- Simulation.Aivika.Processor: Processor :: Stream a -> Stream b -> Processor a b
+ Simulation.Aivika.Processor: Processor :: (Stream a -> Stream b) -> Processor a b
- Simulation.Aivika.Processor: queuedProcessorChannel :: (a -> Event ()) -> (Process a) -> Processor a b -> Channel a b
+ Simulation.Aivika.Processor: queuedProcessorChannel :: (a -> Event ()) -> Process a -> Processor a b -> Channel a b
- Simulation.Aivika.Results: ResultArrayWithSubscript :: (Array i p) -> (Array i String) -> ResultArrayWithSubscript i p
+ Simulation.Aivika.Results: ResultArrayWithSubscript :: Array i p -> Array i String -> ResultArrayWithSubscript i p
- Simulation.Aivika.Results: ResultSignal :: (Signal ()) -> ResultSignal
+ Simulation.Aivika.Results: ResultSignal :: Signal () -> ResultSignal
- Simulation.Aivika.Results: ResultSignalMix :: (Signal ()) -> ResultSignal
+ Simulation.Aivika.Results: ResultSignalMix :: Signal () -> ResultSignal
- Simulation.Aivika.Results: ResultVectorWithSubscript :: (Vector p) -> (Vector String) -> ResultVectorWithSubscript p
+ Simulation.Aivika.Results: ResultVectorWithSubscript :: Vector p -> Vector String -> ResultVectorWithSubscript p
- Simulation.Aivika.Results.Locale: ResultLocalisation :: ResultId -> ResultDescription -> ResultId -> ResultDescription -> ResultLocalisation
+ Simulation.Aivika.Results.Locale: ResultLocalisation :: (ResultId -> ResultDescription) -> (ResultId -> ResultDescription) -> ResultLocalisation
- Simulation.Aivika.Results.Locale.Types: ResultLocalisation :: ResultId -> ResultDescription -> ResultId -> ResultDescription -> ResultLocalisation
+ Simulation.Aivika.Results.Locale.Types: ResultLocalisation :: (ResultId -> ResultDescription) -> (ResultId -> ResultDescription) -> ResultLocalisation
- Simulation.Aivika.Signal: Signal :: (a -> Event ()) -> Event DisposableEvent -> Signal a
+ Simulation.Aivika.Signal: Signal :: ((a -> Event ()) -> Event DisposableEvent) -> Signal a
- Simulation.Aivika.Statistics: samplingStatsSummary :: (Show a) => SamplingStats a -> Int -> ShowS
+ Simulation.Aivika.Statistics: samplingStatsSummary :: Show a => SamplingStats a -> Int -> ShowS
- Simulation.Aivika.SystemDynamics: (./=.) :: (Eq a) => Dynamics a -> Dynamics a -> Dynamics Bool
+ Simulation.Aivika.SystemDynamics: (./=.) :: Eq a => Dynamics a -> Dynamics a -> Dynamics Bool
- Simulation.Aivika.SystemDynamics: (.<.) :: (Ord a) => Dynamics a -> Dynamics a -> Dynamics Bool
+ Simulation.Aivika.SystemDynamics: (.<.) :: Ord a => Dynamics a -> Dynamics a -> Dynamics Bool
- Simulation.Aivika.SystemDynamics: (.<=.) :: (Ord a) => Dynamics a -> Dynamics a -> Dynamics Bool
+ Simulation.Aivika.SystemDynamics: (.<=.) :: Ord a => Dynamics a -> Dynamics a -> Dynamics Bool
- Simulation.Aivika.SystemDynamics: (.==.) :: (Eq a) => Dynamics a -> Dynamics a -> Dynamics Bool
+ Simulation.Aivika.SystemDynamics: (.==.) :: Eq a => Dynamics a -> Dynamics a -> Dynamics Bool
- Simulation.Aivika.SystemDynamics: (.>.) :: (Ord a) => Dynamics a -> Dynamics a -> Dynamics Bool
+ Simulation.Aivika.SystemDynamics: (.>.) :: Ord a => Dynamics a -> Dynamics a -> Dynamics Bool
- Simulation.Aivika.SystemDynamics: (.>=.) :: (Ord a) => Dynamics a -> Dynamics a -> Dynamics Bool
+ Simulation.Aivika.SystemDynamics: (.>=.) :: Ord a => Dynamics a -> Dynamics a -> Dynamics Bool
- Simulation.Aivika.SystemDynamics: maxDynamics :: (Ord a) => Dynamics a -> Dynamics a -> Dynamics a
+ Simulation.Aivika.SystemDynamics: maxDynamics :: Ord a => Dynamics a -> Dynamics a -> Dynamics a
- Simulation.Aivika.SystemDynamics: minDynamics :: (Ord a) => Dynamics a -> Dynamics a -> Dynamics a
+ Simulation.Aivika.SystemDynamics: minDynamics :: Ord a => Dynamics a -> Dynamics a -> Dynamics a
- Simulation.Aivika.Transform: Transform :: Dynamics a -> Simulation (Dynamics b) -> Transform a b
+ Simulation.Aivika.Transform: Transform :: (Dynamics a -> Simulation (Dynamics b)) -> Transform a b
Files
- CHANGELOG.md +6/−0
- Simulation/Aivika/Composite.hs +4/−0
- Simulation/Aivika/Internal/Dynamics.hs +4/−0
- Simulation/Aivika/Internal/Event.hs +4/−0
- Simulation/Aivika/Internal/Parameter.hs +4/−0
- Simulation/Aivika/Internal/Process.hs +4/−0
- Simulation/Aivika/Internal/Simulation.hs +4/−0
- Simulation/Aivika/Stream/Random.hs +1/−1
- aivika.cabal +2/−2
CHANGELOG.md view
@@ -1,4 +1,10 @@ +Version 5.9+-----++* Added the support of GHC 8.6 and dropped the support of old versions+ that do not have Monad.Fail.+ Version 5.8 -----
Simulation/Aivika/Composite.hs view
@@ -28,6 +28,7 @@ import Control.Monad import Control.Monad.Trans import Control.Monad.Fix+import Control.Monad.Fail import Control.Applicative import Simulation.Aivika.Parameter@@ -84,6 +85,9 @@ let Composite m' = k a (b, h') <- m' h return (b, h')++instance MonadFail Composite where+ fail = error instance MonadIO Composite where
Simulation/Aivika/Internal/Dynamics.hs view
@@ -39,6 +39,7 @@ import Control.Monad import Control.Monad.Trans import Control.Monad.Fix+import Control.Monad.Fail import qualified Control.Monad.Catch as MC import Control.Applicative @@ -98,6 +99,9 @@ instance Applicative Dynamics where pure = return (<*>) = ap++instance MonadFail Dynamics where+ fail = error instance Eq (Dynamics a) where x == y = error "Can't compare dynamics."
Simulation/Aivika/Internal/Event.hs view
@@ -67,6 +67,7 @@ import Control.Monad import Control.Monad.Trans import Control.Monad.Fix+import Control.Monad.Fail import qualified Control.Monad.Catch as MC import Control.Applicative @@ -105,6 +106,9 @@ instance Applicative Event where pure = return (<*>) = ap++instance MonadFail Event where+ fail = error liftME :: (a -> b) -> Event a -> Event b {-# INLINE liftME #-}
Simulation/Aivika/Internal/Parameter.hs view
@@ -47,6 +47,7 @@ import Control.Monad import Control.Monad.Trans import Control.Monad.Fix+import Control.Monad.Fail import qualified Control.Monad.Catch as MC import Control.Applicative @@ -125,6 +126,9 @@ instance Applicative Parameter where pure = return (<*>) = ap++instance MonadFail Parameter where+ fail = error instance Eq (Parameter a) where x == y = error "Can't compare parameters."
Simulation/Aivika/Internal/Process.hs view
@@ -104,6 +104,7 @@ import Control.Exception import Control.Monad import Control.Monad.Trans+import Control.Monad.Fail import qualified Control.Monad.Catch as MC import Control.Applicative @@ -455,6 +456,9 @@ instance Applicative Process where pure = return (<*>) = ap++instance MonadFail Process where+ fail = error instance ParameterLift Process where liftParameter = liftPP
Simulation/Aivika/Internal/Simulation.hs view
@@ -39,6 +39,7 @@ import Control.Monad import Control.Monad.Trans import Control.Monad.Fix+import Control.Monad.Fail import qualified Control.Monad.Catch as MC import Control.Applicative @@ -121,6 +122,9 @@ instance Applicative Simulation where pure = return (<*>) = ap++instance MonadFail Simulation where+ fail = error liftMS :: (a -> b) -> Simulation a -> Simulation b {-# INLINE liftMS #-}
Simulation/Aivika/Stream/Random.hs view
@@ -44,7 +44,7 @@ import Simulation.Aivika.Ref import Simulation.Aivika.Arrival --- | Return a sream of random events that arrive with the specified delay.+-- | Return a stream of random events that arrive with the specified delay. randomStream :: Parameter (Double, a) -- ^ compute a pair of the delay and event of type @a@ -> Stream (Arrival a)
aivika.cabal view
@@ -1,5 +1,5 @@ name: aivika-version: 5.8+version: 5.9 synopsis: A multi-method simulation library description: Aivika is a discrete event simulation (DES) framework with support of activity-oriented,@@ -230,7 +230,7 @@ Simulation.Aivika.Vector Simulation.Aivika.Vector.Unboxed - build-depends: base >= 4.6.0.0 && < 6,+ build-depends: base >= 4.9.0.0 && < 6, mtl >= 2.1.1, array >= 0.3.0.0, containers >= 0.4.0.0,