-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Library for maintaining correctness of URLs within an application. -- -- A collection of types and functions that ensure that URLs generated by -- an application are valid. Need more properties here. @package URLT @version 0.14 module URLT.TH class AsURL a toURLS :: (AsURL a) => a -> ShowS fromURLC :: (AsURL a) => Consumer String (Failing a) toURL :: (AsURL a) => a -> String fromURL :: (AsURL a) => String -> Failing a deriveAsURL :: Name -> Q [Dec] mkType :: Name -> [TypeQ] -> TypeQ data Class Tagged :: [(Name, Int)] -> Cxt -> [Name] -> Class parseInfo :: Name -> Q Class module URLT.QuickCheck asURLInverse_prop :: (Eq url, AsURL url) => url -> Bool module URLT.Regular class GToURL f gtoURLS :: (GToURL f) => f a -> ShowS gfromURLC :: (GToURL f) => Consumer String (Failing (f a)) instance (Constructor c, GToURL f) => GToURL (C c f) instance (GToURL f) => GToURL (S s f) instance GToURL U instance (GToURL f, GToURL g) => GToURL (f :+: g) instance (AsURL a) => GToURL (K a) module URLT.Base type Link = String -- | monad transformer for generating URLs newtype URLT url m a URLT :: ReaderT (url -> Link) m a -> URLT url m a unURLT :: URLT url m a -> ReaderT (url -> Link) m a class ShowURL m where { type family URL m; } showURL :: (ShowURL m) => (URL m) -> m Link -- | similar to withReaderT withURLT :: ((url' -> Link) -> (url -> Link)) -> URLT url m a -> URLT url' m a mapURLT :: (m a -> n b) -> URLT url m a -> URLT url n b -- | used to embed a URLT into a larger parent url nestURL :: (Monad m) => (url2 -> url1) -> URLT url2 m a -> URLT url1 m a crossURL :: (Monad m) => (url2 -> url1) -> URLT url1 m (url2 -> Link) instance (Monad m) => Functor (URLT url m) instance (Monad m) => Monad (URLT url m) instance (MonadFix m) => MonadFix (URLT url m) instance (MonadPlus m) => MonadPlus (URLT url m) instance (MonadIO m) => MonadIO (URLT url m) instance MonadTrans (URLT url) instance (Monad m) => MonadReader (url -> Link) (URLT url m) instance (Monad m) => ShowURL (URLT url m) instance (Applicative m, Monad m) => Applicative (URLT url m) module URLT.XMLGenT flattenCDATA :: [XML] -> [XML] instance (ShowURL m) => ShowURL (XMLGenT m) instance (Monad m) => XMLGenerator (URLT url m) instance (Monad m) => SetAttr (URLT url m) XML instance (Monad m) => AppendChild (URLT url m) XML instance (Monad m) => EmbedAsChild (URLT url m) () instance (Monad m) => EmbedAsChild (URLT url m) XML instance (Monad m) => EmbedAsChild (URLT url m) String instance (Monad m) => EmbedAsChild (URLT url m) Char instance (Monad m) => EmbedAsAttr (URLT url m) (Attr String Int) instance (Monad m) => EmbedAsAttr (URLT url m) (Attr String Bool) instance (Monad m) => EmbedAsAttr (URLT url m) (Attr String String) instance (Monad m) => EmbedAsAttr (URLT url m) (Attr String Char) instance (Monad m) => EmbedAsAttr (URLT url m) Attribute instance (Monad m) => XMLGen (URLT url m) module URLT.HandleT data Site link url m a Site :: (link -> URLT link m a) -> link -> (link -> url) -> (url -> Failing link) -> Site link url m a handleLink :: Site link url m a -> link -> URLT link m a defaultPage :: Site link url m a -> link formatLink :: Site link url m a -> link -> url parseLink :: Site link url m a -> url -> Failing link runSite :: (Monad m) => String -> Site link Link m a -> Link -> m (Failing a) instance (Monad m) => Functor (Site u l m) module URLT.Happstack implSite :: (Monad m) => String -> String -> Site link Link (ServerPartT m) a -> ServerPartT m a instance (WebMonad a m) => WebMonad a (URLT url m) instance (FilterMonad a m) => FilterMonad a (URLT url m) instance (ServerMonad m) => ServerMonad (URLT url m) module URLT