diff --git a/bench/Bench.hs b/bench/Bench.hs index 1f3c089..9f07e4c 100644 --- a/bench/Bench.hs +++ b/bench/Bench.hs @@ -8,6 +8,7 @@ import Aztecs.ECS.World import qualified Aztecs.ECS.World as W import Control.DeepSeq import Criterion.Main +import Data.Function import Data.Functor.Identity import GHC.Generics @@ -20,7 +21,7 @@ newtype Velocity = Velocity Int deriving (Show, Generic, NFData) instance Component Velocity query :: Query Position -query = Q.adjust (\(Velocity v) (Position p) -> Position $ p + v) Q.fetch +query = Q.fetch & Q.adjust (\(Velocity v) (Position p) -> Position $ p + v) run :: Query Position -> World -> [Position] run q = fst . runIdentity . Q.map q . entities diff --git a/src/Aztecs/Camera.hs b/src/Aztecs/Camera.hs index cd79a82..0e5850b 100644 --- a/src/Aztecs/Camera.hs +++ b/src/Aztecs/Camera.hs @@ -22,7 +22,6 @@ import qualified Aztecs.ECS.Access as A import qualified Aztecs.ECS.Query.Reader as Q import qualified Aztecs.ECS.System as S import Aztecs.Window -import Control.Arrow import Control.DeepSeq import GHC.Generics import Linear diff --git a/src/Aztecs/ECS/System.hs b/src/Aztecs/ECS/System.hs index e4adc3a..fa2287d 100644 --- a/src/Aztecs/ECS/System.hs +++ b/src/Aztecs/ECS/System.hs @@ -59,7 +59,7 @@ newtype SystemT m a = SystemT -- @since 0.9 runSystemT :: ReaderT (TVar Entities) m a } - deriving (Functor, Applicative, Monad, MonadFix) + deriving (Functor, Applicative, Monad) -- | @since 0.9 instance MonadDynamicSystem (DynamicQueryT STM) System where