packages feed

urlpath 3.1.1 → 3.2.0

raw patch · 2 files changed

+67/−6 lines, 2 files

Files

src/Data/Url.hs view
@@ -1,11 +1,12 @@ {-# LANGUAGE-    KindSignatures+    TypeFamilies+  , DeriveFunctor+  , KindSignatures+  , FlexibleInstances+  , TypeSynonymInstances+  , UndecidableInstances   , MultiParamTypeClasses   , FunctionalDependencies-  , TypeFamilies-  , TypeSynonymInstances-  , FlexibleInstances-  , DeriveFunctor   #-}  module Data.Url where@@ -14,6 +15,9 @@  import Data.Functor.Identity import Control.Monad.Trans+import Control.Monad.Reader+import Control.Monad.Writer+import Control.Monad.State   -- * Classes@@ -111,7 +115,26 @@   type RunUrlReader (RelativeUrlT m) = m   runUrlReader = runRelativeUrlT +instance ( MonadReader r m+         ) => MonadReader r (RelativeUrlT m) where+  ask       = lift ask+  local f (RelativeUrlT x) = RelativeUrlT $ \r ->+    local f (x r) +instance ( MonadWriter w m+         ) => MonadWriter w (RelativeUrlT m) where+  tell w = lift (tell w)+  listen (RelativeUrlT x) = RelativeUrlT $ \r ->+    listen (x r)+  pass (RelativeUrlT x) = RelativeUrlT $ \r ->+    pass (x r)++instance ( MonadState s m+         ) => MonadState s (RelativeUrlT m) where+  get   = lift get+  put x = lift (put x)++ -- ** Grounded Urls  newtype GroundedUrlT m a = GroundedUrlT@@ -146,7 +169,26 @@   type RunUrlReader (GroundedUrlT m) = m   runUrlReader = runGroundedUrlT +instance ( MonadReader r m+         ) => MonadReader r (GroundedUrlT m) where+  ask       = lift ask+  local f (GroundedUrlT x) = GroundedUrlT $ \r ->+    local f (x r) +instance ( MonadWriter w m+         ) => MonadWriter w (GroundedUrlT m) where+  tell w = lift (tell w)+  listen (GroundedUrlT x) = GroundedUrlT $ \r ->+    listen (x r)+  pass (GroundedUrlT x) = GroundedUrlT $ \r ->+    pass (x r)++instance ( MonadState s m+         ) => MonadState s (GroundedUrlT m) where+  get   = lift get+  put x = lift (put x)++ -- ** Absolute Urls  newtype AbsoluteUrlT m a = AbsoluteUrlT@@ -180,3 +222,22 @@ instance UrlReader (AbsoluteUrlT m) where   type RunUrlReader (AbsoluteUrlT m) = m   runUrlReader = runAbsoluteUrlT++instance ( MonadReader r m+         ) => MonadReader r (AbsoluteUrlT m) where+  ask       = lift ask+  local f (AbsoluteUrlT x) = AbsoluteUrlT $ \r ->+    local f (x r)++instance ( MonadWriter w m+         ) => MonadWriter w (AbsoluteUrlT m) where+  tell w = lift (tell w)+  listen (AbsoluteUrlT x) = AbsoluteUrlT $ \r ->+    listen (x r)+  pass (AbsoluteUrlT x) = AbsoluteUrlT $ \r ->+    pass (x r)++instance ( MonadState s m+         ) => MonadState s (AbsoluteUrlT m) where+  get   = lift get+  put x = lift (put x)
urlpath.cabal view
@@ -1,5 +1,5 @@ Name:                   urlpath-Version:                3.1.1+Version:                3.2.0 Author:                 Athan Clark <athan.clark@gmail.com> Maintainer:             Athan Clark <athan.clark@gmail.com> License:                MIT