diff --git a/yesod-core/Yesod/Core/Class/Handler.hs b/yesod-core/Yesod/Core/Class/Handler.hs index a8b4504d..f525b3be 100644 --- a/yesod-core/Yesod/Core/Class/Handler.hs +++ b/yesod-core/Yesod/Core/Class/Handler.hs @@ -11,12 +11,13 @@ module Yesod.Core.Class.Handler ) where import Yesod.Core.Types -import Data.Monoid (mempty) import Control.Monad (liftM) import Control.Monad.IO.Class (liftIO) import Control.Monad.Trans.Resource (MonadResource, MonadResourceBase) import Control.Monad.Trans.Class (lift) -import Data.Monoid (Monoid) +#if __GLASGOW_HASKELL__ < 710 +import Data.Monoid (Monoid, mempty) +#endif import Data.Conduit.Internal (Pipe, ConduitM) import Control.Monad.Trans.Identity ( IdentityT) diff --git a/yesod-core/Yesod/Core/Content.hs b/yesod-core/Yesod/Core/Content.hs index a4f6b1b4..29df59d0 100644 --- a/yesod-core/Yesod/Core/Content.hs +++ b/yesod-core/Yesod/Core/Content.hs @@ -56,8 +56,9 @@ import qualified Data.Text as T import Control.Monad (liftM) import Blaze.ByteString.Builder (Builder, fromByteString, fromLazyByteString) +#if __GLASGOW_HASKELL__ < 710 import Data.Monoid (mempty) - +#endif import Text.Hamlet (Html) import Text.Blaze.Html.Renderer.Utf8 (renderHtmlBuilder) import Data.Conduit (Source, Flush (Chunk), ResumableSource, mapOutput) diff --git a/yesod-core/Yesod/Core/Dispatch.hs b/yesod-core/Yesod/Core/Dispatch.hs index 36f99c72..7df9437f 100644 --- a/yesod-core/Yesod/Core/Dispatch.hs +++ b/yesod-core/Yesod/Core/Dispatch.hs @@ -45,7 +45,9 @@ import qualified Network.Wai as W import Data.ByteString.Lazy.Char8 () import Data.Text (Text) +#if __GLASGOW_HASKELL__ < 710 import Data.Monoid (mappend) +#endif import qualified Data.ByteString as S import qualified Data.ByteString.Char8 as S8 import qualified Blaze.ByteString.Builder diff --git a/yesod-core/Yesod/Core/Handler.hs b/yesod-core/Yesod/Core/Handler.hs index e3e57d78..6ff08c64 100644 --- a/yesod-core/Yesod/Core/Handler.hs +++ b/yesod-core/Yesod/Core/Handler.hs @@ -178,7 +178,12 @@ import Data.Time (UTCTime, addUTCTime, import Yesod.Core.Internal.Request (langKey, mkFileInfoFile, mkFileInfoLBS, mkFileInfoSource) -import Control.Applicative ((<$>), (<|>)) + +#if __GLASGOW_HASKELL__ < 710 +import Control.Applicative ((<$>)) +import Data.Monoid (mempty, mappend) +#endif +import Control.Applicative ((<|>)) import Control.Exception (evaluate, SomeException) import Control.Exception.Lifted (handle) @@ -208,7 +213,7 @@ import Data.Byteable (constEqBytes) import Control.Arrow ((***)) import qualified Data.ByteString.Char8 as S8 -import Data.Monoid (Endo (..), mappend, mempty) +import Data.Monoid (Endo (..)) import Data.Text (Text) import qualified Network.Wai.Parse as NWP import Text.Shakespeare.I18N (RenderMessage (..)) @@ -1398,4 +1403,4 @@ validCsrf Nothing _param = True validCsrf (Just _token) Nothing = False csrfErrorMessage :: Text -csrfErrorMessage = "A valid CSRF token wasn't present in HTTP headers or POST parameters. Check the Yesod.Core.Handler docs of the yesod-core package for details on CSRF protection." \ No newline at end of file +csrfErrorMessage = "A valid CSRF token wasn't present in HTTP headers or POST parameters. Check the Yesod.Core.Handler docs of the yesod-core package for details on CSRF protection." diff --git a/yesod-core/Yesod/Core/Internal/LiteApp.hs b/yesod-core/Yesod/Core/Internal/LiteApp.hs index 790f09a8..b09217c6 100644 --- a/yesod-core/Yesod/Core/Internal/LiteApp.hs +++ b/yesod-core/Yesod/Core/Internal/LiteApp.hs @@ -1,9 +1,10 @@ -{-# LANGUAGE TypeFamilies #-} -{-# LANGUAGE PatternGuards #-} +{-# LANGUAGE TypeFamilies, PatternGuards, CPP #-} module Yesod.Core.Internal.LiteApp where -import Yesod.Routes.Class +#if __GLASGOW_HASKELL__ < 710 import Data.Monoid +#endif +import Yesod.Routes.Class import Yesod.Core.Class.Yesod import Yesod.Core.Class.Dispatch import Yesod.Core.Types diff --git a/yesod-core/Yesod/Core/Internal/Run.hs b/yesod-core/Yesod/Core/Internal/Run.hs index 6725fa3b..7b09a11d 100644 --- a/yesod-core/Yesod/Core/Internal/Run.hs +++ b/yesod-core/Yesod/Core/Internal/Run.hs @@ -7,9 +7,13 @@ {-# LANGUAGE FlexibleContexts #-} module Yesod.Core.Internal.Run where + +#if __GLASGOW_HASKELL__ < 710 +import Control.Applicative ((<$>)) +import Data.Monoid (mempty) +#endif import Yesod.Core.Internal.Response import Blaze.ByteString.Builder (toByteString) -import Control.Applicative ((<$>)) import Control.Exception (fromException, evaluate) import qualified Control.Exception as E import Control.Exception.Lifted (catch) @@ -25,7 +29,7 @@ import qualified Data.IORef as I import qualified Data.Map as Map import Data.Maybe (isJust) import Data.Maybe (fromMaybe) -import Data.Monoid (appEndo, mempty) +import Data.Monoid (appEndo) import Data.Text (Text) import qualified Data.Text as T import Data.Text.Encoding (encodeUtf8) @@ -40,7 +44,6 @@ import Network.Wai.Internal import Prelude hiding (catch) #endif import System.Log.FastLogger (LogStr, toLogStr) -import System.Random (newStdGen) import Yesod.Core.Content import Yesod.Core.Class.Yesod import Yesod.Core.Types @@ -48,9 +51,9 @@ import Yesod.Core.Internal.Request (parseWaiRequest, tooLargeResponse) import Yesod.Core.Internal.Util (formatRFC1123) import Yesod.Routes.Class (Route, renderRoute) -import Control.DeepSeq (($!!), NFData) -import Control.Monad (liftM) -import Control.AutoUpdate (mkAutoUpdate, defaultUpdateSettings, updateAction, updateFreq) +import Control.DeepSeq (($!!)) +import Control.Monad (liftM) +import Control.AutoUpdate (mkAutoUpdate, defaultUpdateSettings, updateAction, updateFreq) returnDeepSessionMap :: Monad m => SessionMap -> m SessionMap #if MIN_VERSION_bytestring(0, 10, 0) @@ -263,7 +266,7 @@ yesodRunner handler' YesodRunnerEnv {..} route req sendResponse let mkYesodReq = parseWaiRequest req session (isJust yreSessionBackend) mmaxLen let yreq = case mkYesodReq of - Left yreq -> yreq + Left yreq' -> yreq' Right needGen -> needGen yreGen let ra = resolveApproot yreSite req let log' = messageLoggerSource yreSite yreLogger diff --git a/yesod-core/Yesod/Core/Types.hs b/yesod-core/Yesod/Core/Types.hs index 2c39f90d..99e48267 100644 --- a/yesod-core/Yesod/Core/Types.hs +++ b/yesod-core/Yesod/Core/Types.hs @@ -10,8 +10,11 @@ module Yesod.Core.Types where import qualified Blaze.ByteString.Builder as BBuilder import qualified Blaze.ByteString.Builder.Char.Utf8 +#if __GLASGOW_HASKELL__ < 710 import Control.Applicative (Applicative (..)) import Control.Applicative ((<$>)) +import Data.Monoid (Monoid (..)) +#endif import Control.Arrow (first) import Control.Exception (Exception) import Control.Monad (liftM, ap) @@ -29,8 +32,7 @@ import Data.Conduit (Flush, Source) import Data.IORef (IORef) import Data.Map (Map, unionWith) import qualified Data.Map as Map -import Data.Monoid (Endo (..), Last (..), - Monoid (..)) +import Data.Monoid (Endo (..), Last (..)) import Data.Serialize (Serialize (..), putByteString) import Data.String (IsString (fromString)) diff --git a/yesod-core/Yesod/Core/Unsafe.hs b/yesod-core/Yesod/Core/Unsafe.hs index 9d6d04de..ea15e7b3 100644 --- a/yesod-core/Yesod/Core/Unsafe.hs +++ b/yesod-core/Yesod/Core/Unsafe.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE CPP #-} -- | This is designed to be used as -- -- > qualified import Yesod.Core.Unsafe as Unsafe @@ -9,7 +10,9 @@ import Yesod.Core.Internal.Run (runFakeHandler) import Yesod.Core.Types import Yesod.Core.Class.Yesod +#if __GLASGOW_HASKELL__ < 710 import Data.Monoid (mempty, mappend) +#endif import Control.Monad.IO.Class (MonadIO) -- | designed to be used as diff --git a/yesod-core/Yesod/Routes/TH/RenderRoute.hs b/yesod-core/Yesod/Routes/TH/RenderRoute.hs index 1d715720..4b513f8c 100644 --- a/yesod-core/Yesod/Routes/TH/RenderRoute.hs +++ b/yesod-core/Yesod/Routes/TH/RenderRoute.hs @@ -1,4 +1,4 @@ -{-# LANGUAGE TemplateHaskell #-} +{-# LANGUAGE TemplateHaskell, CPP #-} module Yesod.Routes.TH.RenderRoute ( -- ** RenderRoute mkRenderRouteInstance @@ -14,7 +14,9 @@ import Control.Monad (replicateM) import Data.Text (pack) import Web.PathPieces (PathPiece (..), PathMultiPiece (..)) import Yesod.Routes.Class +#if __GLASGOW_HASKELL__ < 710 import Data.Monoid (mconcat) +#endif -- | Generate the constructors of a route data type. mkRouteCons :: [ResourceTree Type] -> ([Con], [Dec])