git.iko.soy/typeable/pandoc
on master help sign in
Fix ghc 8.2.1 compiler warnings.
commit42fd536a0e66dcfddb4abd7daf6d738bf954b62a authorJohn MacFarlane <jgm@berkeley.edu> dateFri 14 Jul 2017, 11:17 (9 years ago) parentf6d97bc
1 file changed+26−23
src/Text/Pandoc/Parsing.hs+26−23
src/Text/Pandoc/Parsing.hs+26−23
@@ -247,8 +247,9 @@ instance Monoid a => Monoid (Future s a) where
247247 mconcat = liftM mconcat . sequence
248248
249249-- | Parse characters while a predicate is true.
250−takeWhileP :: Stream [Char] m Char
251− => (Char -> Bool) -> ParserT [Char] st m [Char]
250+takeWhileP :: Monad m
251+ => (Char -> Bool)
252+ -> ParserT [Char] st m [Char]
252253takeWhileP f = do
253254 -- faster than 'many (satisfy f)'
254255 inp <- getInput
@@ -262,7 +263,7 @@ takeWhileP f = do
262263
263264-- Parse n characters of input (or the rest of the input if
264265-- there aren't n characters).
265−takeP :: Stream [Char] m Char => Int -> ParserT [Char] st m [Char]
266+takeP :: Monad m => Int -> ParserT [Char] st m [Char]
266267takeP n = do
267268 guard (n > 0)
268269 -- faster than 'count n anyChar'
@@ -276,7 +277,7 @@ takeP n = do
276277 return xs
277278
278279-- | Parse any line of text
279−anyLine :: Stream [Char] m Char => ParserT [Char] st m [Char]
280+anyLine :: Monad m => ParserT [Char] st m [Char]
280281anyLine = do
281282 -- This is much faster than:
282283 -- manyTill anyChar newline
@@ -292,13 +293,13 @@ anyLine = do
292293 _ -> mzero
293294
294295-- | Parse any line, include the final newline in the output
295−anyLineNewline :: Stream [Char] m Char => ParserT [Char] st m [Char]
296+anyLineNewline :: Monad m => ParserT [Char] st m [Char]
296297anyLineNewline = (++ "\n") <$> anyLine
297298
298299-- | Parse indent by specified number of spaces (or equiv. tabs)
299−indentWith :: Stream [Char] m Char
300+indentWith :: Stream s m Char
300301 => HasReaderOptions st
301− => Int -> ParserT [Char] st m [Char]
302+ => Int -> ParserT s st m [Char]
302303indentWith num = do
303304 tabStop <- getOption readerTabStop
304305 if (num < tabStop)
@@ -394,9 +395,9 @@ stringAnyCase (x:xs) = do
394395
395396-- | Parse contents of 'str' using 'parser' and return result.
396397parseFromString :: Monad m
397− => ParserT String st m a
398+ => ParserT [Char] st m a
398399 -> String
399− -> ParserT String st m a
400+ -> ParserT [Char] st m a
400401parseFromString parser str = do
401402 oldPos <- getPosition
402403 setPosition $ initialPos "chunk"
@@ -422,9 +423,9 @@ parseFromString' parser str = do
422423 return res
423424
424425-- | Parse raw line block up to and including blank lines.
425−lineClump :: Stream [Char] m Char => ParserT [Char] st m String
426+lineClump :: Monad m => ParserT [Char] st m String
426427lineClump = blanklines
427− <|> (many1 (notFollowedBy blankline >> anyLine) >>= return . unlines)
428+ <|> (unlines <$> many1 (notFollowedBy blankline >> anyLine))
428429
429430-- | Parse a string of characters between an open character
430431-- and a close character, including text between balanced
@@ -520,7 +521,7 @@ uriScheme :: Stream s m Char => ParserT s st m String
520521uriScheme = oneOfStringsCI (Set.toList schemes)
521522
522523-- | Parses a URI. Returns pair of original and URI-escaped version.
523−uri :: Stream [Char] m Char => ParserT [Char] st m (String, String)
524+uri :: Monad m => ParserT [Char] st m (String, String)
524525uri = try $ do
525526 scheme <- uriScheme
526527 char ':'
@@ -625,7 +626,9 @@ withHorizDisplacement parser = do
625626
626627-- | Applies a parser and returns the raw string that was parsed,
627628-- along with the value produced by the parser.
628−withRaw :: Stream [Char] m Char => ParsecT [Char] st m a -> ParsecT [Char] st m (a, [Char])
629+withRaw :: Monad m
630+ => ParsecT [Char] st m a
631+ -> ParsecT [Char] st m (a, [Char])
629632withRaw parser = do
630633 pos1 <- getPosition
631634 inp <- getInput
@@ -786,7 +789,7 @@ charRef = do
786789 c <- characterReference
787790 return $ Str [c]
788791
789−lineBlockLine :: Stream [Char] m Char => ParserT [Char] st m String
792+lineBlockLine :: Monad m => ParserT [Char] st m String
790793lineBlockLine = try $ do
791794 char '|'
792795 char ' '
@@ -796,11 +799,11 @@ lineBlockLine = try $ do
796799 continuations <- many (try $ char ' ' >> anyLine)
797800 return $ white ++ unwords (line : continuations)
798801
799−blankLineBlockLine :: Stream [Char] m Char => ParserT [Char] st m Char
802+blankLineBlockLine :: Stream s m Char => ParserT s st m Char
800803blankLineBlockLine = try (char '|' >> blankline)
801804
802805-- | Parses an RST-style line block and returns a list of strings.
803−lineBlockLines :: Stream [Char] m Char => ParserT [Char] st m [String]
806+lineBlockLines :: Monad m => ParserT [Char] st m [String]
804807lineBlockLines = try $ do
805808 lines' <- many1 (lineBlockLine <|> ((:[]) <$> blankLineBlockLine))
806809 skipMany1 $ blankline <|> blankLineBlockLine
@@ -870,7 +873,7 @@ widthsFromIndices numColumns' indices =
870873-- (which may be grid), then the rows,
871874-- which may be grid, separated by blank lines, and
872875-- ending with a footer (dashed line followed by blank line).
873−gridTableWith :: (Stream [Char] m Char, HasReaderOptions st,
876+gridTableWith :: (Monad m, HasReaderOptions st,
874877 Functor mf, Applicative mf, Monad mf)
875878 => ParserT [Char] st m (mf Blocks) -- ^ Block list parser
876879 -> Bool -- ^ Headerless table
@@ -879,7 +882,7 @@ gridTableWith blocks headless =
879882 tableWith (gridTableHeader headless blocks) (gridTableRow blocks)
880883 (gridTableSep '-') gridTableFooter
881884
882−gridTableWith' :: (Stream [Char] m Char, HasReaderOptions st,
885+gridTableWith' :: (Monad m, HasReaderOptions st,
883886 Functor mf, Applicative mf, Monad mf)
884887 => ParserT [Char] st m (mf Blocks) -- ^ Block list parser
885888 -> Bool -- ^ Headerless table
@@ -919,7 +922,7 @@ gridTableSep :: Stream s m Char => Char -> ParserT s st m Char
919922gridTableSep ch = try $ gridDashedLines ch >> return '\n'
920923
921924-- | Parse header for a grid table.
922−gridTableHeader :: (Stream [Char] m Char, Functor mf, Applicative mf, Monad mf)
925+gridTableHeader :: (Monad m, Functor mf, Applicative mf, Monad mf)
923926 => Bool -- ^ Headerless table
924927 -> ParserT [Char] st m (mf Blocks)
925928 -> ParserT [Char] st m (mf [Blocks], [Alignment], [Int])
@@ -952,7 +955,7 @@ gridTableRawLine indices = do
952955 return (gridTableSplitLine indices line)
953956
954957-- | Parse row of grid table.
955−gridTableRow :: (Stream [Char] m Char, Functor mf, Applicative mf, Monad mf)
958+gridTableRow :: (Monad m, Functor mf, Applicative mf, Monad mf)
956959 => ParserT [Char] st m (mf Blocks)
957960 -> [Int]
958961 -> ParserT [Char] st m (mf [Blocks])
@@ -981,8 +984,8 @@ gridTableFooter = blanklines
981984---
982985
983986-- | Removes the ParsecT layer from the monad transformer stack
984−readWithM :: (Monad m)
985− => ParserT [Char] st m a -- ^ parser
987+readWithM :: Monad m
988+ => ParserT [Char] st m a -- ^ parser
986989 -> st -- ^ initial state
987990 -> String -- ^ input
988991 -> m (Either PandocError a)
@@ -998,7 +1001,7 @@ readWith :: Parser [Char] st a
9981001readWith p t inp = runIdentity $ readWithM p t inp
9991002
10001003-- | Parse a string with @parser@ (for testing).
1001−testStringWith :: (Show a)
1004+testStringWith :: Show a
10021005 => ParserT [Char] ParserState Identity a
10031006 -> [Char]
10041007 -> IO ()