aivika 4.3.4 → 4.3.5
raw patch · 4 files changed
+40/−46 lines, 4 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Simulation.Aivika.QueueStrategy: data family StrategyQueue s :: * -> *;
- Simulation.Aivika.QueueStrategy: }
- Simulation.Aivika.Statistics: instance (Simulation.Aivika.Statistics.TimingData a, GHC.Show.Show a) => GHC.Show.Show (Simulation.Aivika.Statistics.TimingCounter a)
+ Simulation.Aivika.Statistics: instance (GHC.Show.Show a, Simulation.Aivika.Statistics.TimingData a) => GHC.Show.Show (Simulation.Aivika.Statistics.TimingCounter a)
- Simulation.Aivika.QueueStrategy: class QueueStrategy s where data StrategyQueue s :: * -> * where {
+ Simulation.Aivika.QueueStrategy: class QueueStrategy s where data family StrategyQueue s :: * -> *
Files
- CHANGELOG.md +5/−0
- Simulation/Aivika/Results.hs +1/−22
- Simulation/Aivika/Unboxed.hs +1/−5
- aivika.cabal +33/−19
CHANGELOG.md view
@@ -1,4 +1,9 @@ +Version 4.3.5+-----++* Removed the obsolete preprocessor instructions for conditional compilation.+ Version 4.3.4 -----
Simulation/Aivika/Results.hs view
@@ -1,5 +1,5 @@ -{-# LANGUAGE CPP, FlexibleContexts, FlexibleInstances, UndecidableInstances, ExistentialQuantification #-}+{-# LANGUAGE FlexibleContexts, FlexibleInstances, UndecidableInstances, ExistentialQuantification #-} -- | -- Module : Simulation.Aivika.Results@@ -29,9 +29,7 @@ ResultComputation(..), ResultListWithSubscript(..), ResultArrayWithSubscript(..),-#ifndef __HASTE__ ResultVectorWithSubscript(..),-#endif -- * Definitions Focused on Using the Library ResultValue(..), resultsToIntValues,@@ -107,10 +105,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@@ -1953,16 +1948,12 @@ items = A.elems m subscript = map (\i -> "[" ++ show i ++ "]") (A.indices m) -#ifndef __HASTE__- instance ResultProvider p => ResultProvider (V.Vector p) 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]@@ -1971,14 +1962,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 => ResultProvider (ResultListWithSubscript p) where resultSource' name i (ResultListWithSubscript xs ys) =@@ -2007,8 +1994,6 @@ resultSource' name i $ ResultListWithSubscript items subscript where items = A.elems xs subscript = A.elems ys- -#ifndef __HASTE__ instance ResultProvider p => ResultProvider (ResultVectorWithSubscript p) where @@ -2034,8 +2019,6 @@ in resultSource' name' (VectorItemId y) x items' = V.map resultSourceSummary items -#endif- instance (Ix i, Show i, ResultComputing m) => ResultProvider (m (A.Array i Double)) where resultSource' name i m =@@ -2046,8 +2029,6 @@ resultSource' name i m = ResultItemSource $ ResultItem $ fmap A.elems $ computeResultValue name i m -#ifndef __HASTE__- instance ResultComputing m => ResultProvider (m (V.Vector Double)) where resultSource' name i m =@@ -2057,8 +2038,6 @@ resultSource' name i m = ResultItemSource $ ResultItem $ fmap V.toList $ computeResultValue name i m--#endif instance (Show si, Show sm, Show so, ResultItemable (ResultValue si),
Simulation/Aivika/Unboxed.hs view
@@ -1,5 +1,5 @@ -{-# LANGUAGE CPP, FlexibleContexts #-}+{-# LANGUAGE FlexibleContexts #-} -- | -- Module : Simulation.Aivika.Unboxed@@ -40,9 +40,5 @@ instance Unboxed Word16 instance Unboxed Word32 -#ifndef __HASTE__- instance Unboxed Int64 instance Unboxed Word64--#endif
aivika.cabal view
@@ -1,14 +1,15 @@ name: aivika-version: 4.3.4-synopsis: A multi-paradigm simulation library+version: 4.3.5+synopsis: A multi-method simulation library description:- Aivika is a multi-paradigm simulation library with a strong emphasis- on Discrete Event Simulation (DES) and System Dynamics (SD).+ Aivika is a multi-method simulation library focused on + discrete event simulation (DES) with partial support of + system dynamics and agent-based modeling. . The library has the following features: . * allows defining recursive stochastic differential equations of - System Dynamics (unordered as in maths via the recursive do-notation);+ system dynamics (unordered as in maths via the recursive do-notation); . * supports the event-driven paradigm of DES as a basic core for implementing other paradigms;@@ -24,15 +25,15 @@ . * supports the resource preemption; .- * allows defining a queue network based on infinite streams of data- and their processors, where we can define a complex enough- behaviour just in a few lines of code;+ * allows defining a queue network based on streams of data (transacts) + and their processors; . * allows simulating circuits with recursive links and delays; . * supports the activity-oriented paradigm of DES; .- * supports the basic constructs for the agent-based modeling;+ * supports basic constructs for the agent-based modeling such as + agents, states, timeout and timer handlers; . * allows creating combined discrete-continuous models as all parts of the library are well integrated and this is reflected directly @@ -52,8 +53,8 @@ (monads, streams and arrows). . Aivika itself is a light-weight engine with minimal dependencies. - However, it has additional packages Aivika Experiment [1] and - Aivika Experiment Chart [2] that offer the following features:+ However, it has additional packages [1, 2] that offer the following + features: . * automating simulation experiments; .@@ -68,14 +69,19 @@ . * has an extensible architecture. .- The charting package has two interchangeable back-ends:- Aivika Experiment Cairo [3] and Aivika Experiment Diagrams [4].- .- All libraries were tested on Linux, Windows and OS X.+ The charting package has two interchangeable back-ends [3, 4],+ where one of them uses Cairo and it is more preferable. . The PDF documentation and installation instructions are - available on the Aivika Wiki [5] website.+ available on the Aivika Wiki website [5]. .+ Moreover, the method was generalized [6] and applied to + nested simulation [7] and parallel distributed simulation [8]. + .+ The libraries were tested on Linux, Windows and OS X.+ .+ A more full information about Aivika is available on the project website [9].+ . \[1] <http://hackage.haskell.org/package/aivika-experiment> . \[2] <http://hackage.haskell.org/package/aivika-experiment-chart>@@ -86,8 +92,17 @@ . \[5] <https://github.com/dsorokin/aivika/wiki> .+ \[6] <http://hackage.haskell.org/package/aivika-transformers>+ .+ \[7] <http://hackage.haskell.org/package/aivika-branches>+ .+ \[8] <http://hackage.haskell.org/package/aivika-distributed>+ .+ \[9] <http://www.aivikasoft.com/en/products/aivika.html>+ . P.S. Aivika is actually a genuine female Mari name which is pronounced with stress on the last syllable.+ . category: Simulation license: BSD3 license-file: LICENSE@@ -97,7 +112,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@@ -221,8 +236,7 @@ TypeFamilies, DeriveDataTypeable, TypeSynonymInstances,- RankNTypes,- CPP+ RankNTypes ghc-options: -O2