packages feed

bearriver 0.10.4.4 → 0.10.4.5

raw patch · 2 files changed

+17/−4 lines, 2 filesdep ~dunaiPVP: minor bump suggested

API additions: PVP suggests at least a minor version bump

Dependency ranges changed: dunai

API changes (from Hackage documentation)

+ FRP.BearRiver: instance GHC.Classes.Eq a => GHC.Classes.Eq (FRP.BearRiver.Event a)
+ FRP.BearRiver: localTime :: Monad m => SF m () Time
+ FRP.BearRiver: parB :: Monad m => [SF m a b] -> SF m a [b]
+ FRP.BearRiver: rMerge :: Event a -> Event a -> Event a
+ FRP.Yampa: localTime :: Monad m => SF m () Time
+ FRP.Yampa: parB :: Monad m => [SF m a b] -> SF m a [b]
+ FRP.Yampa: rMerge :: Event a -> Event a -> Event a

Files

bearriver.cabal view
@@ -1,5 +1,5 @@ name:                bearriver-version:             0.10.4.4+version:             0.10.4.5 synopsis:            A replacement of Yampa based on Monadic Stream Functions. description:         A Yampa replacement built using Dunai. homepage:            keera.co.uk@@ -23,7 +23,7 @@                        FRP.Yampa.AffineSpace,                        FRP.BearRiver -  build-depends:       base >=4.6 && <5, transformers >=0.3, mtl, dunai >= 0.5 && < 0.6, MonadRandom+  build-depends:       base >=4.6 && <5, transformers >=0.3, mtl, dunai >= 0.5.2 && < 0.6, MonadRandom   hs-source-dirs:      src/   default-language:    Haskell2010 
src/FRP/BearRiver.hs view
@@ -19,6 +19,7 @@ import           Control.Monad.Trans.Maybe import           Control.Monad.Trans.MSF                        hiding (switch) import           Control.Monad.Trans.MSF.Except                 as MSF hiding (switch)+import           Control.Monad.Trans.MSF.List                   (widthFirst, sequenceS) import           Control.Monad.Trans.MSF.Random import           Data.Functor.Identity import           Data.Maybe@@ -49,8 +50,11 @@ -- * Continuous time  time :: Monad m => SF m () Time-time = integral <<< constant 1+time = localTime +localTime :: Monad m => SF m () Time+localTime = constant 1.0 >>> integral+ integral :: (Monad m, VectorSpace a s) => SF m a a integral = integralFrom zeroVector @@ -71,7 +75,7 @@ -- * Events  data Event a = Event a | NoEvent- deriving Show+ deriving (Eq, Show)  instance Functor Event where   fmap f NoEvent   = NoEvent@@ -106,9 +110,15 @@ mergeBy _       NoEvent      re@(Event _) = re mergeBy resolve (Event l)    (Event r)    = Event (resolve l r) +-- | Left-biased event merge (always prefer left event, if present). lMerge :: Event a -> Event a -> Event a lMerge = mergeBy (\e1 _ -> e1) +-- | Right-biased event merge (always prefer right event, if present).+rMerge :: Event a -> Event a -> Event a+rMerge = flip lMerge++ -- ** Relation to other types  eventToMaybe = event Nothing Just@@ -216,6 +226,9 @@ accumHoldBy f b = feedback b $ arr $ \(a, b') ->   let b'' = event b' (f b') a   in (b'', b'')++parB :: (Monad m) => [SF m a b] -> SF m a [b]+parB = widthFirst . sequenceS  dpSwitchB :: (Monad m , Traversable col)           => col (SF m a b) -> SF m (a, col b) (Event c) -> (col (SF m a b) -> c -> SF m a (col b))