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
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