bearriver 0.14.2 → 0.14.3
raw patch · 4 files changed
+59/−7 lines, 4 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- FRP.BearRiver: dup :: a -> (a, a)
+ FRP.BearRiver.Arrow: arr2 :: Arrow a => (b -> c -> d) -> a (b, c) d
+ FRP.BearRiver.Arrow: arr3 :: Arrow a => (b -> c -> d -> e) -> a (b, c, d) e
+ FRP.BearRiver.Arrow: arr4 :: Arrow a => (b -> c -> d -> e -> f) -> a (b, c, d, e) f
+ FRP.BearRiver.Arrow: arr5 :: Arrow a => (b -> c -> d -> e -> f -> g) -> a (b, c, d, e, f) g
+ FRP.BearRiver.Arrow: dup :: a -> (a, a)
+ FRP.Yampa: arr2 :: Arrow a => (b -> c -> d) -> a (b, c) d
+ FRP.Yampa: arr3 :: Arrow a => (b -> c -> d -> e) -> a (b, c, d) e
+ FRP.Yampa: arr4 :: Arrow a => (b -> c -> d -> e -> f) -> a (b, c, d, e) f
+ FRP.Yampa: arr5 :: Arrow a => (b -> c -> d -> e -> f -> g) -> a (b, c, d, e, f) g
Files
- CHANGELOG +4/−0
- bearriver.cabal +2/−1
- src/FRP/BearRiver.hs +1/−6
- src/FRP/BearRiver/Arrow.hs +52/−0
CHANGELOG view
@@ -1,3 +1,7 @@+2023-06-21 Ivan Perez <ivan.perez@keera.co.uk>+ * Version bump (0.14.3) (#372).+ * Offer all definitions from FRP.Yampa.Arrow (#360).+ 2023-04-21 Ivan Perez <ivan.perez@keera.co.uk> * Version bump (0.14.2) (#358). * Remove unused module FRP.Yampa.VectorSpace (#351).
bearriver.cabal view
@@ -30,7 +30,7 @@ build-type: Simple name: bearriver-version: 0.14.2+version: 0.14.3 author: Ivan Perez, Manuel Bärenz maintainer: ivan.perez@keera.co.uk homepage: https://github.com/ivanperez-keera/dunai@@ -76,6 +76,7 @@ library exposed-modules: FRP.BearRiver+ FRP.BearRiver.Arrow FRP.Yampa build-depends:
src/FRP/BearRiver.hs view
@@ -46,6 +46,7 @@ repeatedly, trace) import Data.MonadicStreamFunction.InternalCore (MSF (MSF, unMSF))+import FRP.BearRiver.Arrow as X -- Internal imports (dunai, instances) import Data.MonadicStreamFunction.Instances.ArrowLoop () -- not needed, just@@ -886,9 +887,3 @@ -- argument. replaceOnce :: Monad m => a -> SF m a a replaceOnce a = dSwitch (arr $ const (a, Event ())) (const $ arr id)---- ** Tuples---- | Duplicate an input.-dup :: a -> (a, a)-dup x = (x, x)
+ src/FRP/BearRiver/Arrow.hs view
@@ -0,0 +1,52 @@+-- |+-- Module : FRP.BearRiver.Arrow+-- Copyright : (c) Ivan Perez, 2014-2023+-- (c) George Giorgidze, 2007-2012+-- (c) Henrik Nilsson, 2005-2006+-- (c) Antony Courtney and Henrik Nilsson, Yale University, 2003-2004+-- License : BSD3+--+-- Maintainer : ivan.perez@keera.co.uk+-- Stability : provisional+-- Portability : portable+--+-- Arrow helper functions.+module FRP.BearRiver.Arrow+ (+ -- * Arrow plumbing aids+ dup++ -- * Liftings+ , arr2+ , arr3+ , arr4+ , arr5+ )+ where++-- External imports+import Control.Arrow (Arrow, arr)++-- * Arrow plumbing aids++-- | Duplicate an input.+dup :: a -> (a, a)+dup x = (x, x)++-- * Liftings++-- | Lift a binary function onto an arrow.+arr2 :: Arrow a => (b -> c -> d) -> a (b, c) d+arr2 = arr . uncurry++-- | Lift a 3-ary function onto an arrow.+arr3 :: Arrow a => (b -> c -> d -> e) -> a (b, c, d) e+arr3 = arr . \h (b, c, d) -> h b c d++-- | Lift a 4-ary function onto an arrow.+arr4 :: Arrow a => (b -> c -> d -> e -> f) -> a (b, c, d, e) f+arr4 = arr . \h (b, c, d, e) -> h b c d e++-- | Lift a 5-ary function onto an arrow.+arr5 :: Arrow a => (b -> c -> d -> e -> f -> g) -> a (b, c, d, e, f) g+arr5 = arr . \h (b, c, d, e, f) -> h b c d e f