Portability | portable |
---|---|
Stability | experimental |
Maintainer | partners@seereason.com |
Declaration of the RouteT
monad transformer
- type Link = String
- newtype RouteT url m a = RouteT {}
- runRouteT :: RouteT url m a -> (url -> [(String, String)] -> Link) -> m a
- mapRouteT :: (m a -> n b) -> RouteT url m a -> RouteT url n b
- withRouteT :: ((url' -> [(String, String)] -> Link) -> url -> [(String, String)] -> Link) -> RouteT url m a -> RouteT url' m a
- liftRouteT :: m a -> RouteT url m a
- askRouteT :: Monad m => RouteT url m (url -> [(String, String)] -> String)
- class ShowURL m where
- showURL :: ShowURL m => URL m -> m Link
- nestURL :: Monad m => (url2 -> url1) -> RouteT url2 m a -> RouteT url1 m a
- crossURL :: Monad m => (url2 -> url1) -> [(String, String)] -> RouteT url1 m (url2 -> Link)
RouteT Monad Transformer
monad transformer for generating URLs
MonadRWS r w s m => MonadRWS r w s (RouteT url m) | |
MonadError e m => MonadError e (RouteT url m) | |
MonadReader r m => MonadReader r (RouteT url m) | |
MonadState s m => MonadState s (RouteT url m) | |
MonadWriter w m => MonadWriter w (RouteT url m) | |
MonadTrans (RouteT url) | |
Monad m => Monad (RouteT url m) | |
Functor m => Functor (RouteT url m) | |
MonadFix m => MonadFix (RouteT url m) | |
(MonadPlus m, Monad (RouteT url m)) => MonadPlus (RouteT url m) | |
Applicative m => Applicative (RouteT url m) | |
Alternative m => Alternative (RouteT url m) | |
MonadIO m => MonadIO (RouteT url m) | |
MonadCont m => MonadCont (RouteT url m) | |
Monad m => ShowURL (RouteT url m) |
mapRouteT :: (m a -> n b) -> RouteT url m a -> RouteT url n bSource
Transform the computation inside a RouteT
.
withRouteT :: ((url' -> [(String, String)] -> Link) -> url -> [(String, String)] -> Link) -> RouteT url m a -> RouteT url' m aSource
Execute a computation in a modified environment
liftRouteT :: m a -> RouteT url m aSource
showURL :: ShowURL m => URL m -> m LinkSource
convert a URL value into a Link (aka, a String) using a null parameter list.