Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Documentation
s :: repr h b -> repr (a, h) b Source #
abs :: repr (a, h) b -> repr h (a -> b) Source #
app :: repr h (a -> b) -> repr h a -> repr h b Source #
hoas :: (repr (a, h) a -> repr (a, h) b) -> repr h (a -> b) Source #
com :: repr h ((b -> c) -> (a -> b) -> a -> c) Source #
flip :: repr h ((a -> b -> c) -> b -> a -> c) Source #
id :: repr h (a -> a) Source #
const :: repr h (a -> b -> a) Source #
scomb :: repr h ((a -> b -> c) -> (a -> b) -> a -> c) Source #
return :: Applicative k r a => r h (x -> a x) Source #
bimap2 :: (BiFunctor * repr p, DBI repr) => repr h (a -> b) -> repr h (c -> d) -> repr h (p a c -> p b d) Source #
class Functor r a => Applicative r a where Source #
class (DBI r, Applicative r m) => Monad r m where Source #
app3 :: DBI repr => repr h (a2 -> a1 -> a -> b) -> repr h a2 -> repr h a1 -> repr h a -> repr h b Source #
lam :: forall repr a b h. DBI repr => ((forall k. NT repr (a, h) k => repr k a) -> repr (a, h) b) -> repr h (a -> b) Source #
lam2 :: forall repr a b c h. DBI repr => ((forall k. NT repr (a, h) k => repr k a) -> (forall k. NT repr (b, (a, h)) k => repr k b) -> repr (b, (a, h)) c) -> repr h (a -> b -> c) Source #
lam3 :: (NT * * repr (a, (b1, (a1, h))) k, NT * * repr (b1, (a1, h)) k1, NT * * repr (a1, h) k2, DBI repr) => (repr k2 a1 -> repr k1 b1 -> repr k a -> repr (a, (b1, (a1, h))) b) -> repr h (a1 -> b1 -> a -> b) Source #
type Diff v () Source # | |
type Diff v Float Source # | |
type Diff v Double Source # | |
type Diff v Void Source # | |
type Diff v [a] Source # | |
type Diff v (IO a) Source # | |
type Diff v (Maybe a) Source # | |
type Diff v (a, b) Source # | |
type Diff v (a -> b) Source # | |
type Diff v (Either a b) Source # | |
type Diff v (Writer w a) Source # | |
Combine (l h x) (r h x) |