Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
- class Url plain m => UrlReader plain m where
- type Result m :: * -> *
- runUrlReader :: Url plain m => m b -> plain -> Result m b
- class (IsString plain, Monoid plain, MonadReader plain m) => Url plain m where
- module UrlPath.Types
Documentation
class Url plain m => UrlReader plain m where Source
Overload deployment schemes with this - then, all that's needed is a type coercion to change deployment.
(Monad m, Monoid plain, IsString plain) => UrlReader plain (AbsoluteUrlT plain m) | |
(Monad m, Monoid plain, IsString plain) => UrlReader plain (GroundedUrlT plain m) | |
(Monad m, Monoid plain, IsString plain) => UrlReader plain (RelativeUrlT plain m) |
class (IsString plain, Monoid plain, MonadReader plain m) => Url plain m where Source
Url
is a relationship between an underlying (monomorphic) string type
plain
, and a deployment context m
. We try to make the deployment style
coercible at the top level - if the
expression has a type Url String (AbsoluteUrlT String Identity)
or Monad m => Url T.Text (GroundedUrlT LT.Text m)
will force /all use-cases
within the expression/ to coerce to that type.
:: UrlString plain | Url type, parameterized over a string type |
-> m plain | Rendered Url in some context. |
:: plain | raw small string |
-> m plain | Rendered string in some context. |
(Monad m, Monoid plain, IsString plain) => Url plain (AbsoluteUrlT plain m) | |
(Monad m, Monoid plain, IsString plain) => Url plain (GroundedUrlT plain m) | |
(Monad m, Monoid plain, IsString plain) => Url plain (RelativeUrlT plain m) |
module UrlPath.Types