-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A basic `reflex` host for backend work -- -- A basic reflex host for backend work. @package reflex-basic-host @version 0.1 -- | BasicGuest provides instances that most reflex -- programs need: -- --
-- myNetwork :: (Reflex t, MonadHold t m, MonadFix m) => Event t () -> m (Dynamic t Int) -- myNetwork eTick = count eTick -- -- myGuest :: BasicGuestConstraints t m => BasicGuest t m ((), Event t ()) -- myGuest = do -- (eTick, sendTick) <- newTriggerEvent -- dCount <- myNetwork eTick -- let -- eCountUpdated = updated dCount -- eQuit = () <$ ffilter (==5) eCountUpdated -- repeatUntilQuit eQuit (threadDelay 1000000 *> sendTick ()) -- performEvent_ $ liftIO . print <$> eCountUpdated -- pure ((), eQuit) -- -- main :: IO () -- main = basicHostWithQuit myGuest --repeatUntilQuit :: BasicGuestConstraints t m => IO a -> Event t () -> BasicGuest t m () instance Reflex.Host.Class.ReflexHost t => Control.Monad.Fix.MonadFix (Reflex.Host.Basic.BasicGuest t m) instance Reflex.Host.Class.ReflexHost t => GHC.Base.Monad (Reflex.Host.Basic.BasicGuest t m) instance Reflex.Host.Class.ReflexHost t => GHC.Base.Applicative (Reflex.Host.Basic.BasicGuest t m) instance Reflex.Host.Class.ReflexHost t => GHC.Base.Functor (Reflex.Host.Basic.BasicGuest t m) instance (Control.Monad.IO.Class.MonadIO m, Reflex.Host.Class.ReflexHost t, Control.Monad.IO.Class.MonadIO (Reflex.Host.Class.HostFrame t)) => Control.Monad.IO.Class.MonadIO (Reflex.Host.Basic.BasicGuest t m) instance Reflex.Host.Class.ReflexHost t => Reflex.Class.MonadSample t (Reflex.Host.Basic.BasicGuest t m) instance (Reflex.Host.Class.ReflexHost t, Reflex.Class.MonadHold t m) => Reflex.Class.MonadHold t (Reflex.Host.Basic.BasicGuest t m) instance (Reflex.Class.Reflex t, Reflex.Host.Class.ReflexHost t) => Reflex.PostBuild.Class.PostBuild t (Reflex.Host.Basic.BasicGuest t m) instance (Reflex.Class.Reflex t, Reflex.Host.Class.ReflexHost t, Control.Monad.Ref.MonadRef (Reflex.Host.Class.HostFrame t), Control.Monad.Ref.Ref (Reflex.Host.Class.HostFrame t) Data.Type.Equality.~ Control.Monad.Ref.Ref GHC.Types.IO) => Reflex.TriggerEvent.Class.TriggerEvent t (Reflex.Host.Basic.BasicGuest t m) instance (Reflex.Class.Reflex t, Reflex.Host.Class.ReflexHost t, Control.Monad.Ref.Ref m Data.Type.Equality.~ Control.Monad.Ref.Ref GHC.Types.IO, Control.Monad.Ref.MonadRef (Reflex.Host.Class.HostFrame t), Control.Monad.Ref.Ref (Reflex.Host.Class.HostFrame t) Data.Type.Equality.~ Control.Monad.Ref.Ref GHC.Types.IO, Control.Monad.IO.Class.MonadIO (Reflex.Host.Class.HostFrame t), Control.Monad.Primitive.PrimMonad (Reflex.Host.Class.HostFrame t), Control.Monad.IO.Class.MonadIO m) => Reflex.PerformEvent.Class.PerformEvent t (Reflex.Host.Basic.BasicGuest t m) instance (Reflex.Class.Reflex t, Reflex.Host.Class.ReflexHost t, Control.Monad.Ref.Ref m Data.Type.Equality.~ Control.Monad.Ref.Ref GHC.Types.IO, Reflex.Class.MonadHold t m, Control.Monad.Primitive.PrimMonad (Reflex.Host.Class.HostFrame t)) => Reflex.Adjustable.Class.Adjustable t (Reflex.Host.Basic.BasicGuest t m) instance Reflex.Host.Class.ReflexHost t => Reflex.NotReady.Class.NotReady t (Reflex.Host.Basic.BasicGuest t m)