diff options
author | Martin Perner <martin@perner.cc> | 2011-11-03 15:36:17 +0100 |
---|---|---|
committer | Martin Perner <martin@perner.cc> | 2011-11-03 15:40:20 +0100 |
commit | 67eee0be14c2966e9dcf6f4127e75da16b9942b7 (patch) | |
tree | 67fc1052954fb9b7054f7d71fb60a37db54df9ad | |
parent | 218d07606a7564cdcde5974d53b8e81d04c02a44 (diff) | |
download | xmobar-67eee0be14c2966e9dcf6f4127e75da16b9942b7.tar.gz xmobar-67eee0be14c2966e9dcf6f4127e75da16b9942b7.tar.bz2 |
fix for ghc6
added applicative instance for ReaderT which was added in GHC7
-rw-r--r-- | src/Plugins/Monitors/CoreCommon.hs | 13 | ||||
-rw-r--r-- | xmobar.cabal | 4 |
2 files changed, 15 insertions, 2 deletions
diff --git a/src/Plugins/Monitors/CoreCommon.hs b/src/Plugins/Monitors/CoreCommon.hs index e508f7d..eb3e17f 100644 --- a/src/Plugins/Monitors/CoreCommon.hs +++ b/src/Plugins/Monitors/CoreCommon.hs @@ -1,4 +1,4 @@ -{-# LANGUAGE PatternGuards #-} +{-# LANGUAGE PatternGuards, CPP #-} ----------------------------------------------------------------------------- -- | @@ -25,6 +25,15 @@ import Data.Maybe import Plugins.Monitors.Common import System.Directory +#ifdef GHC6 +import Control.Monad.Reader + +instance (Monad f, Applicative f) => Applicative (ReaderT r f) where + pure a = ReaderT $ const (pure a) + f <*> a = ReaderT $ \r -> + ((runReaderT f r) <*> (runReaderT a r)) +#endif + checkedDataRetrieval :: (Ord a, Num a) => String -> [String] -> Maybe (String, String -> Int) -> (Double -> a) -> (a -> String) -> Monitor String @@ -131,4 +140,4 @@ readFiles (fval, flbl) = (,) <$> either return (\(f, ex) -> liftM ex -- | Function that captures if-then-else ifthen :: a -> a -> Bool -> a -ifthen thn els cnd = if cnd then thn else els
\ No newline at end of file +ifthen thn els cnd = if cnd then thn else els diff --git a/xmobar.cabal b/xmobar.cabal index 56cbce3..029dce8 100644 --- a/xmobar.cabal +++ b/xmobar.cabal @@ -91,6 +91,10 @@ executable xmobar if impl (ghc >= 6.12.1) ghc-options: -fno-warn-unused-do-bind + -- for instance declaration in src/Plugins/Monitors/CoreCommon.hs + if impl (ghc < 7) + cpp-options: -DGHC6 + build-depends: X11>=1.3.0, mtl, unix, parsec, filepath, stm, time if flag(small_base) |