urlpath-11.0.2: Painfully simple URL deployment.
Copyright(c) Athan L. Clark
LicenseMIT
MaintainerAthan L. Clark <athan.clark@gmail.com>
Stabilityexperimental
PortabilityGHC
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.Url

Description

This library helps us distinguish how we present URLs - we might show them relatively, absolutely (with the URI authority - scheme, port, hostname, etc.), or grounded - where the path begins with /.

We leverage Chris Done's path library to distinguish relative vs. grounded paths at compile time, and provide some additional features like a file extension and query parameters in path-extra.

Synopsis

Classes

class MonadUrl base (m :: * -> *) | m -> base where Source #

Turns a Path or Location into a String, where the rendering behavior (relative, grounded and absolute) is encoded in the monad you use, much like LoggingT and NoLoggingT from monad-logger.

Methods

locToUrl :: Location base -> m URL Source #

Create a URL from a Location - either a directory or file, and can include query strings & fragments.

Instances

Instances details
MonadUrl Rel IO Source #

Treated as relative urls

Instance details

Defined in Data.Url

Applicative m => MonadUrl Abs (AbsoluteUrlT m) Source # 
Instance details

Defined in Data.Url

Applicative m => MonadUrl Abs (GroundedUrlT m) Source # 
Instance details

Defined in Data.Url

Applicative m => MonadUrl Rel (RelativeUrlT m) Source # 
Instance details

Defined in Data.Url

(MonadUrl base m, Monad m) => MonadUrl base (LoggingT m) Source # 
Instance details

Defined in Data.Url

Methods

locToUrl :: Location base -> LoggingT m URL Source #

(MonadUrl base m, Monad m) => MonadUrl base (NoLoggingT m) Source # 
Instance details

Defined in Data.Url

Methods

locToUrl :: Location base -> NoLoggingT m URL Source #

(MonadUrl base m, Monad m) => MonadUrl base (ResourceT m) Source # 
Instance details

Defined in Data.Url

Methods

locToUrl :: Location base -> ResourceT m URL Source #

(MonadUrl base m, Monad m) => MonadUrl base (ListT m) Source # 
Instance details

Defined in Data.Url

Methods

locToUrl :: Location base -> ListT m URL Source #

(MonadUrl base m, Monad m) => MonadUrl base (MaybeT m) Source # 
Instance details

Defined in Data.Url

Methods

locToUrl :: Location base -> MaybeT m URL Source #

(MonadUrl base m, Monad m) => MonadUrl base (ExceptT e m) Source # 
Instance details

Defined in Data.Url

Methods

locToUrl :: Location base -> ExceptT e m URL Source #

(MonadUrl base m, Monad m) => MonadUrl base (IdentityT m) Source # 
Instance details

Defined in Data.Url

Methods

locToUrl :: Location base -> IdentityT m URL Source #

(MonadUrl base m, Monad m) => MonadUrl base (ReaderT r m) Source # 
Instance details

Defined in Data.Url

Methods

locToUrl :: Location base -> ReaderT r m URL Source #

(MonadUrl base m, Monad m) => MonadUrl base (StateT s m) Source # 
Instance details

Defined in Data.Url

Methods

locToUrl :: Location base -> StateT s m URL Source #

(MonadUrl base m, Monad m, Monoid w) => MonadUrl base (WriterT w m) Source # 
Instance details

Defined in Data.Url

Methods

locToUrl :: Location base -> WriterT w m URL Source #

(MonadUrl base m, Monad m) => MonadUrl base (ContT r m) Source # 
Instance details

Defined in Data.Url

Methods

locToUrl :: Location base -> ContT r m URL Source #

(MonadUrl base m, Monad m, Monoid w) => MonadUrl base (RWST r w s m) Source # 
Instance details

Defined in Data.Url

Methods

locToUrl :: Location base -> RWST r w s m URL Source #

Types

URL

data URL Source #

Either a URI (which could include a hostname), or a relative url.

Constructors

AbsURL URI 
RelURL (Location Rel) 

Relative Urls

newtype RelativeUrlT m a Source #

When printing a URL generated by a Location in this context, they will always omit the hostname information and print path references relatively (without ./).

Constructors

RelativeUrlT 

Fields

Instances

Instances details
MMonad RelativeUrlT Source # 
Instance details

Defined in Data.Url

Methods

embed :: forall (n :: Type -> Type) m b. Monad n => (forall a. m a -> RelativeUrlT n a) -> RelativeUrlT m b -> RelativeUrlT n b #

MonadTransControl RelativeUrlT Source # 
Instance details

Defined in Data.Url

Associated Types

type StT RelativeUrlT a #

Methods

liftWith :: Monad m => (Run RelativeUrlT -> m a) -> RelativeUrlT m a #

restoreT :: Monad m => m (StT RelativeUrlT a) -> RelativeUrlT m a #

MonadTrans RelativeUrlT Source # 
Instance details

Defined in Data.Url

Methods

lift :: Monad m => m a -> RelativeUrlT m a #

MFunctor RelativeUrlT Source # 
Instance details

Defined in Data.Url

Methods

hoist :: forall m n (b :: k). Monad m => (forall a. m a -> n a) -> RelativeUrlT m b -> RelativeUrlT n b #

MonadTransControl RelativeUrlT Identity Source # 
Instance details

Defined in Data.Url

Methods

liftWith :: Monad m => (Run RelativeUrlT Identity -> m a) -> RelativeUrlT m a #

restoreT :: Monad m => m (Identity a) -> RelativeUrlT m a #

(MonadReader r m, MonadWriter w m, MonadState s m) => MonadRWS r w s (RelativeUrlT m) Source # 
Instance details

Defined in Data.Url

MonadBaseControl b m => MonadBaseControl b (RelativeUrlT m) Source # 
Instance details

Defined in Data.Url

Associated Types

type StM (RelativeUrlT m) a #

Methods

liftBaseWith :: (RunInBase (RelativeUrlT m) b -> b a) -> RelativeUrlT m a #

restoreM :: StM (RelativeUrlT m) a -> RelativeUrlT m a #

MonadError e m => MonadError e (RelativeUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

throwError :: e -> RelativeUrlT m a #

catchError :: RelativeUrlT m a -> (e -> RelativeUrlT m a) -> RelativeUrlT m a #

MonadReader r m => MonadReader r (RelativeUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

ask :: RelativeUrlT m r #

local :: (r -> r) -> RelativeUrlT m a -> RelativeUrlT m a #

reader :: (r -> a) -> RelativeUrlT m a #

MonadState s m => MonadState s (RelativeUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

get :: RelativeUrlT m s #

put :: s -> RelativeUrlT m () #

state :: (s -> (a, s)) -> RelativeUrlT m a #

MonadWriter w m => MonadWriter w (RelativeUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

writer :: (a, w) -> RelativeUrlT m a #

tell :: w -> RelativeUrlT m () #

listen :: RelativeUrlT m a -> RelativeUrlT m (a, w) #

pass :: RelativeUrlT m (a, w -> w) -> RelativeUrlT m a #

MonadBase b m => MonadBase b (RelativeUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

liftBase :: b α -> RelativeUrlT m α #

Applicative m => MonadUrl Rel (RelativeUrlT m) Source # 
Instance details

Defined in Data.Url

MonadBaseControl b m stM => MonadBaseControl b (RelativeUrlT m) (Compose stM Identity) Source # 
Instance details

Defined in Data.Url

MonadFix m => MonadFix (RelativeUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

mfix :: (a -> RelativeUrlT m a) -> RelativeUrlT m a #

MonadIO m => MonadIO (RelativeUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

liftIO :: IO a -> RelativeUrlT m a #

Alternative m => Alternative (RelativeUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

empty :: RelativeUrlT m a #

(<|>) :: RelativeUrlT m a -> RelativeUrlT m a -> RelativeUrlT m a #

some :: RelativeUrlT m a -> RelativeUrlT m [a] #

many :: RelativeUrlT m a -> RelativeUrlT m [a] #

Applicative m => Applicative (RelativeUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

pure :: a -> RelativeUrlT m a #

(<*>) :: RelativeUrlT m (a -> b) -> RelativeUrlT m a -> RelativeUrlT m b #

liftA2 :: (a -> b -> c) -> RelativeUrlT m a -> RelativeUrlT m b -> RelativeUrlT m c #

(*>) :: RelativeUrlT m a -> RelativeUrlT m b -> RelativeUrlT m b #

(<*) :: RelativeUrlT m a -> RelativeUrlT m b -> RelativeUrlT m a #

Functor m => Functor (RelativeUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

fmap :: (a -> b) -> RelativeUrlT m a -> RelativeUrlT m b #

(<$) :: a -> RelativeUrlT m b -> RelativeUrlT m a #

Monad m => Monad (RelativeUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

(>>=) :: RelativeUrlT m a -> (a -> RelativeUrlT m b) -> RelativeUrlT m b #

(>>) :: RelativeUrlT m a -> RelativeUrlT m b -> RelativeUrlT m b #

return :: a -> RelativeUrlT m a #

MonadPlus m => MonadPlus (RelativeUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

mzero :: RelativeUrlT m a #

mplus :: RelativeUrlT m a -> RelativeUrlT m a -> RelativeUrlT m a #

MonadCatch m => MonadCatch (RelativeUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

catch :: Exception e => RelativeUrlT m a -> (e -> RelativeUrlT m a) -> RelativeUrlT m a #

MonadMask m => MonadMask (RelativeUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

mask :: ((forall a. RelativeUrlT m a -> RelativeUrlT m a) -> RelativeUrlT m b) -> RelativeUrlT m b #

uninterruptibleMask :: ((forall a. RelativeUrlT m a -> RelativeUrlT m a) -> RelativeUrlT m b) -> RelativeUrlT m b #

generalBracket :: RelativeUrlT m a -> (a -> ExitCase b -> RelativeUrlT m c) -> (a -> RelativeUrlT m b) -> RelativeUrlT m (b, c) #

MonadThrow m => MonadThrow (RelativeUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

throwM :: Exception e => e -> RelativeUrlT m a #

MonadLogger m => MonadLogger (RelativeUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> RelativeUrlT m () #

MonadCont m => MonadCont (RelativeUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

callCC :: ((a -> RelativeUrlT m b) -> RelativeUrlT m a) -> RelativeUrlT m a #

(MonadResource m, MonadBase IO m) => MonadResource (RelativeUrlT m) Source # 
Instance details

Defined in Data.Url

Show (m a) => Show (RelativeUrlT m a) Source # 
Instance details

Defined in Data.Url

Eq (m a) => Eq (RelativeUrlT m a) Source # 
Instance details

Defined in Data.Url

Methods

(==) :: RelativeUrlT m a -> RelativeUrlT m a -> Bool #

(/=) :: RelativeUrlT m a -> RelativeUrlT m a -> Bool #

Ord (m a) => Ord (RelativeUrlT m a) Source # 
Instance details

Defined in Data.Url

type StT RelativeUrlT a Source # 
Instance details

Defined in Data.Url

type StT RelativeUrlT a = a
type StM (RelativeUrlT m) a Source # 
Instance details

Defined in Data.Url

Grounded Urls

newtype GroundedUrlT m a Source #

Grounded urls mean that, while omiting host information, paths start with a /, like /foo.

Constructors

GroundedUrlT 

Fields

Instances

Instances details
MMonad GroundedUrlT Source # 
Instance details

Defined in Data.Url

Methods

embed :: forall (n :: Type -> Type) m b. Monad n => (forall a. m a -> GroundedUrlT n a) -> GroundedUrlT m b -> GroundedUrlT n b #

MonadTransControl GroundedUrlT Source # 
Instance details

Defined in Data.Url

Associated Types

type StT GroundedUrlT a #

Methods

liftWith :: Monad m => (Run GroundedUrlT -> m a) -> GroundedUrlT m a #

restoreT :: Monad m => m (StT GroundedUrlT a) -> GroundedUrlT m a #

MonadTrans GroundedUrlT Source # 
Instance details

Defined in Data.Url

Methods

lift :: Monad m => m a -> GroundedUrlT m a #

MFunctor GroundedUrlT Source # 
Instance details

Defined in Data.Url

Methods

hoist :: forall m n (b :: k). Monad m => (forall a. m a -> n a) -> GroundedUrlT m b -> GroundedUrlT n b #

MonadTransControl GroundedUrlT Identity Source # 
Instance details

Defined in Data.Url

Methods

liftWith :: Monad m => (Run GroundedUrlT Identity -> m a) -> GroundedUrlT m a #

restoreT :: Monad m => m (Identity a) -> GroundedUrlT m a #

(MonadReader r m, MonadWriter w m, MonadState s m) => MonadRWS r w s (GroundedUrlT m) Source # 
Instance details

Defined in Data.Url

MonadBaseControl b m => MonadBaseControl b (GroundedUrlT m) Source # 
Instance details

Defined in Data.Url

Associated Types

type StM (GroundedUrlT m) a #

Methods

liftBaseWith :: (RunInBase (GroundedUrlT m) b -> b a) -> GroundedUrlT m a #

restoreM :: StM (GroundedUrlT m) a -> GroundedUrlT m a #

MonadError e m => MonadError e (GroundedUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

throwError :: e -> GroundedUrlT m a #

catchError :: GroundedUrlT m a -> (e -> GroundedUrlT m a) -> GroundedUrlT m a #

MonadReader r m => MonadReader r (GroundedUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

ask :: GroundedUrlT m r #

local :: (r -> r) -> GroundedUrlT m a -> GroundedUrlT m a #

reader :: (r -> a) -> GroundedUrlT m a #

MonadState s m => MonadState s (GroundedUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

get :: GroundedUrlT m s #

put :: s -> GroundedUrlT m () #

state :: (s -> (a, s)) -> GroundedUrlT m a #

MonadWriter w m => MonadWriter w (GroundedUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

writer :: (a, w) -> GroundedUrlT m a #

tell :: w -> GroundedUrlT m () #

listen :: GroundedUrlT m a -> GroundedUrlT m (a, w) #

pass :: GroundedUrlT m (a, w -> w) -> GroundedUrlT m a #

MonadBase b m => MonadBase b (GroundedUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

liftBase :: b α -> GroundedUrlT m α #

Applicative m => MonadUrl Abs (GroundedUrlT m) Source # 
Instance details

Defined in Data.Url

MonadBaseControl b m stM => MonadBaseControl b (GroundedUrlT m) (Compose stM Identity) Source # 
Instance details

Defined in Data.Url

MonadFix m => MonadFix (GroundedUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

mfix :: (a -> GroundedUrlT m a) -> GroundedUrlT m a #

MonadIO m => MonadIO (GroundedUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

liftIO :: IO a -> GroundedUrlT m a #

Alternative m => Alternative (GroundedUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

empty :: GroundedUrlT m a #

(<|>) :: GroundedUrlT m a -> GroundedUrlT m a -> GroundedUrlT m a #

some :: GroundedUrlT m a -> GroundedUrlT m [a] #

many :: GroundedUrlT m a -> GroundedUrlT m [a] #

Applicative m => Applicative (GroundedUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

pure :: a -> GroundedUrlT m a #

(<*>) :: GroundedUrlT m (a -> b) -> GroundedUrlT m a -> GroundedUrlT m b #

liftA2 :: (a -> b -> c) -> GroundedUrlT m a -> GroundedUrlT m b -> GroundedUrlT m c #

(*>) :: GroundedUrlT m a -> GroundedUrlT m b -> GroundedUrlT m b #

(<*) :: GroundedUrlT m a -> GroundedUrlT m b -> GroundedUrlT m a #

Functor m => Functor (GroundedUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

fmap :: (a -> b) -> GroundedUrlT m a -> GroundedUrlT m b #

(<$) :: a -> GroundedUrlT m b -> GroundedUrlT m a #

Monad m => Monad (GroundedUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

(>>=) :: GroundedUrlT m a -> (a -> GroundedUrlT m b) -> GroundedUrlT m b #

(>>) :: GroundedUrlT m a -> GroundedUrlT m b -> GroundedUrlT m b #

return :: a -> GroundedUrlT m a #

MonadPlus m => MonadPlus (GroundedUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

mzero :: GroundedUrlT m a #

mplus :: GroundedUrlT m a -> GroundedUrlT m a -> GroundedUrlT m a #

MonadCatch m => MonadCatch (GroundedUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

catch :: Exception e => GroundedUrlT m a -> (e -> GroundedUrlT m a) -> GroundedUrlT m a #

MonadMask m => MonadMask (GroundedUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

mask :: ((forall a. GroundedUrlT m a -> GroundedUrlT m a) -> GroundedUrlT m b) -> GroundedUrlT m b #

uninterruptibleMask :: ((forall a. GroundedUrlT m a -> GroundedUrlT m a) -> GroundedUrlT m b) -> GroundedUrlT m b #

generalBracket :: GroundedUrlT m a -> (a -> ExitCase b -> GroundedUrlT m c) -> (a -> GroundedUrlT m b) -> GroundedUrlT m (b, c) #

MonadThrow m => MonadThrow (GroundedUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

throwM :: Exception e => e -> GroundedUrlT m a #

MonadLogger m => MonadLogger (GroundedUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> GroundedUrlT m () #

MonadCont m => MonadCont (GroundedUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

callCC :: ((a -> GroundedUrlT m b) -> GroundedUrlT m a) -> GroundedUrlT m a #

(MonadResource m, MonadBase IO m) => MonadResource (GroundedUrlT m) Source # 
Instance details

Defined in Data.Url

Show (m a) => Show (GroundedUrlT m a) Source # 
Instance details

Defined in Data.Url

Eq (m a) => Eq (GroundedUrlT m a) Source # 
Instance details

Defined in Data.Url

Methods

(==) :: GroundedUrlT m a -> GroundedUrlT m a -> Bool #

(/=) :: GroundedUrlT m a -> GroundedUrlT m a -> Bool #

Ord (m a) => Ord (GroundedUrlT m a) Source # 
Instance details

Defined in Data.Url

type StT GroundedUrlT a Source # 
Instance details

Defined in Data.Url

type StT GroundedUrlT a = a
type StM (GroundedUrlT m) a Source # 
Instance details

Defined in Data.Url

Absolute Urls

newtype AbsoluteUrlT m a Source #

Given a means to take an absolute location and turn it into an URI, make a monad used to construct urls. You can use packLocation to create the Location Abs -> URI function.

Constructors

AbsoluteUrlT 

Fields

Instances

Instances details
MMonad AbsoluteUrlT Source # 
Instance details

Defined in Data.Url

Methods

embed :: forall (n :: Type -> Type) m b. Monad n => (forall a. m a -> AbsoluteUrlT n a) -> AbsoluteUrlT m b -> AbsoluteUrlT n b #

MonadTransControl AbsoluteUrlT Source # 
Instance details

Defined in Data.Url

Associated Types

type StT AbsoluteUrlT a #

Methods

liftWith :: Monad m => (Run AbsoluteUrlT -> m a) -> AbsoluteUrlT m a #

restoreT :: Monad m => m (StT AbsoluteUrlT a) -> AbsoluteUrlT m a #

MonadTrans AbsoluteUrlT Source # 
Instance details

Defined in Data.Url

Methods

lift :: Monad m => m a -> AbsoluteUrlT m a #

MFunctor AbsoluteUrlT Source # 
Instance details

Defined in Data.Url

Methods

hoist :: forall m n (b :: k). Monad m => (forall a. m a -> n a) -> AbsoluteUrlT m b -> AbsoluteUrlT n b #

MonadTransControl AbsoluteUrlT Identity Source # 
Instance details

Defined in Data.Url

Methods

liftWith :: Monad m => (Run AbsoluteUrlT Identity -> m a) -> AbsoluteUrlT m a #

restoreT :: Monad m => m (Identity a) -> AbsoluteUrlT m a #

MonadRWS r w s m => MonadRWS r w s (AbsoluteUrlT m) Source # 
Instance details

Defined in Data.Url

MonadBaseControl b m => MonadBaseControl b (AbsoluteUrlT m) Source # 
Instance details

Defined in Data.Url

Associated Types

type StM (AbsoluteUrlT m) a #

Methods

liftBaseWith :: (RunInBase (AbsoluteUrlT m) b -> b a) -> AbsoluteUrlT m a #

restoreM :: StM (AbsoluteUrlT m) a -> AbsoluteUrlT m a #

MonadError e m => MonadError e (AbsoluteUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

throwError :: e -> AbsoluteUrlT m a #

catchError :: AbsoluteUrlT m a -> (e -> AbsoluteUrlT m a) -> AbsoluteUrlT m a #

MonadReader r m => MonadReader r (AbsoluteUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

ask :: AbsoluteUrlT m r #

local :: (r -> r) -> AbsoluteUrlT m a -> AbsoluteUrlT m a #

reader :: (r -> a) -> AbsoluteUrlT m a #

MonadState s m => MonadState s (AbsoluteUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

get :: AbsoluteUrlT m s #

put :: s -> AbsoluteUrlT m () #

state :: (s -> (a, s)) -> AbsoluteUrlT m a #

MonadWriter w m => MonadWriter w (AbsoluteUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

writer :: (a, w) -> AbsoluteUrlT m a #

tell :: w -> AbsoluteUrlT m () #

listen :: AbsoluteUrlT m a -> AbsoluteUrlT m (a, w) #

pass :: AbsoluteUrlT m (a, w -> w) -> AbsoluteUrlT m a #

MonadBase b m => MonadBase b (AbsoluteUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

liftBase :: b α -> AbsoluteUrlT m α #

Applicative m => MonadUrl Abs (AbsoluteUrlT m) Source # 
Instance details

Defined in Data.Url

MonadBaseControl b m stM => MonadBaseControl b (AbsoluteUrlT m) (Compose stM Identity) Source # 
Instance details

Defined in Data.Url

MonadIO m => MonadIO (AbsoluteUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

liftIO :: IO a -> AbsoluteUrlT m a #

Alternative m => Alternative (AbsoluteUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

empty :: AbsoluteUrlT m a #

(<|>) :: AbsoluteUrlT m a -> AbsoluteUrlT m a -> AbsoluteUrlT m a #

some :: AbsoluteUrlT m a -> AbsoluteUrlT m [a] #

many :: AbsoluteUrlT m a -> AbsoluteUrlT m [a] #

Applicative m => Applicative (AbsoluteUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

pure :: a -> AbsoluteUrlT m a #

(<*>) :: AbsoluteUrlT m (a -> b) -> AbsoluteUrlT m a -> AbsoluteUrlT m b #

liftA2 :: (a -> b -> c) -> AbsoluteUrlT m a -> AbsoluteUrlT m b -> AbsoluteUrlT m c #

(*>) :: AbsoluteUrlT m a -> AbsoluteUrlT m b -> AbsoluteUrlT m b #

(<*) :: AbsoluteUrlT m a -> AbsoluteUrlT m b -> AbsoluteUrlT m a #

Functor m => Functor (AbsoluteUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

fmap :: (a -> b) -> AbsoluteUrlT m a -> AbsoluteUrlT m b #

(<$) :: a -> AbsoluteUrlT m b -> AbsoluteUrlT m a #

Monad m => Monad (AbsoluteUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

(>>=) :: AbsoluteUrlT m a -> (a -> AbsoluteUrlT m b) -> AbsoluteUrlT m b #

(>>) :: AbsoluteUrlT m a -> AbsoluteUrlT m b -> AbsoluteUrlT m b #

return :: a -> AbsoluteUrlT m a #

MonadCatch m => MonadCatch (AbsoluteUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

catch :: Exception e => AbsoluteUrlT m a -> (e -> AbsoluteUrlT m a) -> AbsoluteUrlT m a #

MonadMask m => MonadMask (AbsoluteUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

mask :: ((forall a. AbsoluteUrlT m a -> AbsoluteUrlT m a) -> AbsoluteUrlT m b) -> AbsoluteUrlT m b #

uninterruptibleMask :: ((forall a. AbsoluteUrlT m a -> AbsoluteUrlT m a) -> AbsoluteUrlT m b) -> AbsoluteUrlT m b #

generalBracket :: AbsoluteUrlT m a -> (a -> ExitCase b -> AbsoluteUrlT m c) -> (a -> AbsoluteUrlT m b) -> AbsoluteUrlT m (b, c) #

MonadThrow m => MonadThrow (AbsoluteUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

throwM :: Exception e => e -> AbsoluteUrlT m a #

MonadLogger m => MonadLogger (AbsoluteUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> AbsoluteUrlT m () #

MonadCont m => MonadCont (AbsoluteUrlT m) Source # 
Instance details

Defined in Data.Url

Methods

callCC :: ((a -> AbsoluteUrlT m b) -> AbsoluteUrlT m a) -> AbsoluteUrlT m a #

MonadResource m => MonadResource (AbsoluteUrlT m) Source # 
Instance details

Defined in Data.Url

type StT AbsoluteUrlT a Source # 
Instance details

Defined in Data.Url

type StT AbsoluteUrlT a = a
type StM (AbsoluteUrlT m) a Source # 
Instance details

Defined in Data.Url