Copyright | (c) 2010 Jeremy Shaw |
---|---|
License | BSD-style (see the file LICENSE) |
Maintainer | partners@seereason.com |
Stability | experimental |
Portability | portable |
Safe Haskell | None |
Language | Haskell98 |
Declaration of the RouteT
monad transformer
Synopsis
- newtype RouteT url m a = RouteT {}
- class Monad m => MonadRoute m where
- runRouteT :: (url -> RouteT url m a) -> (url -> [(Text, Maybe Text)] -> Text) -> url -> m a
- mapRouteT :: (m a -> n b) -> RouteT url m a -> RouteT url n b
- withRouteT :: ((url' -> [(Text, Maybe Text)] -> Text) -> url -> [(Text, Maybe Text)] -> Text) -> RouteT url m a -> RouteT url' m a
- liftRouteT :: m a -> RouteT url m a
- askRouteT :: Monad m => RouteT url m (url -> [(Text, Maybe Text)] -> Text)
- showURL :: MonadRoute m => URL m -> m Text
- showURLParams :: MonadRoute m => URL m -> [(Text, Maybe Text)] -> m Text
- nestURL :: (url1 -> url2) -> RouteT url1 m a -> RouteT url2 m a
RouteT Monad Transformer
newtype RouteT url m a Source #
monad transformer for generating URLs
Instances
class Monad m => MonadRoute m where Source #
runRouteT :: (url -> RouteT url m a) -> (url -> [(Text, Maybe Text)] -> Text) -> url -> m a Source #
mapRouteT :: (m a -> n b) -> RouteT url m a -> RouteT url n b Source #
Transform the computation inside a RouteT
.
withRouteT :: ((url' -> [(Text, Maybe Text)] -> Text) -> url -> [(Text, Maybe Text)] -> Text) -> RouteT url m a -> RouteT url' m a Source #
Execute a computation in a modified environment
liftRouteT :: m a -> RouteT url m a Source #
showURLParams :: MonadRoute m => URL m -> [(Text, Maybe Text)] -> m Text Source #