aivika-transformers 4.3.4 → 4.3.5
raw patch · 15 files changed
+19/−40 lines, 15 filesdep ~aivika
Dependency ranges changed: aivika
Files
- Simulation/Aivika/IO/DES.hs +1/−1
- Simulation/Aivika/IO/Dynamics/Memo.hs +1/−1
- Simulation/Aivika/IO/Dynamics/Memo/Unboxed.hs +1/−1
- Simulation/Aivika/IO/Event.hs +1/−1
- Simulation/Aivika/IO/Generator.hs +1/−1
- Simulation/Aivika/IO/QueueStrategy.hs +1/−1
- Simulation/Aivika/IO/Ref/Base.hs +1/−1
- Simulation/Aivika/IO/Resource/Preemption.hs +1/−1
- Simulation/Aivika/IO/Resource/Preemption/Base.hs +1/−1
- Simulation/Aivika/IO/SD.hs +1/−1
- Simulation/Aivika/IO/Var.hs +1/−1
- Simulation/Aivika/IO/Var/Unboxed.hs +1/−1
- Simulation/Aivika/Trans/Results.hs +2/−23
- Simulation/Aivika/Trans/Var.hs +1/−1
- aivika-transformers.cabal +4/−4
Simulation/Aivika/IO/DES.hs view
@@ -27,6 +27,6 @@ import Simulation.Aivika.IO.QueueStrategy -- | A template-based instantiation of the 'MonadDES' type class.-instance (MonadComp m, MonadIO m, MonadTemplate m) => MonadDES m where+instance (Monad m, MonadComp m, MonadIO m, MonadTemplate m) => MonadDES m where {-# SPECIALISE instance MonadDES IO #-}
Simulation/Aivika/IO/Dynamics/Memo.hs view
@@ -31,7 +31,7 @@ import Simulation.Aivika.Trans.Array -- | The 'MonadIO' based monad is an instance of the 'MonadMemo' type class.-instance (MonadIO m, MonadTemplate m) => MonadMemo m where+instance (Monad m, MonadIO m, MonadTemplate m) => MonadMemo m where {-# SPECIALISE instance MonadMemo IO #-}
Simulation/Aivika/IO/Dynamics/Memo/Unboxed.hs view
@@ -31,7 +31,7 @@ import Simulation.Aivika.Trans.Array -- | The 'MonadIO' based monad is an instance of the 'MonadMemo' type class.-instance (MonadIO m, MonadTemplate m, MArray IOUArray e IO) => MonadMemo m e where+instance (Monad m, MonadIO m, MonadTemplate m, MArray IOUArray e IO) => MonadMemo m e where {-# SPECIALISE instance MonadMemo IO Double #-} {-# SPECIALISE instance MonadMemo IO Float #-}
Simulation/Aivika/IO/Event.hs view
@@ -28,7 +28,7 @@ import Simulation.Aivika.Trans.Internal.Types -- | A template-based implementation of the 'EventQueueing' type class.-instance (MonadIO m, MonadTemplate m) => EventQueueing m where+instance (Monad m, MonadIO m, MonadTemplate m) => EventQueueing m where {-# SPECIALISE instance EventQueueing IO #-}
Simulation/Aivika/IO/Generator.hs view
@@ -25,7 +25,7 @@ import Simulation.Aivika.Trans.Generator.Primitive import Simulation.Aivika.Trans.Template -instance (Functor m, MonadIO m, MonadTemplate m) => MonadGenerator m where+instance (Functor m, Monad m, MonadIO m, MonadTemplate m) => MonadGenerator m where {-# SPECIALISE instance MonadGenerator IO #-}
Simulation/Aivika/IO/QueueStrategy.hs view
@@ -31,7 +31,7 @@ import qualified Simulation.Aivika.Vector as V -- | An implementation of the 'FCFS' queue strategy.-instance (MonadComp m, MonadIO m, MonadTemplate m)+instance (Monad m, MonadComp m, MonadIO m, MonadTemplate m) => QueueStrategy m FCFS where {-# SPECIALISE instance QueueStrategy IO FCFS #-}
Simulation/Aivika/IO/Ref/Base.hs view
@@ -23,7 +23,7 @@ import Simulation.Aivika.Trans.Template -- | The 'MonadIO' based monad is an instance of 'MonadRef'.-instance (MonadIO m, MonadTemplate m) => MonadRef m where+instance (Monad m, MonadIO m, MonadTemplate m) => MonadRef m where {-# SPECIALISE instance MonadRef IO #-}
Simulation/Aivika/IO/Resource/Preemption.hs view
@@ -39,7 +39,7 @@ import qualified Simulation.Aivika.PriorityQueue as PQ -- | The 'MonadIO' based monad is an instance of 'MonadResource'.-instance (MonadDES m, MonadIO m, MonadTemplate m) => MonadResource m where+instance (Monad m, MonadDES m, MonadIO m, MonadTemplate m) => MonadResource m where {-# SPECIALISE instance MonadResource IO #-}
Simulation/Aivika/IO/Resource/Preemption/Base.hs view
@@ -36,7 +36,7 @@ import qualified Simulation.Aivika.PriorityQueue as PQ -- | The 'MonadIO' based monad is an instance of 'MonadResource'.-instance (MonadDES m, MonadIO m, MonadTemplate m) => MonadResource m where+instance (Monad m, MonadDES m, MonadIO m, MonadTemplate m) => MonadResource m where {-# SPECIALISE instance MonadResource IO #-}
Simulation/Aivika/IO/SD.hs view
@@ -25,6 +25,6 @@ import Simulation.Aivika.Trans.Template -- | A template-based instantiation of the 'MonadSD' type class.-instance (MonadComp m, MonadIO m, MonadTemplate m) => MonadSD m where+instance (Monad m, MonadComp m, MonadIO m, MonadTemplate m) => MonadSD m where {-# SPECIALISE instance MonadSD IO #-}
Simulation/Aivika/IO/Var.hs view
@@ -33,7 +33,7 @@ import qualified Simulation.Aivika.Vector.Unboxed as UV -- | The 'MonadIO' based monad is an instance of 'MonadVar'.-instance (MonadDES m, MonadIO m, MonadTemplate m) => MonadVar m where+instance (Monad m, MonadDES m, MonadIO m, MonadTemplate m) => MonadVar m where {-# SPECIALISE instance MonadVar IO #-}
Simulation/Aivika/IO/Var/Unboxed.hs view
@@ -33,7 +33,7 @@ import qualified Simulation.Aivika.Vector.Unboxed as UV -- | The 'MonadIO' based monad is an instance of 'MonadVar'.-instance (MonadDES m, MonadIO m, MonadTemplate m, Unboxed a) => MonadVar m a where+instance (Monad m, MonadDES m, MonadIO m, MonadTemplate m, Unboxed a) => MonadVar m a where {-# SPECIALISE instance MonadVar IO Double #-} {-# SPECIALISE instance MonadVar IO Float #-}
Simulation/Aivika/Trans/Results.hs view
@@ -1,5 +1,5 @@ -{-# LANGUAGE CPP, FlexibleContexts, FlexibleInstances, UndecidableInstances, ExistentialQuantification, MultiParamTypeClasses, FunctionalDependencies #-}+{-# LANGUAGE FlexibleContexts, FlexibleInstances, UndecidableInstances, ExistentialQuantification, MultiParamTypeClasses, FunctionalDependencies #-} -- | -- Module : Simulation.Aivika.Trans.Results@@ -28,9 +28,7 @@ ResultComputing(..), ResultListWithSubscript(..), ResultArrayWithSubscript(..),-#ifndef __HASTE__ ResultVectorWithSubscript(..),-#endif -- * Definitions Focused on Using the Library ResultValue(..), resultsToIntValues,@@ -106,10 +104,7 @@ import qualified Data.Map as M import qualified Data.Array as A--#ifndef __HASTE__ import qualified Data.Vector as V-#endif import Data.Ix import Data.Maybe@@ -1971,16 +1966,12 @@ items = A.elems m subscript = map (\i -> "[" ++ show i ++ "]") (A.indices m) -#ifndef __HASTE__- instance ResultProvider p m => ResultProvider (V.Vector p) m where resultSource' name i m = resultSource' name i $ ResultVectorWithSubscript m subscript where subscript = V.imap (\i x -> intSubscript i) m -#endif- -- | Represents a list with the specified subscript. data ResultListWithSubscript p = ResultListWithSubscript [p] [String]@@ -1989,14 +1980,10 @@ data ResultArrayWithSubscript i p = ResultArrayWithSubscript (A.Array i p) (A.Array i String) -#ifndef __HASTE__- -- | Represents a vector with the specified subscript. data ResultVectorWithSubscript p = ResultVectorWithSubscript (V.Vector p) (V.Vector String) -#endif- instance ResultProvider p m => ResultProvider (ResultListWithSubscript p) m where resultSource' name i (ResultListWithSubscript xs ys) =@@ -2018,15 +2005,13 @@ let name' = name ++ y in resultSource' name' (VectorItemId y) x items' = map resultSourceSummary items- + instance (Show i, Ix i, ResultProvider p m) => ResultProvider (ResultArrayWithSubscript i p) m where resultSource' name i (ResultArrayWithSubscript xs ys) = resultSource' name i $ ResultListWithSubscript items subscript where items = A.elems xs subscript = A.elems ys- -#ifndef __HASTE__ instance ResultProvider p m => ResultProvider (ResultVectorWithSubscript p) m where @@ -2052,8 +2037,6 @@ in resultSource' name' (VectorItemId y) x items' = V.map resultSourceSummary items -#endif- instance (Ix i, Show i, ResultComputing t m) => ResultProvider (t m (A.Array i Double)) m where resultSource' name i m =@@ -2064,8 +2047,6 @@ resultSource' name i m = ResultItemSource $ ResultItem $ mapResultValue A.elems $ computeResultValue name i m -#ifndef __HASTE__- instance ResultComputing t m => ResultProvider (t m (V.Vector Double)) m where resultSource' name i m =@@ -2075,8 +2056,6 @@ resultSource' name i m = ResultItemSource $ ResultItem $ mapResultValue V.toList $ computeResultValue name i m--#endif instance (MonadDES m, Show si, Show sm, Show so,
Simulation/Aivika/Trans/Var.hs view
@@ -1,5 +1,5 @@ -{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeFamilies, ConstrainedClassMethods #-} -- | -- Module : Simulation.Aivika.Trans.Var
aivika-transformers.cabal view
@@ -1,5 +1,5 @@ name: aivika-transformers-version: 4.3.4+version: 4.3.5 synopsis: Transformers for the Aivika simulation library description: This package is a generalization of the Aivika [1] simulation library@@ -16,7 +16,7 @@ homepage: http://www.aivikasoft.com/en/products/aivika.html cabal-version: >= 1.10 build-type: Simple-tested-with: GHC == 7.10.1+tested-with: GHC == 8.0.1 extra-source-files: examples/BassDiffusion.hs examples/BouncingBall.hs@@ -144,7 +144,7 @@ containers >= 0.4.0.0, random >= 1.0.0.3, vector >= 0.10.0.1,- aivika >= 4.3.4+ aivika >= 4.3.5 other-extensions: FlexibleContexts, FlexibleInstances,@@ -159,7 +159,7 @@ TypeSynonymInstances, DeriveDataTypeable, RankNTypes,- CPP+ ConstrainedClassMethods ghc-options: -O2