Safe Haskell | None |
---|---|
Language | Haskell2010 |
- class Has a as where
- getExtension :: proxy a -> Extensions as -> a
- class Extension a where
- extMiddleware :: a -> Middleware
- data Extensions es
- noExtension :: Monad m => Initializer m i i
- data Initializer m i o
- initializer :: (Extension e, Monad m) => (Extensions es -> m e) -> Initializer m es (e : es)
- type Initializer' m a = forall i. Initializer m i (a : i)
- initializer' :: (Extension e, Monad m) => m e -> Initializer' m e
- initializerBracket :: Extension e => (forall a. Extensions es -> (e -> m a) -> m a) -> Initializer m es (e : es)
- initializerBracket' :: Extension e => (forall a. (e -> m a) -> m a) -> Initializer m es (e : es)
- (+>) :: Monad m => Initializer m i x -> Initializer m x o -> Initializer m i o
Documentation
getExtension :: proxy a -> Extensions as -> a Source
data Extensions es Source
noExtension :: Monad m => Initializer m i i Source
initializer constructor
data Initializer m i o Source
Monad m => Category [*] (Initializer m) |
initializer :: (Extension e, Monad m) => (Extensions es -> m e) -> Initializer m es (e : es) Source
type Initializer' m a = forall i. Initializer m i (a : i) Source
initializer' :: (Extension e, Monad m) => m e -> Initializer' m e Source
initializerBracket :: Extension e => (forall a. Extensions es -> (e -> m a) -> m a) -> Initializer m es (e : es) Source
initializerBracket' :: Extension e => (forall a. (e -> m a) -> m a) -> Initializer m es (e : es) Source
combine initializer
(+>) :: Monad m => Initializer m i x -> Initializer m x o -> Initializer m i o Source
combine two Initializer. since 0.16.0.