git.iko.soy/typeable/pandoc
on master help sign in
Use custom Prelude to avoid compiler warnings.

- The (non-exported) prelude is in prelude/Prelude.hs. - It exports Monoid and Applicative, like base 4.8 prelude, but works with older base versions. - It exports (<>) for mappend. - It hides 'catch' on older base versions. This allows us to remove many imports of Data.Monoid and Control.Applicative, and remove Text.Pandoc.Compat.Monoid. It should allow us to use -Wall again for ghc 7.10.

commit82b3e0ab97a67188f0886dd6b758aa8d0ccd1064 authorJohn MacFarlane <jgm@berkeley.edu> dateWed 14 Oct 2015, 09:09 (11 years ago) parent198862e
60 files changed+59−113
benchmark/benchmark-pandoc.hs−1 pandoc.cabal+6−6 pandoc.hs+1−2 prelude/Prelude.hs+39 src/Text/Pandoc/CSS.hs−1 src/Text/Pandoc/Compat/Monoid.hs−20 src/Text/Pandoc/ImageSize.hs−1 src/Text/Pandoc/MediaBag.hs−1 src/Text/Pandoc/Options.hs−1 src/Text/Pandoc/PDF.hs−4 src/Text/Pandoc/Parsing.hs−2 src/Text/Pandoc/Pretty.hs−1 src/Text/Pandoc/Readers/DocBook.hs−2 src/Text/Pandoc/Readers/Docx.hs−2 src/Text/Pandoc/Readers/Docx/Parse.hs+1−1 src/Text/Pandoc/Readers/Docx/Reducible.hs−1 src/Text/Pandoc/Readers/EPUB.hs−2 src/Text/Pandoc/Readers/HTML.hs+2−2 src/Text/Pandoc/Readers/Haddock.hs−1 src/Text/Pandoc/Readers/LaTeX.hs+1−2 src/Text/Pandoc/Readers/Markdown.hs+1−3 src/Text/Pandoc/Readers/MediaWiki.hs+1−3 src/Text/Pandoc/Readers/Native.hs−1 src/Text/Pandoc/Readers/OPML.hs−2 src/Text/Pandoc/Readers/Odt.hs−1 src/Text/Pandoc/Readers/Odt/Arrows/State.hs−1 src/Text/Pandoc/Readers/Odt/Arrows/Utils.hs−1 src/Text/Pandoc/Readers/Odt/ContentReader.hs−1 src/Text/Pandoc/Readers/Odt/Generic/Fallible.hs−1 src/Text/Pandoc/Readers/Odt/Generic/XMLConverter.hs−1 src/Text/Pandoc/Readers/Odt/StyleReader.hs−1 src/Text/Pandoc/Readers/Org.hs+2−5 src/Text/Pandoc/Readers/RST.hs+1−3 src/Text/Pandoc/Readers/TWiki.hs−2 src/Text/Pandoc/Readers/Textile.hs−2 src/Text/Pandoc/Readers/Txt2Tags.hs+1−4 src/Text/Pandoc/SelfContained.hs+1−1 src/Text/Pandoc/Shared.hs−2 src/Text/Pandoc/Templates.hs+1−2 src/Text/Pandoc/Writers/AsciiDoc.hs−1 src/Text/Pandoc/Writers/Custom.hs−1 src/Text/Pandoc/Writers/Docbook.hs−1 src/Text/Pandoc/Writers/Docx.hs+1−2 src/Text/Pandoc/Writers/DokuWiki.hs−1 src/Text/Pandoc/Writers/EPUB.hs−1 src/Text/Pandoc/Writers/HTML.hs−2 src/Text/Pandoc/Writers/ICML.hs−1 src/Text/Pandoc/Writers/ODT.hs−1 src/Text/Pandoc/Writers/OpenDocument.hs−1 src/Text/Pandoc/Writers/Org.hs−1 src/Text/Pandoc/Writers/RST.hs−1 src/Text/Pandoc/Writers/Textile.hs−1 tests/Tests/Readers/EPUB.hs−1 tests/Tests/Readers/LaTeX.hs−1 tests/Tests/Readers/Org.hs−1 tests/Tests/Readers/RST.hs−1 tests/Tests/Readers/Txt2Tags.hs−1 tests/Tests/Shared.hs−1 tests/Tests/Walk.hs−1 tests/Tests/Writers/AsciiDoc.hs−1
benchmark/benchmark-pandoc.hs−1
@@ -21,7 +21,6 @@ import Criterion.Types (Config(..))
2121import Data.Maybe (mapMaybe)
2222import Debug.Trace (trace)
2323import Text.Pandoc.Error
24−import Control.Applicative
2524
2625readerBench :: Pandoc
2726 -> (String, ReaderOptions -> String -> IO (Either PandocError Pandoc))
pandoc.cabal+6−6
@@ -310,7 +310,7 @@ Library
310310 ScopedTypeVariables, GeneralizedNewtypeDeriving,
311311 RelaxedPolyRec, DeriveDataTypeable, TypeSynonymInstances,
312312 FlexibleInstances
313− Hs-Source-Dirs: src
313+ Hs-Source-Dirs: src, prelude
314314
315315 Exposed-Modules: Text.Pandoc,
316316 Text.Pandoc.Options,
@@ -394,11 +394,11 @@ Library
394394 Text.Pandoc.Slides,
395395 Text.Pandoc.Highlighting,
396396 Text.Pandoc.Compat.Locale,
397− Text.Pandoc.Compat.Monoid,
398397 Text.Pandoc.Compat.Except,
399398 Text.Pandoc.Compat.TagSoupEntity,
400399 Text.Pandoc.Compat.Directory
401400 Paths_pandoc
401+ Prelude
402402
403403 Buildable: True
404404
@@ -429,13 +429,13 @@ Executable pandoc
429429 ScopedTypeVariables, GeneralizedNewtypeDeriving,
430430 RelaxedPolyRec, DeriveDataTypeable, TypeSynonymInstances,
431431 FlexibleInstances
432− Hs-Source-Dirs: .
432+ Hs-Source-Dirs: ., prelude
433433 Main-Is: pandoc.hs
434434 Buildable: True
435435
436436Executable trypandoc
437437 Main-Is: trypandoc.hs
438− Hs-Source-Dirs: trypandoc
438+ Hs-Source-Dirs: trypandoc, prelude
439439 default-language: Haskell2010
440440 if flag(trypandoc)
441441 Build-Depends: base, aeson, pandoc, highlighting-kate,
@@ -447,7 +447,7 @@ Executable trypandoc
447447Test-Suite test-pandoc
448448 Type: exitcode-stdio-1.0
449449 Main-Is: test-pandoc.hs
450− Hs-Source-Dirs: tests
450+ Hs-Source-Dirs: tests, prelude
451451 Build-Depends: base >= 4.2 && < 5,
452452 syb >= 0.1 && < 0.7,
453453 pandoc,
@@ -498,7 +498,7 @@ Test-Suite test-pandoc
498498benchmark benchmark-pandoc
499499 Type: exitcode-stdio-1.0
500500 Main-Is: benchmark-pandoc.hs
501− Hs-Source-Dirs: benchmark
501+ Hs-Source-Dirs: benchmark, prelude
502502 Build-Depends: pandoc,
503503 base >= 4.2 && < 5,
504504 syb >= 0.1 && < 0.7,
pandoc.hs+1−2
@@ -68,9 +68,8 @@ import qualified Data.Map as M
6868import Data.Yaml (decode)
6969import qualified Data.Yaml as Yaml
7070import qualified Data.Text as T
71−import Control.Applicative ((<$>), (<|>))
71+import Control.Applicative ((<|>))
7272import Text.Pandoc.Readers.Txt2Tags (getT2TMeta)
73−import Data.Monoid
7473import Paths_pandoc (getDataDir)
7574import Text.Printf (printf)
7675import Text.Pandoc.Error
prelude/Prelude.hsnew file+39
@@ -0,0 +1,39 @@
1+{-# LANGUAGE PackageImports #-}
2+{-# LANGUAGE CPP #-}
3+
4+module Prelude
5+(
6+ module P
7+, Monoid(..)
8+, Applicative(..)
9+#if MIN_VERSION_base(4,8,0)
10+#else
11+, (<$>)
12+, (<$)
13+#endif
14+, (<>)
15+)
16+where
17+
18+#if MIN_VERSION_base(4,8,0)
19+import "base" Prelude as P
20+import Data.Monoid ((<>))
21+#elif MIN_VERSION_base(4,6,0)
22+import "base" Prelude as P
23+import Control.Applicative
24+import Data.Monoid
25+#else
26+import "base" Prelude as P hiding (catch)
27+import Control.Applicative
28+import Data.Monoid
29+#endif
30+
31+#if MIN_VERSION_base(4,5,0)
32+#else
33+infixr 6 <>
34+
35+-- | An infix synonym for 'mappend'.
36+(<>) :: Monoid m => m -> m -> m
37+(<>) = mappend
38+{-# INLINE (<>) #-}
39+#endif
src/Text/Pandoc/CSS.hs−1
@@ -6,7 +6,6 @@ where
66import Text.Pandoc.Shared (trim)
77import Text.Parsec
88import Text.Parsec.String
9−import Control.Applicative ((<*))
109
1110ruleParser :: Parser (String, String)
1211ruleParser = do
src/Text/Pandoc/Compat/Monoid.hsdeleted−20
@@ -1,20 +0,0 @@
1−{-# LANGUAGE CPP #-}
2−module Text.Pandoc.Compat.Monoid ( Monoid(..)
3− , (<>)
4− ) where
5−
6−#if MIN_VERSION_base(4,5,0)
7−import Data.Monoid ((<>), Monoid(..))
8−#else
9−import Data.Monoid (mappend, Monoid(..))
10−#endif
11−
12−#if MIN_VERSION_base(4,5,0)
13−#else
14−infixr 6 <>
15−
16−-- | An infix synonym for 'mappend'.
17−(<>) :: Monoid m => m -> m -> m
18−(<>) = mappend
19−{-# INLINE (<>) #-}
20−#endif
src/Text/Pandoc/ImageSize.hs−1
@@ -34,7 +34,6 @@ module Text.Pandoc.ImageSize ( ImageType(..), imageType, imageSize,
3434import Data.ByteString (ByteString, unpack)
3535import qualified Data.ByteString.Char8 as B
3636import qualified Data.ByteString.Lazy as BL
37−import Control.Applicative
3837import Control.Monad
3938import Data.Bits
4039import Data.Binary
src/Text/Pandoc/MediaBag.hs−1
@@ -41,7 +41,6 @@ import qualified System.FilePath.Posix as Posix
4141import System.Directory (createDirectoryIfMissing)
4242import qualified Data.Map as M
4343import qualified Data.ByteString.Lazy as BL
44−import Data.Monoid (Monoid)
4544import Control.Monad (when)
4645import Text.Pandoc.MIME (MimeType, getMimeTypeDef)
4746import qualified Text.Pandoc.UTF8 as UTF8
src/Text/Pandoc/Options.hs−1
@@ -52,7 +52,6 @@ import qualified Data.Set as Set
5252import Data.Default
5353import Text.Pandoc.Highlighting (Style, pygments)
5454import Text.Pandoc.MediaBag (MediaBag)
55−import Data.Monoid
5655import Data.Data (Data)
5756import Data.Typeable (Typeable)
5857
src/Text/Pandoc/PDF.hs−4
@@ -42,7 +42,6 @@ import Data.Digest.Pure.SHA (showDigest, sha1)
4242import System.Environment
4343import Control.Monad (unless, when, (<=<))
4444import qualified Control.Exception as E
45−import Control.Applicative ((<$))
4645import Data.List (isInfixOf)
4746import Data.Maybe (fromMaybe)
4847import qualified Text.Pandoc.UTF8 as UTF8
@@ -156,9 +155,6 @@ tex2pdf' verbose args tmpDir program source = do
156155 (ExitSuccess, Nothing) -> return $ Left ""
157156 (ExitSuccess, Just pdf) -> return $ Right pdf
158157
159−(<>) :: ByteString -> ByteString -> ByteString
160−(<>) = B.append
161−
162158-- parsing output
163159
164160extractMsg :: ByteString -> ByteString
src/Text/Pandoc/Parsing.hs−2
@@ -189,8 +189,6 @@ import Data.Default
189189import qualified Data.Set as Set
190190import Control.Monad.Reader
191191import Control.Monad.Identity
192−import Control.Applicative ((<$>), (<*>), (*>), (<*), (<$), Applicative)
193−import Data.Monoid
194192import Data.Maybe (catMaybes)
195193
196194import Text.Pandoc.Error
src/Text/Pandoc/Pretty.hs−1
@@ -77,7 +77,6 @@ where
7777import Data.Sequence (Seq, fromList, (<|), singleton, mapWithIndex, viewl, ViewL(..))
7878import Data.Foldable (toList)
7979import Data.List (intercalate)
80−import Data.Monoid
8180import Data.String
8281import Control.Monad.State
8382import Data.Char (isSpace)
src/Text/Pandoc/Readers/DocBook.hs−2
@@ -8,10 +8,8 @@ import Text.XML.Light
88import Text.Pandoc.Compat.TagSoupEntity (lookupEntity)
99import Data.Either (rights)
1010import Data.Generics
11−import Data.Monoid
1211import Data.Char (isSpace)
1312import Control.Monad.State
14−import Control.Applicative ((<$>))
1513import Data.List (intersperse)
1614import Data.Maybe (fromMaybe)
1715import Text.TeXMath (readMathML, writeTeX)
src/Text/Pandoc/Readers/Docx.hs−2
@@ -85,14 +85,12 @@ import Text.Pandoc.Readers.Docx.Reducible
8585import Text.Pandoc.Shared
8686import Text.Pandoc.MediaBag (insertMedia, MediaBag)
8787import Data.List (delete, (\\), intersect)
88−import Data.Monoid
8988import Text.TeXMath (writeTeX)
9089import Data.Default (Default)
9190import qualified Data.ByteString.Lazy as B
9291import qualified Data.Map as M
9392import Control.Monad.Reader
9493import Control.Monad.State
95−import Control.Applicative ((<$>))
9694import Data.Sequence (ViewL(..), viewl)
9795import qualified Data.Sequence as Seq (null)
9896
src/Text/Pandoc/Readers/Docx/Parse.hs+1−1
@@ -59,7 +59,7 @@ import Data.Bits ((.|.))
5959import qualified Data.ByteString.Lazy as B
6060import qualified Text.Pandoc.UTF8 as UTF8
6161import Control.Monad.Reader
62−import Control.Applicative ((<$>), (<|>))
62+import Control.Applicative ((<|>))
6363import qualified Data.Map as M
6464import Text.Pandoc.Compat.Except
6565import Text.TeXMath.Readers.OMML (readOMML)
src/Text/Pandoc/Readers/Docx/Reducible.hs−1
@@ -8,7 +8,6 @@ module Text.Pandoc.Readers.Docx.Reducible ( concatReduce
88
99
1010import Text.Pandoc.Builder
11−import Data.Monoid
1211import Data.List
1312import Data.Sequence (ViewR(..), ViewL(..), viewl, viewr)
1413import qualified Data.Sequence as Seq (null)
src/Text/Pandoc/Readers/EPUB.hs−2
@@ -25,9 +25,7 @@ import System.FilePath ( takeFileName, (</>), dropFileName, normalise
2525 , dropFileName
2626 , splitFileName )
2727import qualified Text.Pandoc.UTF8 as UTF8 (toStringLazy)
28−import Control.Applicative ((<$>))
2928import Control.Monad (guard, liftM, when)
30−import Data.Monoid (mempty, (<>))
3129import Data.List (isPrefixOf, isInfixOf)
3230import Data.Maybe (mapMaybe, fromMaybe)
3331import qualified Data.Map as M (Map, lookup, fromList, elems)
src/Text/Pandoc/Readers/HTML.hs+2−2
@@ -56,8 +56,8 @@ import Data.List ( intercalate, isInfixOf, isPrefixOf, isSuffixOf )
5656import Data.Char ( isDigit )
5757import Control.Monad ( liftM, guard, when, mzero, void, unless )
5858import Control.Arrow ((***))
59−import Control.Applicative ( (<$>), (<$), (<*), (*>), (<|>))
60−import Data.Monoid (mconcat, Monoid, mempty, (<>), First (..))
59+import Control.Applicative ( (<|>) )
60+import Data.Monoid (First (..))
6161import Text.Printf (printf)
6262import Debug.Trace (trace)
6363import Text.TeXMath (readMathML, writeTeX)
src/Text/Pandoc/Readers/Haddock.hs−1
@@ -17,7 +17,6 @@ module Text.Pandoc.Readers.Haddock
1717import Text.Pandoc.Builder (Blocks, Inlines)
1818import qualified Text.Pandoc.Builder as B
1919import Text.Pandoc.Shared (trim, splitBy)
20−import Data.Monoid
2120import Data.List (intersperse, stripPrefix)
2221import Data.Maybe (fromMaybe)
2322import Text.Pandoc.Definition
src/Text/Pandoc/Readers/LaTeX.hs+1−2
@@ -46,8 +46,7 @@ import Data.Char ( chr, ord, isLetter, isAlphaNum )
4646import Control.Monad.Trans (lift)
4747import Control.Monad
4848import Text.Pandoc.Builder
49−import Control.Applicative
50−import Data.Monoid
49+import Control.Applicative ((<|>), many, optional)
5150import Data.Maybe (fromMaybe, maybeToList)
5251import System.Environment (getEnv)
5352import System.FilePath (replaceExtension, (</>), takeExtension, addExtension)
src/Text/Pandoc/Readers/Markdown.hs+1−3
@@ -47,7 +47,7 @@ import qualified Data.HashMap.Strict as H
4747import qualified Text.Pandoc.Builder as B
4848import qualified Text.Pandoc.UTF8 as UTF8
4949import qualified Data.Vector as V
50−import Text.Pandoc.Builder (Inlines, Blocks, trimInlines, (<>))
50+import Text.Pandoc.Builder (Inlines, Blocks, trimInlines)
5151import Text.Pandoc.Options
5252import Text.Pandoc.Shared
5353import Text.Pandoc.XML (fromEntities)
@@ -55,8 +55,6 @@ import Text.Pandoc.Parsing hiding (tableWith)
5555import Text.Pandoc.Readers.LaTeX ( rawLaTeXInline, rawLaTeXBlock )
5656import Text.Pandoc.Readers.HTML ( htmlTag, htmlInBalanced, isInlineTag, isBlockTag,
5757 isTextTag, isCommentTag )
58−import Data.Monoid (mconcat, mempty)
59−import Control.Applicative ((<$>), (<*), (*>), (<$), (<*>))
6058import Control.Monad
6159import System.FilePath (takeExtension, addExtension)
6260import Text.HTML.TagSoup
src/Text/Pandoc/Readers/MediaWiki.hs+1−3
@@ -38,15 +38,13 @@ module Text.Pandoc.Readers.MediaWiki ( readMediaWiki ) where
3838
3939import Text.Pandoc.Definition
4040import qualified Text.Pandoc.Builder as B
41−import Text.Pandoc.Builder (Inlines, Blocks, trimInlines, (<>))
41+import Text.Pandoc.Builder (Inlines, Blocks, trimInlines)
4242import Text.Pandoc.Options
4343import Text.Pandoc.Readers.HTML ( htmlTag, isBlockTag, isCommentTag )
4444import Text.Pandoc.XML ( fromEntities )
4545import Text.Pandoc.Parsing hiding ( nested )
4646import Text.Pandoc.Walk ( walk )
4747import Text.Pandoc.Shared ( stripTrailingNewlines, safeRead, stringify, trim )
48−import Data.Monoid (mconcat, mempty)
49−import Control.Applicative ((<$>), (<*), (*>), (<$))
5048import Control.Monad
5149import Data.List (intersperse, intercalate, isPrefixOf )
5250import Text.HTML.TagSoup
src/Text/Pandoc/Readers/Native.hs−1
@@ -34,7 +34,6 @@ import Text.Pandoc.Definition
3434import Text.Pandoc.Shared (safeRead)
3535
3636import Text.Pandoc.Error
37−import Control.Applicative
3837
3938-- | Read native formatted text and return a Pandoc document.
4039-- The input may be a full pandoc document, a block list, a block,
src/Text/Pandoc/Readers/OPML.hs−2
@@ -9,9 +9,7 @@ import Text.Pandoc.Readers.Markdown (readMarkdown)
99import Text.XML.Light
1010import Text.Pandoc.Compat.TagSoupEntity (lookupEntity)
1111import Data.Generics
12−import Data.Monoid
1312import Control.Monad.State
14−import Control.Applicative ((<$>), (<$))
1513import Data.Default
1614import Text.Pandoc.Compat.Except
1715import Text.Pandoc.Error
src/Text/Pandoc/Readers/Odt.hs−1
@@ -36,7 +36,6 @@ import Codec.Archive.Zip
3636import qualified Text.XML.Light as XML
3737
3838import qualified Data.ByteString.Lazy as B
39−import Data.Monoid ( mempty )
4039
4140import Text.Pandoc.Definition
4241import Text.Pandoc.Error
src/Text/Pandoc/Readers/Odt/Arrows/State.hs−1
@@ -44,7 +44,6 @@ import qualified Control.Category as Cat
4444import Control.Arrow
4545import Control.Monad
4646
47−import Data.Monoid
4847import Data.Foldable
4948
5049import Text.Pandoc.Readers.Odt.Arrows.Utils
src/Text/Pandoc/Readers/Odt/Arrows/Utils.hs−1
@@ -42,7 +42,6 @@ module Text.Pandoc.Readers.Odt.Arrows.Utils where
4242import Control.Arrow
4343import Control.Monad ( join, MonadPlus(..) )
4444
45−import Data.Monoid
4645import qualified Data.Foldable as F
4746
4847import Text.Pandoc.Readers.Odt.Generic.Fallible
src/Text/Pandoc/Readers/Odt/ContentReader.hs−1
@@ -44,7 +44,6 @@ import Control.Applicative hiding ( liftA, liftA2, liftA3 )
4444
4545import qualified Data.Map as M
4646import Data.List ( find )
47−import Data.Monoid
4847import Data.Maybe
4948
5049import qualified Text.XML.Light as XML
src/Text/Pandoc/Readers/Odt/Generic/Fallible.hs−1
@@ -43,7 +43,6 @@ import Control.Applicative
4343import Control.Monad
4444
4545import qualified Data.Foldable as F
46−import Data.Monoid
4746
4847-- | Default for now. Will probably become a class at some point.
4948type Failure = ()
src/Text/Pandoc/Readers/Odt/Generic/XMLConverter.hs−1
@@ -123,7 +123,6 @@ import Control.Arrow
123123import qualified Data.Map as M
124124import qualified Data.Foldable as F
125125import Data.Default
126−import Data.Monoid ( Monoid )
127126import Data.Maybe
128127
129128import qualified Text.XML.Light as XML
src/Text/Pandoc/Readers/Odt/StyleReader.hs−1
@@ -78,7 +78,6 @@ import qualified Data.Map as M
7878import qualified Data.Set as S
7979import Data.List ( unfoldr )
8080import Data.Default
81−import Data.Monoid
8281import Data.Maybe
8382
8483import qualified Text.XML.Light as XML
src/Text/Pandoc/Readers/Org.hs+2−5
@@ -31,8 +31,8 @@ Conversion of org-mode formatted plain text to 'Pandoc' document.
3131module Text.Pandoc.Readers.Org ( readOrg ) where
3232
3333import qualified Text.Pandoc.Builder as B
34−import Text.Pandoc.Builder ( Inlines, Blocks, HasMeta(..), (<>)
35− , trimInlines )
34+import Text.Pandoc.Builder ( Inlines, Blocks, HasMeta(..),
35+ trimInlines )
3636import Text.Pandoc.Definition
3737import Text.Pandoc.Options
3838import qualified Text.Pandoc.Parsing as P
@@ -45,8 +45,6 @@ import Text.Pandoc.Shared (compactify', compactify'DL)
4545import Text.TeXMath (readTeX, writePandoc, DisplayType(..))
4646import qualified Text.TeXMath.Readers.MathML.EntityMap as MathMLEntityMap
4747
48−import Control.Applicative ( Applicative, pure
49− , (<$>), (<$), (<*>), (<*), (*>) )
5048import Control.Arrow (first)
5149import Control.Monad (foldM, guard, liftM, liftM2, mplus, mzero, when)
5250import Control.Monad.Reader (Reader, runReader, ask, asks, local)
@@ -55,7 +53,6 @@ import Data.Default
5553import Data.List (intersperse, isPrefixOf, isSuffixOf)
5654import qualified Data.Map as M
5755import Data.Maybe (fromMaybe, isJust)
58−import Data.Monoid (Monoid, mconcat, mempty, mappend)
5956import Network.HTTP (urlEncode)
6057
6158import Text.Pandoc.Error
src/Text/Pandoc/Readers/RST.hs+1−3
@@ -44,10 +44,8 @@ import Data.List ( findIndex, intersperse, intercalate,
4444import Data.Maybe (fromMaybe)
4545import qualified Data.Map as M
4646import Text.Printf ( printf )
47−import Control.Applicative ((<$>), (<$), (<*), (*>), (<*>), pure)
48−import Text.Pandoc.Builder (Inlines, Blocks, trimInlines, (<>))
47+import Text.Pandoc.Builder (Inlines, Blocks, trimInlines)
4948import qualified Text.Pandoc.Builder as B
50−import Data.Monoid (mconcat, mempty)
5149import Data.Sequence (viewr, ViewR(..))
5250import Data.Char (toLower, isHexDigit, isSpace)
5351
src/Text/Pandoc/Readers/TWiki.hs−2
@@ -38,8 +38,6 @@ import qualified Text.Pandoc.Builder as B
3838import Text.Pandoc.Options
3939import Text.Pandoc.Parsing hiding (enclosed, macro, nested)
4040import Text.Pandoc.Readers.HTML (htmlTag, isCommentTag)
41−import Data.Monoid (Monoid, mconcat, mempty)
42−import Control.Applicative ((<$>), (<*), (*>), (<$))
4341import Control.Monad
4442import Text.Printf (printf)
4543import Debug.Trace (trace)
src/Text/Pandoc/Readers/Textile.hs−2
@@ -65,8 +65,6 @@ import Data.List ( intercalate )
6565import Data.Char ( digitToInt, isUpper)
6666import Control.Monad ( guard, liftM, when )
6767import Text.Printf
68−import Control.Applicative ((<$>), (*>), (<*), (<$))
69−import Data.Monoid
7068import Debug.Trace (trace)
7169import Text.Pandoc.Error
7270
src/Text/Pandoc/Readers/Txt2Tags.hs+1−4
@@ -33,17 +33,14 @@ module Text.Pandoc.Readers.Txt2Tags ( readTxt2Tags
3333 where
3434
3535import qualified Text.Pandoc.Builder as B
36−import Text.Pandoc.Builder ( Inlines, Blocks, (<>)
37− , trimInlines )
36+import Text.Pandoc.Builder ( Inlines, Blocks, trimInlines )
3837import Text.Pandoc.Definition
3938import Text.Pandoc.Options
4039import Text.Pandoc.Shared (escapeURI,compactify', compactify'DL)
4140import Text.Pandoc.Parsing hiding (space, spaces, uri, macro)
42−import Control.Applicative ((<$>), (<$), (<*>), (<*), (*>))
4341import Data.Char (toLower)
4442import Data.List (transpose, intersperse, intercalate)
4543import Data.Maybe (fromMaybe)
46−import Data.Monoid (Monoid, mconcat, mempty, mappend)
4744--import Network.URI (isURI) -- Not sure whether to use this function
4845import Control.Monad (void, guard, when)
4946import Data.Default
src/Text/Pandoc/SelfContained.hs+1−1
@@ -46,7 +46,7 @@ import Text.Pandoc.MIME (MimeType)
4646import Text.Pandoc.UTF8 (toString)
4747import Text.Pandoc.Options (WriterOptions(..))
4848import Data.List (isPrefixOf)
49−import Control.Applicative
49+import Control.Applicative ((<|>))
5050import Text.Parsec (runParserT, ParsecT)
5151import qualified Text.Parsec as P
5252import Control.Monad.Trans (lift)
src/Text/Pandoc/Shared.hs−2
@@ -121,7 +121,6 @@ import System.FilePath ( (</>), takeExtension, dropExtension)
121121import Data.Generics (Typeable, Data)
122122import qualified Control.Monad.State as S
123123import qualified Control.Exception as E
124−import Control.Applicative ((<$>))
125124import Control.Monad (msum, unless, MonadPlus(..))
126125import Text.Pandoc.Pretty (charWidth)
127126import Text.Pandoc.Compat.Locale (defaultTimeLocale)
@@ -133,7 +132,6 @@ import Text.HTML.TagSoup (renderTagsOptions, RenderOptions(..), Tag(..),
133132 renderOptions)
134133import qualified Data.ByteString as BS
135134import qualified Data.ByteString.Char8 as B8
136−import Text.Pandoc.Compat.Monoid
137135import Data.ByteString.Base64 (decodeLenient)
138136import Data.Sequence (ViewR(..), ViewL(..), viewl, viewr)
139137import qualified Data.Text as T (toUpper, pack, unpack)
src/Text/Pandoc/Templates.hs+1−2
@@ -98,11 +98,9 @@ import Control.Monad (guard, when)
9898import Data.Aeson (ToJSON(..), Value(..))
9999import qualified Text.Parsec as P
100100import Text.Parsec.Text (Parser)
101−import Control.Applicative
102101import qualified Data.Text as T
103102import Data.Text (Text)
104103import Data.Text.Encoding (encodeUtf8)
105−import Text.Pandoc.Compat.Monoid ((<>), Monoid(..))
106104import Data.List (intersperse)
107105import System.FilePath ((</>), (<.>))
108106import qualified Data.Map as M
@@ -118,6 +116,7 @@ import Text.Blaze (preEscapedText, Html)
118116import Data.ByteString.Lazy (ByteString, fromChunks)
119117import Text.Pandoc.Shared (readDataFileUTF8, ordNub)
120118import Data.Vector ((!?))
119+import Control.Applicative (many, (<|>))
121120
122121-- | Get default template for the specified writer.
123122getDefaultTemplate :: (Maybe FilePath) -- ^ User data directory to search first
src/Text/Pandoc/Writers/AsciiDoc.hs−1
@@ -50,7 +50,6 @@ import Control.Monad.State
5050import qualified Data.Map as M
5151import Data.Aeson (Value(String), fromJSON, toJSON, Result(..))
5252import qualified Data.Text as T
53−import Control.Applicative ((<*), (*>))
5453
5554data WriterState = WriterState { defListMarker :: String
5655 , orderedListLevel :: Int
src/Text/Pandoc/Writers/Custom.hs−1
@@ -44,7 +44,6 @@ import Scripting.Lua (LuaState, StackValue, callfunc)
4444import Text.Pandoc.Writers.Shared
4545import qualified Scripting.Lua as Lua
4646import qualified Text.Pandoc.UTF8 as UTF8
47−import Data.Monoid
4847import Control.Monad (when)
4948import Control.Exception
5049import qualified Data.Map as M
src/Text/Pandoc/Writers/Docbook.hs−1
@@ -39,7 +39,6 @@ import Text.Pandoc.Templates (renderTemplate')
3939import Text.Pandoc.Readers.TeXMath
4040import Data.List ( stripPrefix, isPrefixOf, intercalate, isSuffixOf )
4141import Data.Char ( toLower )
42−import Control.Applicative ((<$>))
4342import Data.Monoid ( Any(..) )
4443import Text.Pandoc.Highlighting ( languages, languagesByExtension )
4544import Text.Pandoc.Pretty
src/Text/Pandoc/Writers/Docx.hs+1−2
@@ -35,7 +35,6 @@ import qualified Data.ByteString.Lazy as BL
3535import qualified Data.ByteString.Lazy.Char8 as BL8
3636import qualified Data.Map as M
3737import qualified Text.Pandoc.UTF8 as UTF8
38−import Text.Pandoc.Compat.Monoid ((<>))
3938import Codec.Archive.Zip
4039import Data.Time.Clock.POSIX
4140import Data.Time.Clock
@@ -64,7 +63,7 @@ import Text.Printf (printf)
6463import qualified Control.Exception as E
6564import Text.Pandoc.MIME (MimeType, getMimeType, getMimeTypeDef,
6665 extensionFromMimeType)
67−import Control.Applicative ((<$>), (<|>), (<*>))
66+import Control.Applicative ((<|>))
6867import Data.Maybe (fromMaybe, mapMaybe, maybeToList)
6968import Data.Char (ord)
7069
src/Text/Pandoc/Writers/DokuWiki.hs−1
@@ -54,7 +54,6 @@ import Network.URI ( isURI )
5454import Control.Monad ( zipWithM )
5555import Control.Monad.State ( modify, State, get, evalState )
5656import Control.Monad.Reader ( ReaderT, runReaderT, ask, local )
57−import Control.Applicative ( (<$>) )
5857
5958data WriterState = WriterState {
6059 stNotes :: Bool -- True if there are notes
src/Text/Pandoc/Writers/EPUB.hs−1
@@ -42,7 +42,6 @@ import qualified Data.ByteString.Lazy as B
4242import qualified Data.ByteString.Lazy.Char8 as B8
4343import qualified Text.Pandoc.UTF8 as UTF8
4444import Codec.Archive.Zip ( emptyArchive, addEntryToArchive, eRelativePath, fromEntry , Entry, toEntry, fromArchive)
45−import Control.Applicative ((<$>))
4645import Data.Time.Clock.POSIX ( getPOSIXTime )
4746import Data.Time (getCurrentTime,UTCTime, formatTime)
4847import Text.Pandoc.Compat.Locale ( defaultTimeLocale )
src/Text/Pandoc/Writers/HTML.hs−2
@@ -66,9 +66,7 @@ import Text.XML.Light.Output
6666import Text.XML.Light (unode, elChildren, unqual)
6767import qualified Text.XML.Light as XML
6868import System.FilePath (takeExtension)
69−import Data.Monoid
7069import Data.Aeson (Value)
71−import Control.Applicative ((<$>))
7270
7371data WriterState = WriterState
7472 { stNotes :: [Html] -- ^ List of notes
src/Text/Pandoc/Writers/ICML.hs−1
@@ -23,7 +23,6 @@ import Text.Pandoc.Templates (renderTemplate')
2323import Text.Pandoc.Pretty
2424import Data.List (isPrefixOf, isInfixOf, stripPrefix)
2525import Data.Text as Text (breakOnAll, pack)
26−import Data.Monoid (mappend)
2726import Control.Monad.State
2827import Network.URI (isURI)
2928import qualified Data.Set as Set
src/Text/Pandoc/Writers/ODT.hs−1
@@ -37,7 +37,6 @@ import Text.TeXMath
3737import qualified Data.ByteString.Lazy as B
3838import Text.Pandoc.UTF8 ( fromStringLazy )
3939import Codec.Archive.Zip
40−import Control.Applicative ((<$>))
4140import Text.Pandoc.Options ( WriterOptions(..) )
4241import Text.Pandoc.Shared ( stringify, fetchItem', warn,
4342 getDefaultReferenceODT )
src/Text/Pandoc/Writers/OpenDocument.hs−1
@@ -37,7 +37,6 @@ import Text.Pandoc.Templates (renderTemplate')
3737import Text.Pandoc.Readers.TeXMath
3838import Text.Pandoc.Pretty
3939import Text.Printf ( printf )
40−import Control.Applicative ( (<$>) )
4140import Control.Arrow ( (***), (>>>) )
4241import Control.Monad.State hiding ( when )
4342import Data.Char (chr, isDigit)
src/Text/Pandoc/Writers/Org.hs−1
@@ -40,7 +40,6 @@ import Text.Pandoc.Pretty
4040import Text.Pandoc.Templates (renderTemplate')
4141import Data.List ( intersect, intersperse, transpose )
4242import Control.Monad.State
43−import Control.Applicative ( (<$>) )
4443
4544data WriterState =
4645 WriterState { stNotes :: [[Block]]
src/Text/Pandoc/Writers/RST.hs−1
@@ -42,7 +42,6 @@ import Data.List ( isPrefixOf, stripPrefix, intersperse, transpose )
4242import Network.URI (isURI)
4343import Text.Pandoc.Pretty
4444import Control.Monad.State
45−import Control.Applicative ( (<$>) )
4645import Data.Char (isSpace, toLower)
4746
4847type Refs = [([Inline], Target)]
src/Text/Pandoc/Writers/Textile.hs−1
@@ -39,7 +39,6 @@ import Text.Pandoc.Templates (renderTemplate')
3939import Text.Pandoc.XML ( escapeStringForXML )
4040import Data.List ( intercalate )
4141import Control.Monad.State
42−import Control.Applicative ((<$>))
4342import Data.Char ( isSpace )
4443
4544data WriterState = WriterState {
tests/Tests/Readers/EPUB.hs−1
@@ -7,7 +7,6 @@ import Test.Framework.Providers.HUnit
77import qualified Data.ByteString.Lazy as BL
88import Text.Pandoc.Readers.EPUB
99import Text.Pandoc.MediaBag (MediaBag, mediaDirectory)
10−import Control.Applicative
1110import Text.Pandoc.Error
1211
1312getMediaBag :: FilePath -> IO MediaBag
tests/Tests/Readers/LaTeX.hs−1
@@ -7,7 +7,6 @@ import Tests.Helpers
77import Tests.Arbitrary()
88import Text.Pandoc.Builder
99import Text.Pandoc
10−import Data.Monoid (mempty)
1110import Text.Pandoc.Error
1211
1312latex :: String -> Pandoc
tests/Tests/Readers/Org.hs−1
@@ -7,7 +7,6 @@ import Tests.Helpers
77import Text.Pandoc.Builder
88import Text.Pandoc
99import Data.List (intersperse)
10−import Data.Monoid (mempty, mappend, mconcat)
1110import Text.Pandoc.Error
1211
1312org :: String -> Pandoc
tests/Tests/Readers/RST.hs−1
@@ -8,7 +8,6 @@ import Tests.Arbitrary()
88import Text.Pandoc.Builder
99import Text.Pandoc
1010import Text.Pandoc.Error
11−import Data.Monoid (mempty)
1211
1312rst :: String -> Pandoc
1413rst = handleError . readRST def{ readerStandalone = True }
tests/Tests/Readers/Txt2Tags.hs−1
@@ -9,7 +9,6 @@ import Text.Pandoc.Builder
99import Text.Pandoc
1010import Text.Pandoc.Error
1111import Data.List (intersperse)
12−import Data.Monoid (mempty, mconcat)
1312import Text.Pandoc.Readers.Txt2Tags
1413
1514t2t :: String -> Pandoc
tests/Tests/Shared.hs−1
@@ -8,7 +8,6 @@ import Tests.Arbitrary()
88import Test.Framework.Providers.HUnit
99import Test.HUnit ( assertBool, (@?=) )
1010import Text.Pandoc.Builder
11−import Data.Monoid
1211import System.FilePath.Posix (joinPath)
1312
1413tests :: [Test]
tests/Tests/Walk.hs−1
@@ -8,7 +8,6 @@ import Tests.Helpers
88import Data.Char (toUpper)
99import Tests.Arbitrary()
1010import Data.Generics
11−import Data.Monoid
1211
1312tests :: [Test]
1413tests = [ testGroup "Walk"
tests/Tests/Writers/AsciiDoc.hs−1
@@ -5,7 +5,6 @@ import Text.Pandoc.Builder
55import Text.Pandoc
66import Tests.Helpers
77import Tests.Arbitrary()
8−import Data.Monoid
98
109asciidoc :: (ToString a, ToPandoc a) => a -> String
1110asciidoc = writeAsciiDoc def{ writerWrapText = False } . toPandoc