From 84579bb1b475b83a93f6ff617e250ecacae7618f Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Sat, 24 Mar 2018 22:51:56 +0000 Subject: [PATCH] silence redundant import warnings with ghc 8.4 --- bin/hledger-check.hs | 4 ++++ hledger-lib/Hledger/Data/AccountName.hs | 6 +++++- hledger-lib/Hledger/Data/AutoTransaction.hs | 6 +++++- hledger-lib/Hledger/Data/Commodity.hs | 3 +++ hledger-lib/Hledger/Data/Journal.hs | 2 ++ hledger-lib/Hledger/Data/Posting.hs | 3 +++ hledger-lib/Hledger/Query.hs | 3 +++ hledger-lib/Hledger/Read/Common.hs | 2 ++ hledger-lib/Hledger/Read/JournalReader.hs | 2 ++ hledger-lib/Hledger/Utils/Text.hs | 3 +++ hledger-ui/Hledger/UI/AccountsScreen.hs | 3 +++ hledger-ui/Hledger/UI/ErrorScreen.hs | 3 +++ hledger-ui/Hledger/UI/RegisterScreen.hs | 3 +++ hledger-ui/Hledger/UI/Theme.hs | 3 +++ hledger-ui/Hledger/UI/TransactionScreen.hs | 3 +++ hledger-ui/Hledger/UI/UIUtils.hs | 3 +++ hledger-web/Import.hs | 2 ++ hledger/Hledger/Cli/Commands.hs | 3 +++ hledger/Hledger/Cli/Commands/Accounts.hs | 3 +++ hledger/Hledger/Cli/Commands/Rewrite.hs | 3 +++ site/hakyll-std/TableOfContents.hs | 6 +++++- tools/pandoc-add-toc.hs | 3 +++ 22 files changed, 69 insertions(+), 3 deletions(-) diff --git a/bin/hledger-check.hs b/bin/hledger-check.hs index 0dca36daf..1f4345d49 100755 --- a/bin/hledger-check.hs +++ b/bin/hledger-check.hs @@ -76,6 +76,8 @@ hledger-check "(assets:overdraft < £2000) ==> (*assets:checking == £0)" "If I have taken money from my overdraft, then I must have no money in my checking account (including subaccounts)." -} +{-# LANGUAGE CPP #-} + module Main where import Control.Arrow (first) @@ -88,7 +90,9 @@ import Data.Functor.Identity (Identity(..)) import Data.List (foldl', groupBy, intercalate, nub, sortOn) import Data.List.NonEmpty (NonEmpty(..), nonEmpty, toList) import Data.Maybe (fromMaybe, mapMaybe) +#if !(MIN_VERSION_base(4,11,0)) import Data.Monoid ((<>)) +#endif import Data.Time.Calendar (toGregorian) import Data.Time.Calendar.OrdinalDate (mondayStartWeek, sundayStartWeek, toOrdinalDate) import Data.Text (isPrefixOf, pack, unpack) diff --git a/hledger-lib/Hledger/Data/AccountName.hs b/hledger-lib/Hledger/Data/AccountName.hs index 9fb11de76..aeb39d2a0 100644 --- a/hledger-lib/Hledger/Data/AccountName.hs +++ b/hledger-lib/Hledger/Data/AccountName.hs @@ -1,4 +1,6 @@ -{-# LANGUAGE NoMonomorphismRestriction, OverloadedStrings #-} +{-# LANGUAGE NoMonomorphismRestriction #-} +{-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE CPP #-} {-| 'AccountName's are strings like @assets:cash:petty@, with multiple @@ -10,7 +12,9 @@ hierarchy. module Hledger.Data.AccountName where import Data.List +#if !(MIN_VERSION_base(4,11,0)) import Data.Monoid +#endif import Data.Text (Text) import qualified Data.Text as T import Data.Tree diff --git a/hledger-lib/Hledger/Data/AutoTransaction.hs b/hledger-lib/Hledger/Data/AutoTransaction.hs index 28361f3a6..daaf73337 100644 --- a/hledger-lib/Hledger/Data/AutoTransaction.hs +++ b/hledger-lib/Hledger/Data/AutoTransaction.hs @@ -1,4 +1,6 @@ -{-# LANGUAGE OverloadedStrings, ViewPatterns #-} +{-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE ViewPatterns #-} +{-# LANGUAGE CPP #-} {-| This module provides utilities for applying automated transactions like @@ -18,7 +20,9 @@ module Hledger.Data.AutoTransaction where import Data.Maybe +#if !(MIN_VERSION_base(4,11,0)) import Data.Monoid ((<>)) +#endif import Data.Time.Calendar import qualified Data.Text as T import Hledger.Data.Types diff --git a/hledger-lib/Hledger/Data/Commodity.hs b/hledger-lib/Hledger/Data/Commodity.hs index 62837f170..519fa199a 100644 --- a/hledger-lib/Hledger/Data/Commodity.hs +++ b/hledger-lib/Hledger/Data/Commodity.hs @@ -8,12 +8,15 @@ are thousands separated by comma, significant decimal places and so on. -} {-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE CPP #-} module Hledger.Data.Commodity where import Data.List import Data.Maybe (fromMaybe) +#if !(MIN_VERSION_base(4,11,0)) import Data.Monoid +#endif import qualified Data.Text as T import Test.HUnit -- import qualified Data.Map as M diff --git a/hledger-lib/Hledger/Data/Journal.hs b/hledger-lib/Hledger/Data/Journal.hs index 6a65250ab..722c693ff 100644 --- a/hledger-lib/Hledger/Data/Journal.hs +++ b/hledger-lib/Hledger/Data/Journal.hs @@ -84,7 +84,9 @@ import Data.List import Data.List.Extra (groupSort) -- import Data.Map (findWithDefault) import Data.Maybe +#if !(MIN_VERSION_base(4,11,0)) import Data.Monoid +#endif import Data.Ord import qualified Data.Semigroup as Sem import Data.Text (Text) diff --git a/hledger-lib/Hledger/Data/Posting.hs b/hledger-lib/Hledger/Data/Posting.hs index cee6dee8a..b42fd1549 100644 --- a/hledger-lib/Hledger/Data/Posting.hs +++ b/hledger-lib/Hledger/Data/Posting.hs @@ -8,6 +8,7 @@ look up the date or description there. -} {-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE CPP #-} module Hledger.Data.Posting ( -- * Posting @@ -59,7 +60,9 @@ where import Data.List import Data.Maybe import Data.MemoUgly (memo) +#if !(MIN_VERSION_base(4,11,0)) import Data.Monoid +#endif import Data.Ord import Data.Text (Text) import qualified Data.Text as T diff --git a/hledger-lib/Hledger/Query.hs b/hledger-lib/Hledger/Query.hs index d96e38523..8a0074a27 100644 --- a/hledger-lib/Hledger/Query.hs +++ b/hledger-lib/Hledger/Query.hs @@ -6,6 +6,7 @@ transactions..) by various criteria, and a SimpleTextParser for query expressio -} {-# LANGUAGE DeriveDataTypeable, OverloadedStrings, ViewPatterns #-} +{-# LANGUAGE CPP #-} module Hledger.Query ( -- * Query and QueryOpt @@ -49,7 +50,9 @@ import Data.Data import Data.Either import Data.List import Data.Maybe +#if !(MIN_VERSION_base(4,11,0)) import Data.Monoid ((<>)) +#endif -- import Data.Text (Text) import qualified Data.Text as T import Data.Time.Calendar diff --git a/hledger-lib/Hledger/Read/Common.hs b/hledger-lib/Hledger/Read/Common.hs index 65ef4c375..39e305833 100644 --- a/hledger-lib/Hledger/Read/Common.hs +++ b/hledger-lib/Hledger/Read/Common.hs @@ -33,7 +33,9 @@ import Data.List.NonEmpty (NonEmpty(..)) import Data.List.Split (wordsBy) import Data.Maybe import qualified Data.Map as M +#if !(MIN_VERSION_base(4,11,0)) import Data.Monoid +#endif import Data.Text (Text) import qualified Data.Text as T import Data.Time.Calendar diff --git a/hledger-lib/Hledger/Read/JournalReader.hs b/hledger-lib/Hledger/Read/JournalReader.hs index c4a79f83b..d4cf5a96a 100644 --- a/hledger-lib/Hledger/Read/JournalReader.hs +++ b/hledger-lib/Hledger/Read/JournalReader.hs @@ -79,7 +79,9 @@ import Control.Monad import Control.Monad.Except (ExceptT(..), runExceptT, throwError) import Control.Monad.State.Strict import qualified Data.Map.Strict as M +#if !(MIN_VERSION_base(4,11,0)) import Data.Monoid +#endif import Data.Text (Text) import Data.String import Data.List diff --git a/hledger-lib/Hledger/Utils/Text.hs b/hledger-lib/Hledger/Utils/Text.hs index 5e38b4b0f..ecdb52f47 100644 --- a/hledger-lib/Hledger/Utils/Text.hs +++ b/hledger-lib/Hledger/Utils/Text.hs @@ -2,6 +2,7 @@ -- There may be better alternatives out there. {-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE CPP #-} module Hledger.Utils.Text -- ( @@ -57,7 +58,9 @@ where -- import Data.Char import Data.List +#if !(MIN_VERSION_base(4,11,0)) import Data.Monoid +#endif import Data.Text (Text) import qualified Data.Text as T -- import Text.Parsec diff --git a/hledger-ui/Hledger/UI/AccountsScreen.hs b/hledger-ui/Hledger/UI/AccountsScreen.hs index 91ba8d391..a1a40e85a 100644 --- a/hledger-ui/Hledger/UI/AccountsScreen.hs +++ b/hledger-ui/Hledger/UI/AccountsScreen.hs @@ -2,6 +2,7 @@ {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} +{-# LANGUAGE CPP #-} module Hledger.UI.AccountsScreen (accountsScreen @@ -18,7 +19,9 @@ import Control.Monad import Control.Monad.IO.Class (liftIO) import Data.List import Data.Maybe +#if !(MIN_VERSION_base(4,11,0)) import Data.Monoid +#endif import qualified Data.Text as T import Data.Time.Calendar (Day) import qualified Data.Vector as V diff --git a/hledger-ui/Hledger/UI/ErrorScreen.hs b/hledger-ui/Hledger/UI/ErrorScreen.hs index 9549f05e9..d1073e251 100644 --- a/hledger-ui/Hledger/UI/ErrorScreen.hs +++ b/hledger-ui/Hledger/UI/ErrorScreen.hs @@ -1,6 +1,7 @@ -- The error screen, showing a current error condition (such as a parse error after reloading the journal) {-# LANGUAGE OverloadedStrings, FlexibleContexts, RecordWildCards #-} +{-# LANGUAGE CPP #-} module Hledger.UI.ErrorScreen (errorScreen @@ -14,7 +15,9 @@ import Brick -- import Brick.Widgets.Border (borderAttr) import Control.Monad import Control.Monad.IO.Class (liftIO) +#if !(MIN_VERSION_base(4,11,0)) import Data.Monoid +#endif import Data.Time.Calendar (Day) import Graphics.Vty (Event(..),Key(..)) import Text.Megaparsec.Compat diff --git a/hledger-ui/Hledger/UI/RegisterScreen.hs b/hledger-ui/Hledger/UI/RegisterScreen.hs index 18b523641..64b127109 100644 --- a/hledger-ui/Hledger/UI/RegisterScreen.hs +++ b/hledger-ui/Hledger/UI/RegisterScreen.hs @@ -1,6 +1,7 @@ -- The account register screen, showing transactions in an account, like hledger-web's register. {-# LANGUAGE OverloadedStrings, FlexibleContexts, RecordWildCards #-} +{-# LANGUAGE CPP #-} module Hledger.UI.RegisterScreen (registerScreen @@ -14,7 +15,9 @@ import Control.Monad import Control.Monad.IO.Class (liftIO) import Data.List import Data.List.Split (splitOn) +#if !(MIN_VERSION_base(4,11,0)) import Data.Monoid +#endif import Data.Maybe import qualified Data.Text as T import Data.Time.Calendar diff --git a/hledger-ui/Hledger/UI/Theme.hs b/hledger-ui/Hledger/UI/Theme.hs index ec32b5624..a7e558744 100644 --- a/hledger-ui/Hledger/UI/Theme.hs +++ b/hledger-ui/Hledger/UI/Theme.hs @@ -9,6 +9,7 @@ {-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE CPP #-} module Hledger.UI.Theme ( defaultTheme @@ -19,7 +20,9 @@ module Hledger.UI.Theme ( import qualified Data.Map as M import Data.Maybe +#if !(MIN_VERSION_base(4,11,0)) import Data.Monoid +#endif import Graphics.Vty import Brick import Brick.Widgets.Border diff --git a/hledger-ui/Hledger/UI/TransactionScreen.hs b/hledger-ui/Hledger/UI/TransactionScreen.hs index 0d96ed165..8a7e0655c 100644 --- a/hledger-ui/Hledger/UI/TransactionScreen.hs +++ b/hledger-ui/Hledger/UI/TransactionScreen.hs @@ -1,6 +1,7 @@ -- The transaction screen, showing a single transaction's general journal entry. {-# LANGUAGE OverloadedStrings, TupleSections, RecordWildCards #-} -- , FlexibleContexts +{-# LANGUAGE CPP #-} module Hledger.UI.TransactionScreen (transactionScreen @@ -11,7 +12,9 @@ where import Control.Monad import Control.Monad.IO.Class (liftIO) import Data.List +#if !(MIN_VERSION_base(4,11,0)) import Data.Monoid +#endif import qualified Data.Text as T import Data.Time.Calendar (Day) import Graphics.Vty (Event(..),Key(..)) diff --git a/hledger-ui/Hledger/UI/UIUtils.hs b/hledger-ui/Hledger/UI/UIUtils.hs index a33ad7327..fa79cd44d 100644 --- a/hledger-ui/Hledger/UI/UIUtils.hs +++ b/hledger-ui/Hledger/UI/UIUtils.hs @@ -2,6 +2,7 @@ {- | Rendering & misc. helpers. -} {-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE CPP #-} module Hledger.UI.UIUtils where @@ -16,7 +17,9 @@ import Brick.Widgets.List import Control.Monad.IO.Class import Data.List import Data.Maybe +#if !(MIN_VERSION_base(4,11,0)) import Data.Monoid +#endif import Graphics.Vty (Event(..),Key(..),Modifier(..),Color,Attr,currentAttr) import Lens.Micro.Platform import System.Environment diff --git a/hledger-web/Import.hs b/hledger-web/Import.hs index 87c66bb3b..c3f373663 100644 --- a/hledger-web/Import.hs +++ b/hledger-web/Import.hs @@ -17,4 +17,6 @@ import Settings as Import import Settings.Development as Import import Settings.StaticFiles as Import +#if !(MIN_VERSION_base(4,11,0)) import Data.Monoid as Import ((<>)) +#endif diff --git a/hledger/Hledger/Cli/Commands.hs b/hledger/Hledger/Cli/Commands.hs index b46c6d623..c558da51c 100644 --- a/hledger/Hledger/Cli/Commands.hs +++ b/hledger/Hledger/Cli/Commands.hs @@ -4,6 +4,7 @@ hledger's built-in commands, and helpers for printing the commands list. {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE QuasiQuotes #-} +{-# LANGUAGE CPP #-} module Hledger.Cli.Commands ( findCommand @@ -38,7 +39,9 @@ where import Control.Monad import Data.List import Data.List.Split (splitOn) +#if !(MIN_VERSION_base(4,11,0)) import Data.Monoid ((<>)) +#endif import Data.String.Here import Data.Text (Text) import qualified Data.Text as T diff --git a/hledger/Hledger/Cli/Commands/Accounts.hs b/hledger/Hledger/Cli/Commands/Accounts.hs index b151fd548..b7d6f0b22 100644 --- a/hledger/Hledger/Cli/Commands/Accounts.hs +++ b/hledger/Hledger/Cli/Commands/Accounts.hs @@ -11,6 +11,7 @@ The @accounts@ command lists account names: -} {-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE CPP #-} module Hledger.Cli.Commands.Accounts ( accountsmode @@ -19,7 +20,9 @@ module Hledger.Cli.Commands.Accounts ( ) where import Data.List +#if !(MIN_VERSION_base(4,11,0)) import Data.Monoid +#endif -- import Data.Text (Text) import qualified Data.Text as T import System.Console.CmdArgs.Explicit as C diff --git a/hledger/Hledger/Cli/Commands/Rewrite.hs b/hledger/Hledger/Cli/Commands/Rewrite.hs index 592fc9e1a..e9461a614 100755 --- a/hledger/Hledger/Cli/Commands/Rewrite.hs +++ b/hledger/Hledger/Cli/Commands/Rewrite.hs @@ -1,4 +1,5 @@ {-# LANGUAGE OverloadedStrings, LambdaCase, DeriveTraversable, ViewPatterns, QuasiQuotes #-} +{-# LANGUAGE CPP #-} module Hledger.Cli.Commands.Rewrite ( rewritemode @@ -6,7 +7,9 @@ module Hledger.Cli.Commands.Rewrite ( ) where +#if !(MIN_VERSION_base(4,11,0)) import Control.Monad.Writer +#endif import Data.List (sortOn, foldl') import Data.String.Here import qualified Data.Text as T diff --git a/site/hakyll-std/TableOfContents.hs b/site/hakyll-std/TableOfContents.hs index deca3734f..f43d57570 100644 --- a/site/hakyll-std/TableOfContents.hs +++ b/site/hakyll-std/TableOfContents.hs @@ -1,6 +1,8 @@ -{-# LANGUAGE OverloadedStrings #-} -- from https://github.com/blaenk/blaenk.github.io +{-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE CPP #-} + module TableOfContents ( tableOfContents, ignoreTOC, @@ -13,7 +15,9 @@ import Text.Pandoc.Walk (walk, query) import Data.List (groupBy) import Data.Tree (Forest, Tree(Node)) +#if !(MIN_VERSION_base(4,11,0)) import Data.Monoid ((<>), mconcat) +#endif import Data.Function (on) import Data.Maybe (fromMaybe) diff --git a/tools/pandoc-add-toc.hs b/tools/pandoc-add-toc.hs index 5926e50ce..c9bea2383 100755 --- a/tools/pandoc-add-toc.hs +++ b/tools/pandoc-add-toc.hs @@ -10,12 +10,15 @@ -- Based on code from https://github.com/blaenk/blaenk.github.io {-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE CPP #-} import Data.Char (isDigit) import Data.List (groupBy) import Data.List.Split import Data.Tree (Forest, Tree(Node)) +#if !(MIN_VERSION_base(4,11,0)) import Data.Monoid ((<>), mconcat) +#endif import Data.Function (on) import Data.Maybe (fromMaybe) import Safe