ecstasy 0.1.1.0 → 0.1.1.1
raw patch · 5 files changed
+16/−7 lines, 5 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- ChangeLog.md +4/−0
- ecstasy.cabal +1/−1
- src/Data/Ecstasy.hs +7/−2
- src/Data/Ecstasy/Deriving.hs +2/−2
- src/Data/Ecstasy/Types.hs +2/−2
ChangeLog.md view
@@ -1,5 +1,9 @@ # Revision history for ecstasy +## 0.1.1.1 -- 2018-05-17++* Use strict datastructures to avoid memory leaks. Backported from 0.2 branch.+ ## 0.1.1.0 -- 2018-02-18 * Added 'deleteEntity' (function) and 'delEntity' (QueryT setter).
ecstasy.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/ name: ecstasy-version: 0.1.1.0+version: 0.1.1.1 synopsis: A GHC.Generics based entity component system.
src/Data/Ecstasy.hs view
@@ -18,8 +18,8 @@ import Control.Monad.Trans.Class (lift) import Control.Monad.Trans.Maybe (runMaybeT) import Control.Monad.Trans.Reader (runReaderT, ask)-import Control.Monad.Trans.State (modify, gets, evalStateT)-import qualified Control.Monad.Trans.State as S+import Control.Monad.Trans.State.Strict (modify, gets, evalStateT)+import qualified Control.Monad.Trans.State.Strict as S import Data.Ecstasy.Deriving import qualified Data.Ecstasy.Types as T import Data.Ecstasy.Types hiding (unEnt)@@ -93,6 +93,7 @@ => world 'FieldOf -> world 'SetterOf convertSetter = to . gConvertSetter . from+ {-# INLINE convertSetter #-} ---------------------------------------------------------------------------- -- | The default entity, owning no components.@@ -103,6 +104,7 @@ ) => world 'FieldOf defEntity = def @'True+ {-# INLINE defEntity #-} ---------------------------------------------------------------------------- -- | The default setter, which keeps all components with their previous value.@@ -113,6 +115,7 @@ ) => world 'SetterOf defEntity' = def @'True+ {-# INLINE defEntity' #-} ---------------------------------------------------------------------------- -- | A setter which will delete the entity if its 'QueryT' matches.@@ -123,6 +126,7 @@ ) => world 'SetterOf delEntity = def @'False+ {-# INLINE delEntity #-} ---------------------------------------------------------------------------- -- | The default world, which contains only empty containers.@@ -133,6 +137,7 @@ ) => world 'WorldOf defWorld = def @'True+ {-# INLINE defWorld #-} instance ( Generic (world 'SetterOf)
src/Data/Ecstasy/Deriving.hs view
@@ -11,8 +11,8 @@ module Data.Ecstasy.Deriving where import Data.Ecstasy.Types (Update (..))-import Data.IntMap (IntMap)-import qualified Data.IntMap as I+import Data.IntMap.Strict (IntMap)+import qualified Data.IntMap.Strict as I import GHC.Generics
src/Data/Ecstasy/Types.hs view
@@ -6,9 +6,9 @@ import Control.Monad.Trans.Maybe (MaybeT) import Control.Monad.Trans.Reader (ReaderT)-import Control.Monad.Trans.State (StateT)+import Control.Monad.Trans.State.Strict (StateT) import Data.Functor.Identity (Identity)-import Data.IntMap (IntMap)+import Data.IntMap.Strict (IntMap) ------------------------------------------------------------------------------