aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2021-03-19 12:34:20 -0700
committerJohn MacFarlane <jgm@berkeley.edu>2021-03-19 12:36:04 -0700
commit005f0fbcd558636f0d5db1203427a4d7b341f36e (patch)
tree6915f519e544ae7647e8b661d83d5e6b2b13a10d
parent425c2e47b5245ec0eec3eb294a83250252eb3efa (diff)
downloadpandoc-005f0fbcd558636f0d5db1203427a4d7b341f36e.tar.gz
T.P.Shared: Remove ToString, ToText typeclasses [API change].
T.P.Parsing: revise type of readWithM so that it takes a Text rather than a polymorphic ToText value. These typeclasses were there to ease the transition from String to Text. They are no longer needed, and they may clash with more useful versions under the same name. This will require a bump to 2.13.
-rw-r--r--src/Text/Pandoc/Parsing.hs8
-rw-r--r--src/Text/Pandoc/Shared.hs20
2 files changed, 4 insertions, 24 deletions
diff --git a/src/Text/Pandoc/Parsing.hs b/src/Text/Pandoc/Parsing.hs
index 8d3799c3e..10a08d410 100644
--- a/src/Text/Pandoc/Parsing.hs
+++ b/src/Text/Pandoc/Parsing.hs
@@ -1128,13 +1128,13 @@ gridTableFooter = optional blanklines
---
-- | Removes the ParsecT layer from the monad transformer stack
-readWithM :: (Stream s m Char, ToText s)
- => ParserT s st m a -- ^ parser
+readWithM :: Monad m
+ => ParserT Text st m a -- ^ parser
-> st -- ^ initial state
- -> s -- ^ input
+ -> Text -- ^ input
-> m (Either PandocError a)
readWithM parser state input =
- mapLeft (PandocParsecError $ toText input) `liftM` runParserT parser state "source" input
+ mapLeft (PandocParsecError input) <$> runParserT parser state "source" input
-- | Parse a string with a given parser and state
readWith :: Parser Text st a
diff --git a/src/Text/Pandoc/Shared.hs b/src/Text/Pandoc/Shared.hs
index 0ce9396b3..46aea9c03 100644
--- a/src/Text/Pandoc/Shared.hs
+++ b/src/Text/Pandoc/Shared.hs
@@ -25,8 +25,6 @@ module Text.Pandoc.Shared (
ordNub,
findM,
-- * Text processing
- ToString (..),
- ToText (..),
tshow,
backslashEscapes,
escapeStringUsing,
@@ -183,24 +181,6 @@ findM p = foldr go (pure Nothing)
-- Text processing
--
-class ToString a where
- toString :: a -> String
-
-instance ToString String where
- toString = id
-
-instance ToString T.Text where
- toString = T.unpack
-
-class ToText a where
- toText :: a -> T.Text
-
-instance ToText String where
- toText = T.pack
-
-instance ToText T.Text where
- toText = id
-
tshow :: Show a => a -> T.Text
tshow = T.pack . show