packages feed

bearriver 0.13.7 → 0.14

raw patch · 3 files changed

+19/−7 lines, 3 filesdep ~MonadRandomdep ~simple-affine-spacePVP ok

version bump matches the API change (PVP)

Dependency ranges changed: MonadRandom, simple-affine-space

API changes (from Hackage documentation)

- FRP.BearRiver: (&&&) :: Arrow a => a b c -> a b c' -> a b (c, c')
- FRP.BearRiver: (***) :: Arrow a => a b c -> a b' c' -> a (b, b') (c, c')
- FRP.BearRiver: (*^) :: VectorSpace v a => a -> v -> v
- FRP.BearRiver: (+++) :: ArrowChoice a => a b c -> a b' c' -> a (Either b b') (Either c c')
- FRP.BearRiver: (<+>) :: ArrowPlus a => a b c -> a b c -> a b c
- FRP.BearRiver: (<<<) :: forall {k} cat (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c
- FRP.BearRiver: (<<^) :: Arrow a => a c d -> (b -> c) -> a b d
- FRP.BearRiver: (>>>) :: forall {k} cat (a :: k) (b :: k) (c :: k). Category cat => cat a b -> cat b c -> cat a c
- FRP.BearRiver: (>>>^) :: forall (m1 :: Type -> Type) (m2 :: Type -> Type) a b c. MonadBase m1 m2 => MSF m2 a b -> MSF m1 b c -> MSF m2 a c
- FRP.BearRiver: (>>^) :: Arrow a => a b c -> (c -> d) -> a b d
- FRP.BearRiver: (^+^) :: VectorSpace v a => v -> v -> v
- FRP.BearRiver: (^-^) :: VectorSpace v a => v -> v -> v
- FRP.BearRiver: (^/) :: VectorSpace v a => v -> a -> v
- FRP.BearRiver: (^<<) :: Arrow a => (c -> d) -> a b c -> a b d
- FRP.BearRiver: (^>>) :: Arrow a => (b -> c) -> a c d -> a b d
- FRP.BearRiver: (^>>>) :: forall (m1 :: Type -> Type) (m2 :: Type -> Type) a b c. MonadBase m1 m2 => MSF m1 a b -> MSF m2 b c -> MSF m2 a c
- FRP.BearRiver: (|||) :: ArrowChoice a => a b d -> a c d -> a (Either b c) d
- FRP.BearRiver: ArrowMonad :: a () b -> ArrowMonad (a :: Type -> Type -> Type) b
- FRP.BearRiver: Kleisli :: (a -> m b) -> Kleisli (m :: Type -> Type) a b
- FRP.BearRiver: [runKleisli] :: Kleisli (m :: Type -> Type) a b -> a -> m b
- FRP.BearRiver: accumulateWith :: forall (m :: Type -> Type) a s. Monad m => (a -> s -> s) -> s -> MSF m a s
- FRP.BearRiver: app :: ArrowApply a => a (a b c, b) c
- FRP.BearRiver: arr :: Arrow a => (b -> c) -> a b c
- FRP.BearRiver: arrM :: Monad m => (a -> m b) -> MSF m a b
- FRP.BearRiver: class Category a => Arrow (a :: TYPE LiftedRep -> TYPE LiftedRep -> Type)
- FRP.BearRiver: class Arrow a => ArrowApply (a :: TYPE LiftedRep -> TYPE LiftedRep -> Type)
- FRP.BearRiver: class Arrow a => ArrowChoice (a :: TYPE LiftedRep -> TYPE LiftedRep -> Type)
- FRP.BearRiver: class Arrow a => ArrowLoop (a :: TYPE LiftedRep -> TYPE LiftedRep -> Type)
- FRP.BearRiver: class ArrowZero a => ArrowPlus (a :: TYPE LiftedRep -> TYPE LiftedRep -> Type)
- FRP.BearRiver: class Arrow a => ArrowZero (a :: TYPE LiftedRep -> TYPE LiftedRep -> Type)
- FRP.BearRiver: class (Eq a, Floating a) => VectorSpace v a | v -> a
- FRP.BearRiver: constM :: Monad m => m b -> MSF m a b
- FRP.BearRiver: count :: forall n (m :: Type -> Type) a. (Num n, Monad m) => MSF m a n
- FRP.BearRiver: data MSF (m :: Type -> Type) a b
- FRP.BearRiver: dot :: VectorSpace v a => v -> v -> a
- FRP.BearRiver: embed :: Monad m => MSF m a b -> [a] -> m [b]
- FRP.BearRiver: feedback :: forall (m :: Type -> Type) c a b. Monad m => c -> MSF m (a, c) (b, c) -> MSF m a b
- FRP.BearRiver: fifo :: forall (m :: Type -> Type) a. Monad m => MSF m [a] (Maybe a)
- FRP.BearRiver: first :: Arrow a => a b c -> a (b, d) (c, d)
- FRP.BearRiver: iPost :: forall (m :: Type -> Type) b a. Monad m => b -> MSF m a b -> MSF m a b
- FRP.BearRiver: iPre :: forall (m :: Type -> Type) a. Monad m => a -> MSF m a a
- FRP.BearRiver: infix 7 `dot`
- FRP.BearRiver: infixl 6 ^+^
- FRP.BearRiver: infixl 9 ^/
- FRP.BearRiver: infixr 1 <<<
- FRP.BearRiver: infixr 2 +++
- FRP.BearRiver: infixr 3 ***
- FRP.BearRiver: infixr 5 <+>
- FRP.BearRiver: infixr 9 *^
- FRP.BearRiver: left :: ArrowChoice a => a b c -> a (Either b d) (Either c d)
- FRP.BearRiver: leftApp :: ArrowApply a => a b c -> a (Either b d) (Either c d)
- FRP.BearRiver: liftBaseM :: forall (m2 :: Type -> Type) m1 a b. (Monad m2, MonadBase m1 m2) => (a -> m1 b) -> MSF m2 a b
- FRP.BearRiver: liftBaseS :: forall (m2 :: Type -> Type) (m1 :: Type -> Type) a b. (Monad m2, MonadBase m1 m2) => MSF m1 a b -> MSF m2 a b
- FRP.BearRiver: liftTransS :: forall (t :: (Type -> Type) -> Type -> Type) (m :: Type -> Type) a b. (MonadTrans t, Monad m, Monad (t m)) => MSF m a b -> MSF (t m) a b
- FRP.BearRiver: loop :: ArrowLoop a => a (b, d) (c, d) -> a b c
- FRP.BearRiver: mapMaybeS :: forall (m :: Type -> Type) a b. Monad m => MSF m a b -> MSF m (Maybe a) (Maybe b)
- FRP.BearRiver: mappendFrom :: forall n (m :: Type -> Type). (Monoid n, Monad m) => n -> MSF m n n
- FRP.BearRiver: mappendS :: forall n (m :: Type -> Type). (Monoid n, Monad m) => MSF m n n
- FRP.BearRiver: mealy :: forall (m :: Type -> Type) a s b. Monad m => (a -> s -> (b, s)) -> s -> MSF m a b
- FRP.BearRiver: morphGS :: Monad m2 => (forall c. () => (a1 -> m1 (b1, c)) -> a2 -> m2 (b2, c)) -> MSF m1 a1 b1 -> MSF m2 a2 b2
- FRP.BearRiver: morphS :: (Monad m2, Monad m1) => (forall c. () => m1 c -> m2 c) -> MSF m1 a b -> MSF m2 a b
- FRP.BearRiver: negateVector :: VectorSpace v a => v -> v
- FRP.BearRiver: newtype ArrowMonad (a :: Type -> Type -> Type) b
- FRP.BearRiver: newtype Kleisli (m :: Type -> Type) a b
- FRP.BearRiver: next :: forall (m :: Type -> Type) b a. Monad m => b -> MSF m a b -> MSF m a b
- FRP.BearRiver: norm :: VectorSpace v a => v -> a
- FRP.BearRiver: normalize :: VectorSpace v a => v -> v
- FRP.BearRiver: pauseOn :: Show a => (a -> Bool) -> String -> MSF IO a a
- FRP.BearRiver: returnA :: Arrow a => a b b
- FRP.BearRiver: right :: ArrowChoice a => a b c -> a (Either d b) (Either d c)
- FRP.BearRiver: second :: Arrow a => a b c -> a (d, b) (d, c)
- FRP.BearRiver: sumFrom :: forall v s (m :: Type -> Type). (VectorSpace v s, Monad m) => v -> MSF m v v
- FRP.BearRiver: sumS :: forall v s (m :: Type -> Type). (VectorSpace v s, Monad m) => MSF m v v
- FRP.BearRiver: traceWhen :: (Monad m, Show a) => (a -> Bool) -> (String -> m ()) -> String -> MSF m a a
- FRP.BearRiver: traceWith :: (Monad m, Show a) => (String -> m ()) -> String -> MSF m a a
- FRP.BearRiver: type MSink (m :: Type -> Type) a = MSF m a ()
- FRP.BearRiver: type MStream (m :: Type -> Type) a = MSF m () a
- FRP.BearRiver: unfold :: forall (m :: Type -> Type) a b. Monad m => (a -> (b, a)) -> a -> MSF m () b
- FRP.BearRiver: withSideEffect :: Monad m => (a -> m b) -> MSF m a a
- FRP.BearRiver: withSideEffect_ :: Monad m => m b -> MSF m a a
- FRP.BearRiver: zeroArrow :: ArrowZero a => a b c
- FRP.BearRiver: zeroVector :: VectorSpace v a => v
- FRP.BearRiver: derivative :: (Monad m, VectorSpace a s) => SF m a a
+ FRP.BearRiver: derivative :: (Monad m, Fractional s, VectorSpace a s) => SF m a a
- FRP.BearRiver: derivativeFrom :: (Monad m, VectorSpace a s) => a -> SF m a a
+ FRP.BearRiver: derivativeFrom :: (Monad m, Fractional s, VectorSpace a s) => a -> SF m a a
- FRP.BearRiver: integral :: (Monad m, VectorSpace a s) => SF m a a
+ FRP.BearRiver: integral :: (Monad m, Fractional s, VectorSpace a s) => SF m a a
- FRP.BearRiver: integralFrom :: (Monad m, VectorSpace a s) => a -> SF m a a
+ FRP.BearRiver: integralFrom :: (Monad m, Fractional s, VectorSpace a s) => a -> SF m a a
- FRP.Yampa: class (Eq a, Floating a) => VectorSpace v a | v -> a
+ FRP.Yampa: class VectorSpace v a | v -> a
- FRP.Yampa: derivative :: (Monad m, VectorSpace a s) => SF m a a
+ FRP.Yampa: derivative :: (Monad m, Fractional s, VectorSpace a s) => SF m a a
- FRP.Yampa: derivativeFrom :: (Monad m, VectorSpace a s) => a -> SF m a a
+ FRP.Yampa: derivativeFrom :: (Monad m, Fractional s, VectorSpace a s) => a -> SF m a a
- FRP.Yampa: integral :: (Monad m, VectorSpace a s) => SF m a a
+ FRP.Yampa: integral :: (Monad m, Fractional s, VectorSpace a s) => SF m a a
- FRP.Yampa: integralFrom :: (Monad m, VectorSpace a s) => a -> SF m a a
+ FRP.Yampa: integralFrom :: (Monad m, Fractional s, VectorSpace a s) => a -> SF m a a

Files

CHANGELOG view
@@ -1,3 +1,10 @@+2022-12-21 Ivan Perez <ivan.perez@keera.co.uk>+        * bearriver.cabal: Version bump (0.14) (#340).+        * Bump version bounds for MonadRandom (#337).+        * Adjust to work with simple-affine-space-0.2 (#339).+        * src/BearRiver.hs: show sections in haddock (#322).+        * Thanks: @geroldmeisinger.+ 2022-10-21 Ivan Perez <ivan.perez@keera.co.uk>         * bearriver.cabal: Version bump (0.13.7) (#335), update copyright           owners, years (#332).
bearriver.cabal view
@@ -30,7 +30,7 @@ build-type:    Simple  name:          bearriver-version:       0.13.7+version:       0.14 author:        Ivan Perez, Manuel Bärenz maintainer:    ivan.perez@keera.co.uk homepage:      https://github.com/ivanperez-keera/dunai@@ -82,9 +82,9 @@       base >= 4.6 && <5     , deepseq             >= 1.3.0.0 && < 1.5     , dunai >= 0.6.0 && < 0.10-    , MonadRandom         >= 0.2   && < 0.6+    , MonadRandom         >= 0.2   && < 0.7     , mtl                 >= 2.1.2 && < 2.3-    , simple-affine-space >= 0.1   && < 0.2+    , simple-affine-space >= 0.1   && < 0.3     , transformers >= 0.3 && < 0.7    default-language:@@ -92,6 +92,10 @@    hs-source-dirs:     src/++  if impl(ghc <= 7.8.4)+    build-depends:+      MonadRandom >= 0.2 && < 0.6    if !impl(ghc >= 8.0)     build-depends:
src/FRP/BearRiver.hs view
@@ -8,6 +8,7 @@ #else {-# OPTIONS_GHC -Wno-deprecations #-} #endif+{-# OPTIONS_HADDOCK ignore-exports #-} -- Copyright  : (c) Ivan Perez, 2019-2022 --              (c) Ivan Perez and Manuel Baerenz, 2016-2018 -- License    : BSD3@@ -712,24 +713,24 @@ -- * Integration and differentiation  -- | Integration using the rectangle rule.-integral :: (Monad m, VectorSpace a s) => SF m a a+integral :: (Monad m, Fractional s, VectorSpace a s) => SF m a a integral = integralFrom zeroVector   -- | Integrate using an auxiliary function that takes the current and the last -- input, the time between those samples, and the last output, and returns a -- new output.-integralFrom :: (Monad m, VectorSpace a s) => a -> SF m a a+integralFrom :: (Monad m, Fractional s, VectorSpace a s) => a -> SF m a a integralFrom a0 = proc a -> do   dt <- constM ask         -< ()   accumulateWith (^+^) a0 -< realToFrac dt *^ a  -- | A very crude version of a derivative. It simply divides the -- value difference by the time difference. Use at your own risk.-derivative :: (Monad m, VectorSpace a s) => SF m a a+derivative :: (Monad m, Fractional s, VectorSpace a s) => SF m a a derivative = derivativeFrom zeroVector -derivativeFrom :: (Monad m, VectorSpace a s) => a -> SF m a a+derivativeFrom :: (Monad m, Fractional s, VectorSpace a s) => a -> SF m a a derivativeFrom a0 = proc a -> do   dt   <- constM ask   -< ()   aOld <- MSF.iPre a0 -< a