packages feed

aivika-transformers 5.7 → 5.8

raw patch · 6 files changed

+76/−3 lines, 6 filesdep ~aivikadep ~exceptionsPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: aivika, exceptions

API changes (from Hackage documentation)

- Simulation.Aivika.Trans.Internal.Event: instance GHC.Base.Monad m => Data.Semigroup.Semigroup (Simulation.Aivika.Trans.Internal.Event.DisposableEvent m)
- Simulation.Aivika.Trans.Results: instance Data.Semigroup.Semigroup (Simulation.Aivika.Trans.Results.Results m)
- Simulation.Aivika.Trans.Results: instance Simulation.Aivika.Trans.DES.MonadDES m => Data.Semigroup.Semigroup (Simulation.Aivika.Trans.Results.ResultSignal m)
- Simulation.Aivika.Trans.Signal: instance (Simulation.Aivika.Trans.DES.MonadDES m, Data.Semigroup.Semigroup a) => Data.Semigroup.Semigroup (Simulation.Aivika.Trans.Signal.Signalable m a)
- Simulation.Aivika.Trans.Signal: instance (Simulation.Aivika.Trans.DES.MonadDES m, GHC.Base.Monoid a, Data.Semigroup.Semigroup a) => GHC.Base.Monoid (Simulation.Aivika.Trans.Signal.Signalable m a)
- Simulation.Aivika.Trans.Signal: instance Simulation.Aivika.Trans.DES.MonadDES m => Data.Semigroup.Semigroup (Simulation.Aivika.Trans.Signal.Signal m a)
- Simulation.Aivika.Trans.Stream: instance Simulation.Aivika.Trans.DES.MonadDES m => Data.Semigroup.Semigroup (Simulation.Aivika.Trans.Stream.Stream m a)
+ Simulation.Aivika.Trans.Internal.Event: instance GHC.Base.Monad m => GHC.Base.Semigroup (Simulation.Aivika.Trans.Internal.Event.DisposableEvent m)
+ Simulation.Aivika.Trans.Results: instance GHC.Base.Semigroup (Simulation.Aivika.Trans.Results.Results m)
+ Simulation.Aivika.Trans.Results: instance Simulation.Aivika.Trans.DES.MonadDES m => GHC.Base.Semigroup (Simulation.Aivika.Trans.Results.ResultSignal m)
+ Simulation.Aivika.Trans.Signal: instance (Simulation.Aivika.Trans.DES.MonadDES m, GHC.Base.Monoid a, GHC.Base.Semigroup a) => GHC.Base.Monoid (Simulation.Aivika.Trans.Signal.Signalable m a)
+ Simulation.Aivika.Trans.Signal: instance (Simulation.Aivika.Trans.DES.MonadDES m, GHC.Base.Semigroup a) => GHC.Base.Semigroup (Simulation.Aivika.Trans.Signal.Signalable m a)
+ Simulation.Aivika.Trans.Signal: instance Simulation.Aivika.Trans.DES.MonadDES m => GHC.Base.Semigroup (Simulation.Aivika.Trans.Signal.Signal m a)
+ Simulation.Aivika.Trans.Stream: instance Simulation.Aivika.Trans.DES.MonadDES m => GHC.Base.Semigroup (Simulation.Aivika.Trans.Stream.Stream m a)
- Simulation.Aivika.Trans.Arrival: data Arrival a :: * -> *
+ Simulation.Aivika.Trans.Arrival: data Arrival a
- Simulation.Aivika.Trans.Channel: Channel :: (Signal m a -> Composite m (Signal m b)) -> Channel m a b
+ Simulation.Aivika.Trans.Channel: Channel :: Signal m a -> Composite m (Signal m b) -> Channel m a b
- Simulation.Aivika.Trans.Circuit: Circuit :: (a -> Event m (b, Circuit m a b)) -> Circuit m a b
+ Simulation.Aivika.Trans.Circuit: Circuit :: a -> Event m (b, Circuit m a b) -> Circuit m a b
- Simulation.Aivika.Trans.Internal.Simulation: data SimulationAbort :: *
+ Simulation.Aivika.Trans.Internal.Simulation: data SimulationAbort
- Simulation.Aivika.Trans.Internal.Simulation: data SimulationException :: *
+ Simulation.Aivika.Trans.Internal.Simulation: data SimulationException
- Simulation.Aivika.Trans.Internal.Simulation: data SimulationRetry :: *
+ Simulation.Aivika.Trans.Internal.Simulation: data SimulationRetry
- Simulation.Aivika.Trans.Net: Net :: (a -> Process m (b, Net m a b)) -> Net m a b
+ Simulation.Aivika.Trans.Net: Net :: a -> Process m (b, Net m a b) -> Net m a b
- Simulation.Aivika.Trans.Processor: Processor :: (Stream m a -> Stream m b) -> Processor m a b
+ Simulation.Aivika.Trans.Processor: Processor :: Stream m a -> Stream m b -> Processor m a b
- Simulation.Aivika.Trans.Results.Locale: ResultLocalisation :: (ResultId -> ResultDescription) -> (ResultId -> ResultDescription) -> ResultLocalisation
+ Simulation.Aivika.Trans.Results.Locale: ResultLocalisation :: ResultId -> ResultDescription -> ResultId -> ResultDescription -> ResultLocalisation
- Simulation.Aivika.Trans.Results.Locale.Types: ResultLocalisation :: (ResultId -> ResultDescription) -> (ResultId -> ResultDescription) -> ResultLocalisation
+ Simulation.Aivika.Trans.Results.Locale.Types: ResultLocalisation :: ResultId -> ResultDescription -> ResultId -> ResultDescription -> ResultLocalisation
- Simulation.Aivika.Trans.Signal: Signal :: ((a -> Event m ()) -> Event m (DisposableEvent m)) -> Signal m a
+ Simulation.Aivika.Trans.Signal: Signal :: (a -> Event m ()) -> Event m (DisposableEvent m) -> Signal m a
- Simulation.Aivika.Trans.Simulation: data SimulationAbort :: *
+ Simulation.Aivika.Trans.Simulation: data SimulationAbort
- Simulation.Aivika.Trans.Simulation: data SimulationException :: *
+ Simulation.Aivika.Trans.Simulation: data SimulationException
- Simulation.Aivika.Trans.Simulation: data SimulationRetry :: *
+ Simulation.Aivika.Trans.Simulation: data SimulationRetry
- Simulation.Aivika.Trans.Statistics: data SamplingCounter a :: * -> *
+ Simulation.Aivika.Trans.Statistics: data SamplingCounter a
- Simulation.Aivika.Trans.Statistics: data SamplingStats a :: * -> *
+ Simulation.Aivika.Trans.Statistics: data SamplingStats a
- Simulation.Aivika.Trans.Statistics: data TimingCounter a :: * -> *
+ Simulation.Aivika.Trans.Statistics: data TimingCounter a
- Simulation.Aivika.Trans.Statistics: data TimingStats a :: * -> *
+ Simulation.Aivika.Trans.Statistics: data TimingStats a
- Simulation.Aivika.Trans.Transform: Transform :: (Dynamics m a -> Simulation m (Dynamics m b)) -> Transform m a b
+ Simulation.Aivika.Trans.Transform: Transform :: Dynamics m a -> Simulation m (Dynamics m b) -> Transform m a b

Files

CHANGELOG.md view
@@ -1,4 +1,9 @@ +Version 5.8+-----++* Satisfying a new requirement of the MonadMask class type.+ Version 5.7 ----- 
Simulation/Aivika/Trans/Internal/Dynamics.hs view
@@ -277,6 +277,20 @@   invokeDynamics p (a $ q u)   where q u (Dynamics b) = Dynamics (u . b) +-- | An implementation of 'generalBracket'.+generalBracketDynamics :: MC.MonadMask m+                          => Dynamics m a+                          -> (a -> MC.ExitCase b -> Dynamics m c)+                          -> (a -> Dynamics m b)+                          -> Dynamics m (b, c)+{-# INLINABLE generalBracketDynamics #-}+generalBracketDynamics acquire release use =+  Dynamics $ \p -> do+    MC.generalBracket+      (invokeDynamics p acquire)+      (\resource e -> invokeDynamics p $ release resource e)+      (\resource -> invokeDynamics p $ use resource)+ instance MonadFix m => MonadFix (Dynamics m) where    {-# INLINE mfix #-}@@ -301,6 +315,9 @@      {-# INLINE uninterruptibleMask #-}   uninterruptibleMask = uninterruptibleMaskDynamics+  +  {-# INLINE generalBracket #-}+  generalBracket = generalBracketDynamics  -- | Computation that returns the current simulation time. time :: Monad m => Dynamics m Double
Simulation/Aivika/Trans/Internal/Event.hs view
@@ -183,6 +183,20 @@   invokeEvent p (a $ q u)   where q u (Event b) = Event (u . b) +-- | An implementation of 'generalBracket'.+generalBracketEvent :: MC.MonadMask m+                       => Event m a+                       -> (a -> MC.ExitCase b -> Event m c)+                       -> (a -> Event m b)+                       -> Event m (b, c)+{-# INLINABLE generalBracketEvent #-}+generalBracketEvent acquire release use =+  Event $ \p -> do+    MC.generalBracket+      (invokeEvent p acquire)+      (\resource e -> invokeEvent p $ release resource e)+      (\resource -> invokeEvent p $ use resource)+ instance MonadFix m => MonadFix (Event m) where    {-# INLINE mfix #-}@@ -207,6 +221,9 @@      {-# INLINE uninterruptibleMask #-}   uninterruptibleMask = uninterruptibleMaskEvent+  +  {-# INLINE generalBracket #-}+  generalBracket = generalBracketEvent  -- | Run the 'Event' computation in the start time involving all -- pending 'CurrentEvents' in the processing too.
Simulation/Aivika/Trans/Internal/Parameter.hs view
@@ -293,6 +293,20 @@   invokeParameter r (a $ q u)   where q u (Parameter b) = Parameter (u . b) +-- | An implementation of 'generalBracket'.+generalBracketParameter :: MC.MonadMask m+                           => Parameter m a+                           -> (a -> MC.ExitCase b -> Parameter m c)+                           -> (a -> Parameter m b)+                           -> Parameter m (b, c)+{-# INLINABLE generalBracketParameter #-}+generalBracketParameter acquire release use =+  Parameter $ \r -> do+    MC.generalBracket+      (invokeParameter r acquire)+      (\resource e -> invokeParameter r $ release resource e)+      (\resource -> invokeParameter r $ use resource)+ instance MonadFix m => MonadFix (Parameter m) where    {-# INLINE mfix #-}@@ -317,6 +331,9 @@      {-# INLINE uninterruptibleMask #-}   uninterruptibleMask = uninterruptibleMaskParameter+  +  {-# INLINE generalBracket #-}+  generalBracket = generalBracketParameter  -- | Memoize the 'Parameter' computation, always returning the same value -- within a simulation run. However, the value will be recalculated for other
Simulation/Aivika/Trans/Internal/Simulation.hs view
@@ -193,6 +193,20 @@   invokeSimulation r (a $ q u)   where q u (Simulation b) = Simulation (u . b) +-- | An implementation of 'generalBracket'.+generalBracketSimulation :: MC.MonadMask m+                            => Simulation m a+                            -> (a -> MC.ExitCase b -> Simulation m c)+                            -> (a -> Simulation m b)+                            -> Simulation m (b, c)+{-# INLINABLE generalBracketSimulation #-}+generalBracketSimulation acquire release use =+  Simulation $ \r -> do+    MC.generalBracket+      (invokeSimulation r acquire)+      (\resource e -> invokeSimulation r $ release resource e)+      (\resource -> invokeSimulation r $ use resource)+ instance MonadFix m => MonadFix (Simulation m) where    {-# INLINE mfix #-}@@ -217,3 +231,6 @@      {-# INLINE uninterruptibleMask #-}   uninterruptibleMask = uninterruptibleMaskSimulation+  +  {-# INLINE generalBracket #-}+  generalBracket = generalBracketSimulation
aivika-transformers.cabal view
@@ -1,5 +1,5 @@ name:            aivika-transformers-version:         5.7+version:         5.8 synopsis:        Transformers for the Aivika simulation library description:     This package is a generalization of the aivika [1] simulation library@@ -176,8 +176,8 @@                      mwc-random >= 0.13.0.0,                      vector >= 0.10.0.1,                      semigroups >= 0.10,-                     exceptions >= 0.6,-                     aivika >= 5.7+                     exceptions >= 0.9.0,+                     aivika >= 5.8      other-extensions:   FlexibleContexts,                         FlexibleInstances,