dunai-test 0.7.0 → 0.8.0
raw patch · 4 files changed
+18/−7 lines, 4 filesdep ~dunaiPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: dunai
API changes (from Hackage documentation)
- FRP.Dunai.LTLFuture: evalT :: Monad m => TPred (ReaderT DTime m) a -> SignalSampleStream a -> m Bool
+ FRP.Dunai.LTLFuture: evalT :: (Functor m, Applicative m, Monad m) => TPred (ReaderT DTime m) a -> SignalSampleStream a -> m Bool
- FRP.Dunai.LTLFuture: tPredMap :: Monad m => (MSF m a Bool -> m (MSF m a Bool)) -> TPred m a -> m (TPred m a)
+ FRP.Dunai.LTLFuture: tPredMap :: (Functor m, Applicative m, Monad m) => (MSF m a Bool -> m (MSF m a Bool)) -> TPred m a -> m (TPred m a)
- FRP.Dunai.LTLPast: untilSF :: Monad m => MSF m (Bool, Bool) Bool
+ FRP.Dunai.LTLPast: untilSF :: (Functor m, Monad m) => MSF m (Bool, Bool) Bool
Files
- dunai-test.cabal +3/−3
- src/FRP/Dunai/LTLFuture.hs +9/−3
- src/FRP/Dunai/LTLPast.hs +1/−1
- src/FRP/Dunai/QuickCheck.hs +5/−0
dunai-test.cabal view
@@ -1,7 +1,7 @@ name: dunai-test-version: 0.7.0+version: 0.8.0 synopsis: Testing library for Dunai-description: Testing and debugging library for Duani.+description: Testing and debugging library for Dunai. . It contains: .@@ -31,7 +31,7 @@ FRP.Dunai.Stream FRP.Dunai.QuickCheck build-depends: base >= 4 && <5,- dunai >= 0.5 && <0.8,+ dunai >= 0.5 && <0.9, QuickCheck, normaldistribution hs-source-dirs: src
src/FRP/Dunai/LTLFuture.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE GADTs #-} {-# LANGUAGE ScopedTypeVariables #-} module FRP.Dunai.LTLFuture@@ -7,6 +8,10 @@ ) where +#if !MIN_VERSION_base(4,8,0)+import Control.Applicative (Applicative, (<$>), (<*>), pure)+#endif+ import Control.Monad.Trans.MSF.Reader import Data.MonadicStreamFunction import Data.MonadicStreamFunction.InternalCore (unMSF)@@ -27,7 +32,7 @@ Until :: TPred m a -> TPred m a -> TPred m a -- | Apply a transformation to the leaves of a temporal predicate (to the SFs).-tPredMap :: Monad m+tPredMap :: (Functor m, Applicative m, Monad m) => (MSF m a Bool -> m (MSF m a Bool)) -- ^ Transformation to apply -> TPred m a -- ^ Temporal predicate -> m (TPred m a)@@ -46,7 +51,8 @@ -- | Evaluates a temporal predicate at time T=0 against a sample stream. -- -- Returns 'True' if the temporal proposition is currently true.-evalT :: Monad m => TPred (ReaderT DTime m) a -> SignalSampleStream a -> m Bool+evalT :: (Functor m, Applicative m, Monad m)+ => TPred (ReaderT DTime m) a -> SignalSampleStream a -> m Bool evalT (Prop sf) [] = return False evalT (And t1 t2) [] = (&&) <$> evalT t1 [] <*> evalT t2 [] evalT (Or t1 t2) [] = (||) <$> evalT t1 [] <*> evalT t2 []@@ -93,7 +99,7 @@ orM (SoFar x) (SoFar True) = SoFar x -- | Perform one step of evaluation of a temporal predicate.-stepF :: Monad m+stepF :: (Applicative m, Monad m) => TPred (ReaderT DTime m) a -> (DTime, a) -> m (MultiRes, TPred (ReaderT DTime m) a)
src/FRP/Dunai/LTLPast.hs view
@@ -36,7 +36,7 @@ everSF :: Monad m => MSF m Bool Bool everSF = feedback False $ arr $ \(n,o) -> let n' = o || n in (n', n') -untilSF :: Monad m => MSF m (Bool, Bool) Bool+untilSF :: (Functor m, Monad m) => MSF m (Bool, Bool) Bool untilSF = catchMaybe (untilMaybeB (feedback True $ arr cond)) (snd ^>> sofarSF)
src/FRP/Dunai/QuickCheck.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE MultiWayIf #-} {-# LANGUAGE ScopedTypeVariables #-} @@ -12,6 +13,10 @@ -- - The function uniDistStreamMaxDT had the wrong type and the name on the -- paper was: uniDistStream. This has been fixed.++#if !MIN_VERSION_base(4,8,0)+import Control.Applicative ((<$>), pure)+#endif import Data.Random.Normal import Data.MonadicStreamFunction