{-# LANGUAGE Arrows #-}
{-# LANGUAGE CPP #-}
{-# LANGUAGE RankNTypes #-}
#if __GLASGOW_HASKELL__ < 800
{-# OPTIONS_GHC -fno-warn-warnings-deprecations #-}
#else
{-# OPTIONS_GHC -Wno-deprecations #-}
#endif
{-# OPTIONS_HADDOCK ignore-exports #-}
module FRP.BearRiver
(module FRP.BearRiver, module X)
where
import Control.Arrow as X
import Data.Functor.Identity (Identity (..))
import Data.Maybe (fromMaybe)
import Data.VectorSpace as X
import Control.Monad.Trans.MSF hiding (dSwitch)
import qualified Control.Monad.Trans.MSF as MSF
import Data.MonadicStreamFunction as X hiding (count,
embed, iPre,
next, once,
reactimate,
repeatedly,
switch, trace)
import qualified Data.MonadicStreamFunction as MSF
import Data.MonadicStreamFunction.InternalCore (MSF (MSF, unMSF))
import FRP.BearRiver.Arrow as X
import FRP.BearRiver.Basic as X
import FRP.BearRiver.Conditional as X
import FRP.BearRiver.Delays as X
import FRP.BearRiver.Event as X
import FRP.BearRiver.EventS as X
import FRP.BearRiver.Hybrid as X
import FRP.BearRiver.Integration as X
import FRP.BearRiver.InternalCore as X
import FRP.BearRiver.Random as X
import FRP.BearRiver.Scan as X
import FRP.BearRiver.Simulation as X
import FRP.BearRiver.Switches as X
import FRP.BearRiver.Task as X
import FRP.BearRiver.Time as X
import Data.MonadicStreamFunction.Instances.ArrowLoop ()
eventToMaybe :: Event a -> Maybe a
eventToMaybe :: forall a. Event a -> Maybe a
eventToMaybe = Maybe a -> (a -> Maybe a) -> Event a -> Maybe a
forall a b. a -> (b -> a) -> Event b -> a
event Maybe a
forall a. Maybe a
Nothing a -> Maybe a
forall a. a -> Maybe a
Just
boolToEvent :: Bool -> Event ()
boolToEvent :: Bool -> Event ()
boolToEvent Bool
True = () -> Event ()
forall a. a -> Event a
Event ()
boolToEvent Bool
False = Event ()
forall a. Event a
NoEvent
loopPre :: Monad m => c -> SF m (a, c) (b, c) -> SF m a b
loopPre :: forall (m :: * -> *) c a b.
Monad m =>
c -> SF m (a, c) (b, c) -> SF m a b
loopPre = c -> MSF (ClockInfo m) (a, c) (b, c) -> MSF (ClockInfo m) a b
forall (m :: * -> *) c a b.
Monad m =>
c -> MSF m (a, c) (b, c) -> MSF m a b
feedback