Copyright | (c) 2013 Ertugrul Soeylemez |
---|---|
License | BSD3 |
Maintainer | Ertugrul Soeylemez <es@ertes.de> |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
FRP.Netwire
Description
Synopsis
- data Wire s e m a b
- type WireP s e = Wire s e Identity
- type SimpleWire = Wire (Timed NominalDiffTime ()) () Identity
- delay :: a -> Wire s e m a a
- evalWith :: Strategy a -> Wire s e m a a
- force :: Wire s e m a a
- forceNF :: NFData a => Wire s e m a a
- module Control.Wire.Event
- module Control.Wire.Interval
- module Control.Wire.Run
- module Control.Wire.Session
- module Control.Wire.Switch
- module Control.Wire.Time
- module FRP.Netwire.Analyze
- module FRP.Netwire.Move
- module FRP.Netwire.Noise
- module Control.Applicative
- module Control.Arrow
- module Control.Category
- module Data.Semigroup
Netwire reexports
A wire is a signal function. It maps a reactive value to another reactive value.
Instances
Monad m => Category (Wire s e m :: Type -> Type -> Type) Source # | |
Monad m => Arrow (Wire s e m) Source # | |
Defined in Control.Wire.Core Methods arr :: (b -> c) -> Wire s e m b c Source # first :: Wire s e m b c -> Wire s e m (b, d) (c, d) Source # second :: Wire s e m b c -> Wire s e m (d, b) (d, c) Source # (***) :: Wire s e m b c -> Wire s e m b' c' -> Wire s e m (b, b') (c, c') Source # (&&&) :: Wire s e m b c -> Wire s e m b c' -> Wire s e m b (c, c') Source # | |
(Monad m, Monoid e) => ArrowChoice (Wire s e m) Source # | |
Defined in Control.Wire.Core Methods left :: Wire s e m b c -> Wire s e m (Either b d) (Either c d) Source # right :: Wire s e m b c -> Wire s e m (Either d b) (Either d c) Source # (+++) :: Wire s e m b c -> Wire s e m b' c' -> Wire s e m (Either b b') (Either c c') Source # (|||) :: Wire s e m b d -> Wire s e m c d -> Wire s e m (Either b c) d Source # | |
MonadFix m => ArrowLoop (Wire s e m) Source # | |
(Monad m, Monoid e) => ArrowPlus (Wire s e m) Source # | |
(Monad m, Monoid e) => ArrowZero (Wire s e m) Source # | |
Defined in Control.Wire.Core | |
(Monad m, Monoid e) => Choice (Wire s e m) Source # | |
(Monad m, Monoid e) => Strong (Wire s e m) Source # | |
Monad m => Profunctor (Wire s e m) Source # | |
Defined in Control.Wire.Core Methods dimap :: (a -> b) -> (c -> d) -> Wire s e m b c -> Wire s e m a d lmap :: (a -> b) -> Wire s e m b c -> Wire s e m a c rmap :: (b -> c) -> Wire s e m a b -> Wire s e m a c (#.) :: forall a b c q. Coercible c b => q b c -> Wire s e m a b -> Wire s e m a c (.#) :: forall a b c q. Coercible b a => Wire s e m b c -> q a b -> Wire s e m a c | |
(Monad m, Monoid e) => Alternative (Wire s e m a) Source # | |
Monad m => Applicative (Wire s e m a) Source # | |
Defined in Control.Wire.Core Methods pure :: a0 -> Wire s e m a a0 Source # (<*>) :: Wire s e m a (a0 -> b) -> Wire s e m a a0 -> Wire s e m a b Source # liftA2 :: (a0 -> b -> c) -> Wire s e m a a0 -> Wire s e m a b -> Wire s e m a c Source # (*>) :: Wire s e m a a0 -> Wire s e m a b -> Wire s e m a b Source # (<*) :: Wire s e m a a0 -> Wire s e m a b -> Wire s e m a a0 Source # | |
Monad m => Functor (Wire s e m a) Source # | |
(Monad m, IsString b) => IsString (Wire s e m a b) Source # | |
Defined in Control.Wire.Core Methods fromString :: String -> Wire s e m a b Source # | |
(Monad m, Monoid b) => Monoid (Wire s e m a b) Source # | |
(Monad m, Semigroup b) => Semigroup (Wire s e m a b) Source # | |
(Monad m, Floating b) => Floating (Wire s e m a b) Source # | |
Defined in Control.Wire.Core Methods exp :: Wire s e m a b -> Wire s e m a b Source # log :: Wire s e m a b -> Wire s e m a b Source # sqrt :: Wire s e m a b -> Wire s e m a b Source # (**) :: Wire s e m a b -> Wire s e m a b -> Wire s e m a b Source # logBase :: Wire s e m a b -> Wire s e m a b -> Wire s e m a b Source # sin :: Wire s e m a b -> Wire s e m a b Source # cos :: Wire s e m a b -> Wire s e m a b Source # tan :: Wire s e m a b -> Wire s e m a b Source # asin :: Wire s e m a b -> Wire s e m a b Source # acos :: Wire s e m a b -> Wire s e m a b Source # atan :: Wire s e m a b -> Wire s e m a b Source # sinh :: Wire s e m a b -> Wire s e m a b Source # cosh :: Wire s e m a b -> Wire s e m a b Source # tanh :: Wire s e m a b -> Wire s e m a b Source # asinh :: Wire s e m a b -> Wire s e m a b Source # acosh :: Wire s e m a b -> Wire s e m a b Source # atanh :: Wire s e m a b -> Wire s e m a b Source # log1p :: Wire s e m a b -> Wire s e m a b Source # expm1 :: Wire s e m a b -> Wire s e m a b Source # | |
(Monad m, Num b) => Num (Wire s e m a b) Source # | |
Defined in Control.Wire.Core Methods (+) :: Wire s e m a b -> Wire s e m a b -> Wire s e m a b Source # (-) :: Wire s e m a b -> Wire s e m a b -> Wire s e m a b Source # (*) :: Wire s e m a b -> Wire s e m a b -> Wire s e m a b Source # negate :: Wire s e m a b -> Wire s e m a b Source # abs :: Wire s e m a b -> Wire s e m a b Source # signum :: Wire s e m a b -> Wire s e m a b Source # fromInteger :: Integer -> Wire s e m a b Source # | |
(Monad m, Fractional b) => Fractional (Wire s e m a b) Source # | |
type SimpleWire = Wire (Timed NominalDiffTime ()) () Identity Source #
Simple wires with time.
delay :: a -> Wire s e m a a Source #
This wire delays its input signal by the smallest possible
(semantically infinitesimal) amount of time. You can use it when you
want to use feedback (ArrowLoop
): If the user of the feedback
depends on now, delay the value before feeding it back. The
argument value is the replacement signal at the beginning.
- Depends: before now.
evalWith :: Strategy a -> Wire s e m a a Source #
Evaluate the input signal using the given Strategy
here. This
wire evaluates only produced values.
- Depends: now.
force :: Wire s e m a a Source #
Force the input signal to WHNF here. This wire forces both produced values and inhibition values.
- Depends: now.
forceNF :: NFData a => Wire s e m a a Source #
Force the input signal to NF here. This wire forces only produced values.
- Depends: now.
module Control.Wire.Event
module Control.Wire.Interval
module Control.Wire.Run
module Control.Wire.Session
module Control.Wire.Switch
module Control.Wire.Time
Additional wires
module FRP.Netwire.Analyze
module FRP.Netwire.Move
module FRP.Netwire.Noise
External
module Control.Applicative
module Control.Arrow
module Control.Category
module Data.Semigroup