git.iko.soy/typeable/pandoc
on master help sign in
Monoid/Semiground cleanup relying on custom Prelude.
f0b6e0eJohn MacFarlane
src/Text/Pandoc/App.hs−1
@@ -54,7 +54,6 @@ import Data.Char (toLower, toUpper)
54import Data.List (find, intercalate, isPrefixOf, isSuffixOf, sort)
54import Data.List (find, intercalate, isPrefixOf, isSuffixOf, sort)
55import qualified Data.Map as M
55import qualified Data.Map as M
56import Data.Maybe (fromMaybe, isJust, isNothing)
56import Data.Maybe (fromMaybe, isJust, isNothing)
57−import Data.Monoid
58import qualified Data.Set as Set
57import qualified Data.Set as Set
59import Data.Text (Text)
58import Data.Text (Text)
60import qualified Data.Text as T
59import qualified Data.Text as T
src/Text/Pandoc/Class.hs−4
@@ -923,11 +923,7 @@ data FileInfo = FileInfo { infoFileMTime :: UTCTime
923 }
923 }
924
924
925newtype FileTree = FileTree {unFileTree :: M.Map FilePath FileInfo}
925newtype FileTree = FileTree {unFileTree :: M.Map FilePath FileInfo}
926−#if MIN_VERSION_base(4,9,0)
927 deriving (Semigroup, Monoid)
926 deriving (Semigroup, Monoid)
928−#else
929− deriving (Monoid)
930−#endif
931
927
932getFileInfo :: FilePath -> FileTree -> Maybe FileInfo
928getFileInfo :: FilePath -> FileTree -> Maybe FileInfo
933getFileInfo fp tree =
929getFileInfo fp tree =
src/Text/Pandoc/Extensions.hs−6
@@ -60,17 +60,11 @@ import Text.Parsec
60newtype Extensions = Extensions Integer
60newtype Extensions = Extensions Integer
61 deriving (Show, Read, Eq, Ord, Data, Typeable, Generic, ToJSON, FromJSON)
61 deriving (Show, Read, Eq, Ord, Data, Typeable, Generic, ToJSON, FromJSON)
62
62
63−#if MIN_VERSION_base(4,9,0)
64instance Semigroup Extensions where
63instance Semigroup Extensions where
65 (Extensions a) <> (Extensions b) = Extensions (a .|. b)
64 (Extensions a) <> (Extensions b) = Extensions (a .|. b)
66instance Monoid Extensions where
65instance Monoid Extensions where
67 mempty = Extensions 0
66 mempty = Extensions 0
68 mappend = (<>)
67 mappend = (<>)
69−#else
70−instance Monoid Extensions where
71− mempty = Extensions 0
72− mappend (Extensions a) (Extensions b) = Extensions (a .|. b)
73−#endif
74
68
75extensionsFromList :: [Extension] -> Extensions
69extensionsFromList :: [Extension] -> Extensions
76extensionsFromList = foldr enableExtension emptyExtensions
70extensionsFromList = foldr enableExtension emptyExtensions
src/Text/Pandoc/MediaBag.hs−4
@@ -51,11 +51,7 @@ import Text.Pandoc.MIME (MimeType, getMimeTypeDef)
51-- can be used for an empty 'MediaBag', and '<>' can be used to append
51-- can be used for an empty 'MediaBag', and '<>' can be used to append
52-- two 'MediaBag's.
52-- two 'MediaBag's.
53newtype MediaBag = MediaBag (M.Map [String] (MimeType, BL.ByteString))
53newtype MediaBag = MediaBag (M.Map [String] (MimeType, BL.ByteString))
54−#if MIN_VERSION_base(4,9,0)
55 deriving (Semigroup, Monoid, Data, Typeable)
54 deriving (Semigroup, Monoid, Data, Typeable)
56−#else
57− deriving (Monoid, Data, Typeable)
58−#endif
59
55
60instance Show MediaBag where
56instance Show MediaBag where
61 show bag = "MediaBag " ++ show (mediaDirectory bag)
57 show bag = "MediaBag " ++ show (mediaDirectory bag)
src/Text/Pandoc/PDF.hs−1
@@ -41,7 +41,6 @@ import Data.ByteString.Lazy (ByteString)
41import qualified Data.ByteString.Lazy as BL
41import qualified Data.ByteString.Lazy as BL
42import qualified Data.ByteString.Lazy.Char8 as BC
42import qualified Data.ByteString.Lazy.Char8 as BC
43import Data.Maybe (fromMaybe)
43import Data.Maybe (fromMaybe)
44−import Data.Monoid ((<>))
45import Data.Text (Text)
44import Data.Text (Text)
46import qualified Data.Text as T
45import qualified Data.Text as T
47import qualified Data.Text.IO as TextIO
46import qualified Data.Text.IO as TextIO
src/Text/Pandoc/Parsing.hs−9
@@ -203,9 +203,6 @@ import Data.Default
203import Data.List (intercalate, isSuffixOf, transpose)
203import Data.List (intercalate, isSuffixOf, transpose)
204import qualified Data.Map as M
204import qualified Data.Map as M
205import Data.Maybe (mapMaybe, fromMaybe)
205import Data.Maybe (mapMaybe, fromMaybe)
206−#if MIN_VERSION_base(4,9,0)
207−import Data.Semigroup (Semigroup, (<>))
208−#endif
209import qualified Data.Set as Set
206import qualified Data.Set as Set
210import Data.Text (Text)
207import Data.Text (Text)
211import Text.HTML.TagSoup.Entity (lookupEntity)
208import Text.HTML.TagSoup.Entity (lookupEntity)
@@ -253,17 +250,11 @@ returnF = return . return
253trimInlinesF :: Future s Inlines -> Future s Inlines
250trimInlinesF :: Future s Inlines -> Future s Inlines
254trimInlinesF = liftM trimInlines
251trimInlinesF = liftM trimInlines
255
252
256−#if MIN_VERSION_base(4,9,0)
257instance Semigroup a => Semigroup (Future s a) where
253instance Semigroup a => Semigroup (Future s a) where
258 (<>) = liftM2 (<>)
254 (<>) = liftM2 (<>)
259instance (Semigroup a, Monoid a) => Monoid (Future s a) where
255instance (Semigroup a, Monoid a) => Monoid (Future s a) where
260 mempty = return mempty
256 mempty = return mempty
261 mappend = (<>)
257 mappend = (<>)
262−#else
263−instance Monoid a => Monoid (Future s a) where
264− mempty = return mempty
265− mappend = liftM2 mappend
266−#endif
267
258
268-- | Parse characters while a predicate is true.
259-- | Parse characters while a predicate is true.
269takeWhileP :: Monad m
260takeWhileP :: Monad m
src/Text/Pandoc/Pretty.hs−5
@@ -82,7 +82,6 @@ import Control.Monad.State.Strict
82import Data.Char (isSpace)
82import Data.Char (isSpace)
83import Data.Foldable (toList)
83import Data.Foldable (toList)
84import Data.List (intersperse)
84import Data.List (intersperse)
85−import Data.Monoid ((<>))
86import Data.Sequence (Seq, ViewL (..), fromList, mapWithIndex, singleton, viewl,
85import Data.Sequence (Seq, ViewL (..), fromList, mapWithIndex, singleton, viewl,
87 (<|))
86 (<|))
88import qualified Data.Sequence as Seq
87import qualified Data.Sequence as Seq
@@ -112,11 +111,7 @@ data D = Text Int String
112 deriving (Show, Eq)
111 deriving (Show, Eq)
113
112
114newtype Doc = Doc { unDoc :: Seq D }
113newtype Doc = Doc { unDoc :: Seq D }
115−#if MIN_VERSION_base(4,9,0)
116 deriving (Semigroup, Monoid, Show, Eq)
114 deriving (Semigroup, Monoid, Show, Eq)
117−#else
118− deriving (Monoid, Show, Eq)
119−#endif
120
115
121instance IsString Doc where
116instance IsString Doc where
122 fromString = text
117 fromString = text
src/Text/Pandoc/Readers/Creole.hs+1−2
@@ -38,7 +38,6 @@ module Text.Pandoc.Readers.Creole ( readCreole
38import Control.Monad.Except (guard, liftM2, throwError)
38import Control.Monad.Except (guard, liftM2, throwError)
39import qualified Data.Foldable as F
39import qualified Data.Foldable as F
40import Data.Maybe (fromMaybe)
40import Data.Maybe (fromMaybe)
41−import Data.Monoid
42import Data.Text (Text)
41import Data.Text (Text)
43import qualified Data.Text as T
42import qualified Data.Text as T
44import qualified Text.Pandoc.Builder as B
43import qualified Text.Pandoc.Builder as B
@@ -67,7 +66,7 @@ type CRLParser = ParserT [Char] ParserState
67-- Utility functions
66-- Utility functions
68--
67--
69
68
70−(<+>) :: (Monad m, Monoid a) => m a -> m a -> m a
69+(<+>) :: (Monad m, Semigroup a) => m a -> m a -> m a
71(<+>) = liftM2 (<>)
70(<+>) = liftM2 (<>)
72
71
73-- we have to redefine `enclosed' from Text.Pandoc.Parsing, because it
72-- we have to redefine `enclosed' from Text.Pandoc.Parsing, because it
src/Text/Pandoc/Readers/EPUB.hs−1
@@ -16,7 +16,6 @@ import qualified Data.ByteString.Lazy as BL (ByteString)
16import Data.List (isInfixOf, isPrefixOf)
16import Data.List (isInfixOf, isPrefixOf)
17import qualified Data.Map as M (Map, elems, fromList, lookup)
17import qualified Data.Map as M (Map, elems, fromList, lookup)
18import Data.Maybe (fromMaybe, mapMaybe)
18import Data.Maybe (fromMaybe, mapMaybe)
19−import Data.Monoid ((<>))
20import qualified Data.Text.Lazy as TL
19import qualified Data.Text.Lazy as TL
21import qualified Data.Text.Lazy.Encoding as TL
20import qualified Data.Text.Lazy.Encoding as TL
22import Network.URI (unEscapeString)
21import Network.URI (unEscapeString)
src/Text/Pandoc/Readers/HTML.hs+1−1
@@ -54,7 +54,7 @@ import Data.List (isPrefixOf)
54import Data.List.Split (wordsBy, splitWhen)
54import Data.List.Split (wordsBy, splitWhen)
55import qualified Data.Map as M
55import qualified Data.Map as M
56import Data.Maybe (fromMaybe, isJust, isNothing)
56import Data.Maybe (fromMaybe, isJust, isNothing)
57−import Data.Monoid (First (..), (<>))
57+import Data.Monoid (First (..))
58import qualified Data.Set as Set
58import qualified Data.Set as Set
59import Data.Text (Text)
59import Data.Text (Text)
60import qualified Data.Text as T
60import qualified Data.Text as T
src/Text/Pandoc/Readers/Haddock.hs−1
@@ -17,7 +17,6 @@ module Text.Pandoc.Readers.Haddock
17import Control.Monad.Except (throwError)
17import Control.Monad.Except (throwError)
18import Data.List (intersperse, stripPrefix)
18import Data.List (intersperse, stripPrefix)
19import Data.Maybe (fromMaybe)
19import Data.Maybe (fromMaybe)
20−import Data.Monoid ((<>))
21import Data.Text (Text, unpack)
20import Data.Text (Text, unpack)
22import Documentation.Haddock.Parser
21import Documentation.Haddock.Parser
23import Documentation.Haddock.Types
22import Documentation.Haddock.Types
src/Text/Pandoc/Readers/Markdown.hs−1
@@ -39,7 +39,6 @@ import qualified Data.HashMap.Strict as H
39import Data.List (intercalate, sortBy, transpose, elemIndex)
39import Data.List (intercalate, sortBy, transpose, elemIndex)
40import qualified Data.Map as M
40import qualified Data.Map as M
41import Data.Maybe
41import Data.Maybe
42−import Data.Monoid
43import Data.Ord (comparing)
42import Data.Ord (comparing)
44import Data.Scientific (base10Exponent, coefficient)
43import Data.Scientific (base10Exponent, coefficient)
45import qualified Data.Set as Set
44import qualified Data.Set as Set
src/Text/Pandoc/Readers/MediaWiki.hs−1
@@ -45,7 +45,6 @@ import qualified Data.Foldable as F
45import Data.List (intercalate, intersperse, isPrefixOf)
45import Data.List (intercalate, intersperse, isPrefixOf)
46import qualified Data.Map as M
46import qualified Data.Map as M
47import Data.Maybe (fromMaybe, maybeToList)
47import Data.Maybe (fromMaybe, maybeToList)
48−import Data.Monoid ((<>))
49import Data.Sequence (ViewL (..), viewl, (<|))
48import Data.Sequence (ViewL (..), viewl, (<|))
50import qualified Data.Set as Set
49import qualified Data.Set as Set
51import Data.Text (Text, unpack)
50import Data.Text (Text, unpack)
src/Text/Pandoc/Readers/Odt/Generic/Fallible.hs+2−4
@@ -39,8 +39,6 @@ compatible instances of "ArrowChoice".
39-- We export everything
39-- We export everything
40module Text.Pandoc.Readers.Odt.Generic.Fallible where
40module Text.Pandoc.Readers.Odt.Generic.Fallible where
41
41
42−import Data.Monoid ((<>))
43−
44-- | Default for now. Will probably become a class at some point.
42-- | Default for now. Will probably become a class at some point.
45type Failure = ()
43type Failure = ()
46
44
@@ -90,7 +88,7 @@ collapseEither (Right (Right x)) = Right x
90-- (possibly combined) non-error. If both values represent an error, an error
88-- (possibly combined) non-error. If both values represent an error, an error
91-- is returned.
89-- is returned.
92chooseMax :: (Monoid a, Monoid b) => Either a b -> Either a b -> Either a b
90chooseMax :: (Monoid a, Monoid b) => Either a b -> Either a b -> Either a b
93−chooseMax = chooseMaxWith (<>)
91+chooseMax = chooseMaxWith mappend
94
92
95-- | If either of the values represents a non-error, the result is a
93-- | If either of the values represents a non-error, the result is a
96-- (possibly combined) non-error. If both values represent an error, an error
94-- (possibly combined) non-error. If both values represent an error, an error
@@ -100,7 +98,7 @@ chooseMaxWith :: (Monoid a) => (b -> b -> b)
100 -> Either a b
98 -> Either a b
101 -> Either a b
99 -> Either a b
102chooseMaxWith (><) (Right a) (Right b) = Right $ a >< b
100chooseMaxWith (><) (Right a) (Right b) = Right $ a >< b
103−chooseMaxWith _ (Left a) (Left b) = Left $ a <> b
101+chooseMaxWith _ (Left a) (Left b) = Left $ a `mappend` b
104chooseMaxWith _ (Right a) _ = Right a
102chooseMaxWith _ (Right a) _ = Right a
105chooseMaxWith _ _ (Right b) = Right b
103chooseMaxWith _ _ (Right b) = Right b
106
104
src/Text/Pandoc/Readers/Odt/StyleReader.hs−10
@@ -182,7 +182,6 @@ data Styles = Styles
182 deriving ( Show )
182 deriving ( Show )
183
183
184-- Styles from a monoid under union
184-- Styles from a monoid under union
185−#if MIN_VERSION_base(4,9,0)
186instance Semigroup Styles where
185instance Semigroup Styles where
187 (Styles sBn1 dSm1 lsBn1) <> (Styles sBn2 dSm2 lsBn2)
186 (Styles sBn1 dSm1 lsBn1) <> (Styles sBn2 dSm2 lsBn2)
188 = Styles (M.union sBn1 sBn2)
187 = Styles (M.union sBn1 sBn2)
@@ -191,15 +190,6 @@ instance Semigroup Styles where
191instance Monoid Styles where
190instance Monoid Styles where
192 mempty = Styles M.empty M.empty M.empty
191 mempty = Styles M.empty M.empty M.empty
193 mappend = (<>)
192 mappend = (<>)
194−#else
195−instance Monoid Styles where
196− mempty = Styles M.empty M.empty M.empty
197− mappend (Styles sBn1 dSm1 lsBn1)
198− (Styles sBn2 dSm2 lsBn2)
199− = Styles (M.union sBn1 sBn2)
200− (M.union dSm1 dSm2)
201− (M.union lsBn1 lsBn2)
202−#endif
203
193
204-- Not all families from the specifications are implemented, only those we need.
194-- Not all families from the specifications are implemented, only those we need.
205-- But there are none that are not mentioned here.
195-- But there are none that are not mentioned here.
src/Text/Pandoc/Readers/Org/Blocks.hs−1
@@ -51,7 +51,6 @@ import Data.Char (isSpace, toLower, toUpper)
51import Data.Default (Default)
51import Data.Default (Default)
52import Data.List (foldl', isPrefixOf)
52import Data.List (foldl', isPrefixOf)
53import Data.Maybe (fromMaybe, isJust, isNothing)
53import Data.Maybe (fromMaybe, isJust, isNothing)
54−import Data.Monoid ((<>))
55
54
56import qualified Text.Pandoc.Builder as B
55import qualified Text.Pandoc.Builder as B
57import qualified Text.Pandoc.Walk as Walk
56import qualified Text.Pandoc.Walk as Walk
src/Text/Pandoc/Readers/Org/DocumentTree.hs−1
@@ -36,7 +36,6 @@ import Control.Arrow ((***))
36import Control.Monad (guard, void)
36import Control.Monad (guard, void)
37import Data.Char (toLower, toUpper)
37import Data.Char (toLower, toUpper)
38import Data.List (intersperse)
38import Data.List (intersperse)
39−import Data.Monoid ((<>))
40import Text.Pandoc.Builder (Blocks, Inlines)
39import Text.Pandoc.Builder (Blocks, Inlines)
41import Text.Pandoc.Class (PandocMonad)
40import Text.Pandoc.Class (PandocMonad)
42import Text.Pandoc.Definition
41import Text.Pandoc.Definition
src/Text/Pandoc/Readers/Org/Inlines.hs−1
@@ -55,7 +55,6 @@ import Data.Char (isAlphaNum, isSpace)
55import Data.List (intersperse)
55import Data.List (intersperse)
56import qualified Data.Map as M
56import qualified Data.Map as M
57import Data.Maybe (fromMaybe)
57import Data.Maybe (fromMaybe)
58−import Data.Monoid
59import Data.Traversable (sequence)
58import Data.Traversable (sequence)
60import Prelude hiding (sequence)
59import Prelude hiding (sequence)
61
60
src/Text/Pandoc/Readers/RST.hs−1
@@ -40,7 +40,6 @@ import Data.List (deleteFirstsBy, elemIndex, intercalate, isInfixOf, isSuffixOf,
40 nub, sort, transpose, union)
40 nub, sort, transpose, union)
41import qualified Data.Map as M
41import qualified Data.Map as M
42import Data.Maybe (fromMaybe, isJust)
42import Data.Maybe (fromMaybe, isJust)
43−import Data.Monoid ((<>))
44import Data.Sequence (ViewR (..), viewr)
43import Data.Sequence (ViewR (..), viewr)
45import Data.Text (Text)
44import Data.Text (Text)
46import qualified Data.Text as T
45import qualified Data.Text as T
src/Text/Pandoc/Readers/Textile.hs−1
@@ -56,7 +56,6 @@ import Control.Monad (guard, liftM)
56import Control.Monad.Except (throwError)
56import Control.Monad.Except (throwError)
57import Data.Char (digitToInt, isUpper)
57import Data.Char (digitToInt, isUpper)
58import Data.List (intercalate, intersperse, transpose)
58import Data.List (intercalate, intersperse, transpose)
59−import Data.Monoid ((<>))
60import Data.Text (Text)
59import Data.Text (Text)
61import qualified Data.Text as T
60import qualified Data.Text as T
62import Text.HTML.TagSoup (Tag (..), fromAttrib)
61import Text.HTML.TagSoup (Tag (..), fromAttrib)
src/Text/Pandoc/Readers/Txt2Tags.hs+1−2
@@ -38,7 +38,6 @@ import Data.Char (toLower)
38import Data.Default
38import Data.Default
39import Data.List (intercalate, transpose)
39import Data.List (intercalate, transpose)
40import Data.Maybe (fromMaybe)
40import Data.Maybe (fromMaybe)
41−import Data.Monoid ((<>))
42import Data.Text (Text)
41import Data.Text (Text)
43import qualified Data.Text as T
42import qualified Data.Text as T
44import Data.Time.Format (formatTime)
43import Data.Time.Format (formatTime)
@@ -444,7 +443,7 @@ inlineMarkup p f c special = try $ do
444 let end' = case drop 2 end of
443 let end' = case drop 2 end of
445 "" -> mempty
444 "" -> mempty
446 xs -> special xs
445 xs -> special xs
447− return $ f (start' <> body' <> end')
446+ return $ f (start' `mappend` body' `mappend` end')
448 Nothing -> do -- Either bad or case such as *****
447 Nothing -> do -- Either bad or case such as *****
449 guard (l >= 5)
448 guard (l >= 5)
450 let body' = replicate (l - 4) c
449 let body' = replicate (l - 4) c
src/Text/Pandoc/Readers/Vimwiki.hs−1
@@ -69,7 +69,6 @@ import Control.Monad.Except (throwError)
69import Data.Default
69import Data.Default
70import Data.List (isInfixOf, isPrefixOf)
70import Data.List (isInfixOf, isPrefixOf)
71import Data.Maybe
71import Data.Maybe
72−import Data.Monoid
73import Data.Text (Text, unpack)
72import Data.Text (Text, unpack)
74import Text.Pandoc.Builder (Blocks, Inlines, fromList, toList, trimInlines)
73import Text.Pandoc.Builder (Blocks, Inlines, fromList, toList, trimInlines)
75import qualified Text.Pandoc.Builder as B (blockQuote, bulletList, code,
74import qualified Text.Pandoc.Builder as B (blockQuote, bulletList, code,
src/Text/Pandoc/SelfContained.hs−1
@@ -41,7 +41,6 @@ import qualified Data.ByteString.Char8 as B
41import qualified Data.ByteString.Lazy as L
41import qualified Data.ByteString.Lazy as L
42import Data.Char (isAlphaNum, isAscii, toLower)
42import Data.Char (isAlphaNum, isAscii, toLower)
43import Data.List (isPrefixOf)
43import Data.List (isPrefixOf)
44−import Data.Monoid ((<>))
45import Network.URI (escapeURIString)
44import Network.URI (escapeURIString)
46import System.FilePath (takeDirectory, takeExtension, (</>))
45import System.FilePath (takeDirectory, takeExtension, (</>))
47import Text.HTML.TagSoup
46import Text.HTML.TagSoup
src/Text/Pandoc/Shared.hs+2−3
@@ -111,7 +111,6 @@ import Data.Data (Data, Typeable)
111import Data.List (find, intercalate, intersperse, stripPrefix)
111import Data.List (find, intercalate, intersperse, stripPrefix)
112import qualified Data.Map as M
112import qualified Data.Map as M
113import Data.Maybe (mapMaybe)
113import Data.Maybe (mapMaybe)
114−import Data.Monoid ((<>))
115import Data.Sequence (ViewL (..), ViewR (..), viewl, viewr)
114import Data.Sequence (ViewL (..), ViewR (..), viewl, viewr)
116import qualified Data.Set as Set
115import qualified Data.Set as Set
117import qualified Data.Text as T
116import qualified Data.Text as T
@@ -447,7 +446,7 @@ instance Walkable Inline Element where
447 elts' <- walkM f elts
446 elts' <- walkM f elts
448 return $ Sec lev nums attr ils' elts'
447 return $ Sec lev nums attr ils' elts'
449 query f (Blk x) = query f x
448 query f (Blk x) = query f x
450− query f (Sec _ _ _ ils elts) = query f ils <> query f elts
449+ query f (Sec _ _ _ ils elts) = query f ils `mappend` query f elts
451
450
452instance Walkable Block Element where
451instance Walkable Block Element where
453 walk f (Blk x) = Blk (walk f x)
452 walk f (Blk x) = Blk (walk f x)
@@ -458,7 +457,7 @@ instance Walkable Block Element where
458 elts' <- walkM f elts
457 elts' <- walkM f elts
459 return $ Sec lev nums attr ils' elts'
458 return $ Sec lev nums attr ils' elts'
460 query f (Blk x) = query f x
459 query f (Blk x) = query f x
461− query f (Sec _ _ _ ils elts) = query f ils <> query f elts
460+ query f (Sec _ _ _ ils elts) = query f ils `mappend` query f elts
462
461
463
462
464-- | Convert Pandoc inline list to plain text identifier. HTML
463-- | Convert Pandoc inline list to plain text identifier. HTML
src/Text/Pandoc/Translations.hs−4
@@ -81,11 +81,7 @@ data Term =
81 deriving (Show, Eq, Ord, Generic, Enum, Read)
81 deriving (Show, Eq, Ord, Generic, Enum, Read)
82
82
83newtype Translations = Translations (M.Map Term String)
83newtype Translations = Translations (M.Map Term String)
84−#if MIN_VERSION_base(4,9,0)
85 deriving (Show, Generic, Semigroup, Monoid)
84 deriving (Show, Generic, Semigroup, Monoid)
86−#else
87− deriving (Show, Generic, Monoid)
88−#endif
89
85
90instance FromJSON Term where
86instance FromJSON Term where
91 parseJSON (String t) = case safeRead (T.unpack t) of
87 parseJSON (String t) = case safeRead (T.unpack t) of
src/Text/Pandoc/Writers/CommonMark.hs+1−1
@@ -36,7 +36,7 @@ import CMarkGFM
36import Control.Monad.State.Strict (State, get, modify, runState)
36import Control.Monad.State.Strict (State, get, modify, runState)
37import Data.Foldable (foldrM)
37import Data.Foldable (foldrM)
38import Data.List (transpose)
38import Data.List (transpose)
39−import Data.Monoid (Any (..), (<>))
39+import Data.Monoid (Any (..))
40import Data.Text (Text)
40import Data.Text (Text)
41import qualified Data.Text as T
41import qualified Data.Text as T
42import Network.HTTP (urlEncode)
42import Network.HTTP (urlEncode)
src/Text/Pandoc/Writers/HTML.hs−1
@@ -49,7 +49,6 @@ import Control.Monad.State.Strict
49import Data.Char (ord, toLower)
49import Data.Char (ord, toLower)
50import Data.List (intercalate, intersperse, isPrefixOf, partition)
50import Data.List (intercalate, intersperse, isPrefixOf, partition)
51import Data.Maybe (catMaybes, fromMaybe, isJust, isNothing)
51import Data.Maybe (catMaybes, fromMaybe, isJust, isNothing)
52−import Data.Monoid ((<>))
53import qualified Data.Set as Set
52import qualified Data.Set as Set
54import Data.String (fromString)
53import Data.String (fromString)
55import Data.Text (Text)
54import Data.Text (Text)
src/Text/Pandoc/Writers/OOXML.hs−1
@@ -45,7 +45,6 @@ import qualified Data.ByteString as B
45import qualified Data.ByteString.Lazy as BL
45import qualified Data.ByteString.Lazy as BL
46import qualified Data.ByteString.Lazy.Char8 as BL8
46import qualified Data.ByteString.Lazy.Char8 as BL8
47import Data.Maybe (mapMaybe)
47import Data.Maybe (mapMaybe)
48−import Data.Monoid ((<>))
49import Text.Pandoc.Class (PandocMonad)
48import Text.Pandoc.Class (PandocMonad)
50import qualified Text.Pandoc.UTF8 as UTF8
49import qualified Text.Pandoc.UTF8 as UTF8
51import Text.XML.Light as XML
50import Text.XML.Light as XML