Safe Haskell | None |
---|---|
Language | Haskell2010 |
- class Has a as where
- getExtension :: proxy a -> Extensions as -> a
- class Monad m => MonadExts es m | m -> es where
- getExts :: m (Extensions es)
- getExt :: (MonadExts es m, Has e es) => proxy e -> m e
- type Middleware' = forall exts. ActionT exts [] IO () -> ActionT exts [] IO ()
- class Extension e where
- extMiddleware :: e -> Middleware
- extMiddleware' :: e -> 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
class Extension e where Source
Nothing
extMiddleware :: e -> Middleware Source
extMiddleware' :: e -> Middleware' Source
data Extensions es Source
Monad m => MonadExts es (ReaderT (Extensions es) m) |
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.