bearriver 0.13.1.1 → 0.13.1.2
raw patch · 2 files changed
+24/−5 lines, 2 filesdep ~dunaiPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: dunai
API changes (from Hackage documentation)
Files
- bearriver.cabal +23/−4
- src/FRP/BearRiver.hs +1/−1
bearriver.cabal view
@@ -1,7 +1,5 @@ name: bearriver-version: 0.13.1.1-synopsis: A replacement of Yampa based on Monadic Stream Functions.-description: A Yampa replacement built using Dunai.+version: 0.13.1.2 homepage: keera.co.uk license: BSD3 license-file: LICENSE@@ -13,11 +11,32 @@ -- extra-source-files: cabal-version: >=1.10 +synopsis: FRP Yampa replacement implemented with Monadic Stream Functions.+description:+ <https://hackage.haskell.org/package/Yampa Yampa> is a popular Functional+ Reactive Programming (FRP) implementation that has been used extensively for+ all kinds of applications, including robotics and games.+ .+ <https://dl.acm.org/doi/10.1145/2976002.2976010 Monadic Stream Functions> are+ a new abstraction for data processors that combine arrows and monads. The+ library <https://hackage.haskell.org/package/dunai dunai> provides a default+ implementation.+ .+ Bearriver (a tributary to the Yampa river) provides the same API as Yampa,+ but implemented using dunai underneath. The goal is to facilitate+ understanding what's different about Yampa, and other FRP and Reactive+ Programming libraries, by creating wrappers around dunai defined precisely by+ those differences.+ .+ Because dunai is particularly fast, especially with optimizations enabled,+ this implementation is faster than traditional Yampa for medium-sized and+ large applications.+ library exposed-modules: FRP.Yampa, FRP.BearRiver - build-depends: base >=4.6 && <5, transformers >=0.3, mtl, dunai >= 0.6.0 && < 0.7, MonadRandom, simple-affine-space+ build-depends: base >=4.6 && <5, transformers >=0.3, mtl, dunai >= 0.6.0 && < 0.8, MonadRandom, simple-affine-space hs-source-dirs: src/ default-language: Haskell2010
src/FRP/BearRiver.hs view
@@ -545,7 +545,7 @@ senseRest a = constM (sense True) >>> (arr id *** keepLast a) keepLast :: Monad m => a -> MSF m (Maybe a) a- keepLast a = MSF $ \ma -> let a' = fromMaybe a ma in return (a', keepLast a')+ keepLast a = MSF $ \ma -> let a' = fromMaybe a ma in a' `seq` return (a', keepLast a') -- Consume/render -- actuateSF :: MSF IO b ()