Safe Haskell | None |
---|
- data T p inp out
- lift :: T p inp out -> T p inp out
- fromSignal :: T p out -> T p inp out
- ($&) :: T p b c -> T p a b -> T p a c
- (&|&) :: T p a b -> T p a c -> T p a (b, c)
- compile :: T p inp out -> T p inp out
- withArgs :: MakeArguments inp => (Arguments (T p inp) inp -> T p inp out) -> T p inp out
- compileSignal :: T p () out -> T p out
- class MakeArguments arg where
- type family Arguments f arg
- newtype AnyArg a = AnyArg {
- getAnyArg :: a
Documentation
Functor (T p inp) | |
Applicative (T p inp) | |
(Field b, Real b, RationalConstant b) => Fractional (T p a b) | |
(PseudoRing b, Real b, IntegerConstant b) => Num (T p a b) | |
(Transcendental b, RationalConstant b) => C (T p a b) | |
(Transcendental b, RationalConstant b) => C (T p a b) | |
(Field b, RationalConstant b) => C (T p a b) | |
(PseudoRing b, IntegerConstant b) => C (T p a b) | |
Additive b => C (T p a b) |
fromSignal :: T p out -> T p inp outSource
withArgs :: MakeArguments inp => (Arguments (T p inp) inp -> T p inp out) -> T p inp outSource
Using withArgs
you can simplify
let x = F.lift (arr fst) y = F.lift (arr (fst.snd)) z = F.lift (arr (snd.snd)) in F.compile (f x y z)
to
withArgs $ \(x,(y,z)) -> f x y z
compileSignal :: T p () out -> T p outSource
class MakeArguments arg whereSource
MakeArguments () | |
MakeArguments (Value a) | |
MakeArguments (T a) | |
MakeArguments (T a) | |
MakeArguments (AnyArg a) | |
MakeArguments (T v) | |
MakeArguments (ParameterPacked a) | |
(MakeArguments a, MakeArguments b) => MakeArguments (a, b) | |
MakeArguments (Value n a) | |
MakeArguments (CascadeParameter n a) | |
MakeArguments (ParameterValue n a) | |
(MakeArguments a, MakeArguments b, MakeArguments c) => MakeArguments (a, b, c) |