parsec-class 1.0.0.0 → 1.0.1.0
raw patch · 2 files changed
+19/−8 lines, 2 filesdep ~parsecPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: parsec
API changes (from Hackage documentation)
- Text.Parsec.Class: instance Text.Parsec.Class.HasParser GHC.Natural.Natural
- Text.Parsec.Class.Orphans: instance GHC.Exception.Exception Text.Parsec.Error.ParseError
+ Text.Parsec.Class: instance Text.Parsec.Class.HasParser GHC.Num.Natural.Natural
+ Text.Parsec.Class: string' :: forall s (m :: Type -> Type) u. Stream s m Char => String -> ParsecT s u m String
- Text.Parsec.Class: (<?>) :: () => ParsecT s u m a -> String -> ParsecT s u m a
+ Text.Parsec.Class: (<?>) :: forall s u (m :: Type -> Type) a. ParsecT s u m a -> String -> ParsecT s u m a
- Text.Parsec.Class: (<|>) :: () => ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
+ Text.Parsec.Class: (<|>) :: forall s u (m :: Type -> Type) a. ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
- Text.Parsec.Class: alphaNum :: Stream s m Char => ParsecT s u m Char
+ Text.Parsec.Class: alphaNum :: forall s (m :: Type -> Type) u. Stream s m Char => ParsecT s u m Char
- Text.Parsec.Class: anyChar :: Stream s m Char => ParsecT s u m Char
+ Text.Parsec.Class: anyChar :: forall s (m :: Type -> Type) u. Stream s m Char => ParsecT s u m Char
- Text.Parsec.Class: anyToken :: (Stream s m t, Show t) => ParsecT s u m t
+ Text.Parsec.Class: anyToken :: forall s (m :: Type -> Type) t u. (Stream s m t, Show t) => ParsecT s u m t
- Text.Parsec.Class: between :: Stream s m t => ParsecT s u m open -> ParsecT s u m close -> ParsecT s u m a -> ParsecT s u m a
+ Text.Parsec.Class: between :: forall s (m :: Type -> Type) t u open close a. Stream s m t => ParsecT s u m open -> ParsecT s u m close -> ParsecT s u m a -> ParsecT s u m a
- Text.Parsec.Class: chainl :: Stream s m t => ParsecT s u m a -> ParsecT s u m a -> a -> a -> a -> ParsecT s u m a
+ Text.Parsec.Class: chainl :: forall s (m :: Type -> Type) t u a. Stream s m t => ParsecT s u m a -> ParsecT s u m (a -> a -> a) -> a -> ParsecT s u m a
- Text.Parsec.Class: chainl1 :: Stream s m t => ParsecT s u m a -> ParsecT s u m a -> a -> a -> ParsecT s u m a
+ Text.Parsec.Class: chainl1 :: forall s (m :: Type -> Type) t u a. Stream s m t => ParsecT s u m a -> ParsecT s u m (a -> a -> a) -> ParsecT s u m a
- Text.Parsec.Class: chainr :: Stream s m t => ParsecT s u m a -> ParsecT s u m a -> a -> a -> a -> ParsecT s u m a
+ Text.Parsec.Class: chainr :: forall s (m :: Type -> Type) t u a. Stream s m t => ParsecT s u m a -> ParsecT s u m (a -> a -> a) -> a -> ParsecT s u m a
- Text.Parsec.Class: chainr1 :: Stream s m t => ParsecT s u m a -> ParsecT s u m a -> a -> a -> ParsecT s u m a
+ Text.Parsec.Class: chainr1 :: forall s (m :: Type -> Type) t u a. Stream s m t => ParsecT s u m a -> ParsecT s u m (a -> a -> a) -> ParsecT s u m a
- Text.Parsec.Class: char :: Stream s m Char => Char -> ParsecT s u m Char
+ Text.Parsec.Class: char :: forall s (m :: Type -> Type) u. Stream s m Char => Char -> ParsecT s u m Char
- Text.Parsec.Class: choice :: Stream s m t => [ParsecT s u m a] -> ParsecT s u m a
+ Text.Parsec.Class: choice :: forall s (m :: Type -> Type) t u a. Stream s m t => [ParsecT s u m a] -> ParsecT s u m a
- Text.Parsec.Class: class Monad m => Stream s (m :: * -> *) t | s -> t
+ Text.Parsec.Class: class Monad m => Stream s (m :: Type -> Type) t | s -> t
- Text.Parsec.Class: count :: Stream s m t => Int -> ParsecT s u m a -> ParsecT s u m [a]
+ Text.Parsec.Class: count :: forall s (m :: Type -> Type) t u a. Stream s m t => Int -> ParsecT s u m a -> ParsecT s u m [a]
- Text.Parsec.Class: crlf :: Stream s m Char => ParsecT s u m Char
+ Text.Parsec.Class: crlf :: forall s (m :: Type -> Type) u. Stream s m Char => ParsecT s u m Char
- Text.Parsec.Class: data Consumed a
+ Text.Parsec.Class: data () => Consumed a
- Text.Parsec.Class: data ParseError
+ Text.Parsec.Class: data () => ParseError
- Text.Parsec.Class: data ParsecT s u (m :: * -> *) a
+ Text.Parsec.Class: data () => ParsecT s u (m :: Type -> Type) a
- Text.Parsec.Class: data Reply s u a
+ Text.Parsec.Class: data () => Reply s u a
- Text.Parsec.Class: data SourcePos
+ Text.Parsec.Class: data () => SourcePos
- Text.Parsec.Class: data State s u
+ Text.Parsec.Class: data () => State s u
- Text.Parsec.Class: digit :: Stream s m Char => ParsecT s u m Char
+ Text.Parsec.Class: digit :: forall s (m :: Type -> Type) u. Stream s m Char => ParsecT s u m Char
- Text.Parsec.Class: endBy :: Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
+ Text.Parsec.Class: endBy :: forall s (m :: Type -> Type) t u a sep. Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
- Text.Parsec.Class: endBy1 :: Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
+ Text.Parsec.Class: endBy1 :: forall s (m :: Type -> Type) t u a sep. Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
- Text.Parsec.Class: endOfLine :: Stream s m Char => ParsecT s u m Char
+ Text.Parsec.Class: endOfLine :: forall s (m :: Type -> Type) u. Stream s m Char => ParsecT s u m Char
- Text.Parsec.Class: eof :: (Stream s m t, Show t) => ParsecT s u m ()
+ Text.Parsec.Class: eof :: forall s (m :: Type -> Type) t u. (Stream s m t, Show t) => ParsecT s u m ()
- Text.Parsec.Class: getInput :: Monad m => ParsecT s u m s
+ Text.Parsec.Class: getInput :: forall (m :: Type -> Type) s u. Monad m => ParsecT s u m s
- Text.Parsec.Class: getParserState :: Monad m => ParsecT s u m State s u
+ Text.Parsec.Class: getParserState :: forall (m :: Type -> Type) s u. Monad m => ParsecT s u m (State s u)
- Text.Parsec.Class: getPosition :: Monad m => ParsecT s u m SourcePos
+ Text.Parsec.Class: getPosition :: forall (m :: Type -> Type) s u. Monad m => ParsecT s u m SourcePos
- Text.Parsec.Class: getState :: Monad m => ParsecT s u m u
+ Text.Parsec.Class: getState :: forall (m :: Type -> Type) s u. Monad m => ParsecT s u m u
- Text.Parsec.Class: hexDigit :: Stream s m Char => ParsecT s u m Char
+ Text.Parsec.Class: hexDigit :: forall s (m :: Type -> Type) u. Stream s m Char => ParsecT s u m Char
- Text.Parsec.Class: label :: () => ParsecT s u m a -> String -> ParsecT s u m a
+ Text.Parsec.Class: label :: forall s u (m :: Type -> Type) a. ParsecT s u m a -> String -> ParsecT s u m a
- Text.Parsec.Class: labels :: () => ParsecT s u m a -> [String] -> ParsecT s u m a
+ Text.Parsec.Class: labels :: forall s u (m :: Type -> Type) a. ParsecT s u m a -> [String] -> ParsecT s u m a
- Text.Parsec.Class: letter :: Stream s m Char => ParsecT s u m Char
+ Text.Parsec.Class: letter :: forall s (m :: Type -> Type) u. Stream s m Char => ParsecT s u m Char
- Text.Parsec.Class: lookAhead :: Stream s m t => ParsecT s u m a -> ParsecT s u m a
+ Text.Parsec.Class: lookAhead :: forall s (m :: Type -> Type) t u a. Stream s m t => ParsecT s u m a -> ParsecT s u m a
- Text.Parsec.Class: lower :: Stream s m Char => ParsecT s u m Char
+ Text.Parsec.Class: lower :: forall s (m :: Type -> Type) u. Stream s m Char => ParsecT s u m Char
- Text.Parsec.Class: many :: () => ParsecT s u m a -> ParsecT s u m [a]
+ Text.Parsec.Class: many :: forall s u (m :: Type -> Type) a. ParsecT s u m a -> ParsecT s u m [a]
- Text.Parsec.Class: many1 :: Stream s m t => ParsecT s u m a -> ParsecT s u m [a]
+ Text.Parsec.Class: many1 :: forall s (m :: Type -> Type) t u a. Stream s m t => ParsecT s u m a -> ParsecT s u m [a]
- Text.Parsec.Class: manyAccum :: () => a -> [a] -> [a] -> ParsecT s u m a -> ParsecT s u m [a]
+ Text.Parsec.Class: manyAccum :: forall a s u (m :: Type -> Type). (a -> [a] -> [a]) -> ParsecT s u m a -> ParsecT s u m [a]
- Text.Parsec.Class: manyTill :: Stream s m t => ParsecT s u m a -> ParsecT s u m end -> ParsecT s u m [a]
+ Text.Parsec.Class: manyTill :: forall s (m :: Type -> Type) t u a end. Stream s m t => ParsecT s u m a -> ParsecT s u m end -> ParsecT s u m [a]
- Text.Parsec.Class: mergeErrorReply :: () => ParseError -> Reply s u a -> Reply s u a
+ Text.Parsec.Class: mergeErrorReply :: ParseError -> Reply s u a -> Reply s u a
- Text.Parsec.Class: mkPT :: Monad m => State s u -> m Consumed m Reply s u a -> ParsecT s u m a
+ Text.Parsec.Class: mkPT :: Monad m => (State s u -> m (Consumed (m (Reply s u a)))) -> ParsecT s u m a
- Text.Parsec.Class: modifyState :: Monad m => u -> u -> ParsecT s u m ()
+ Text.Parsec.Class: modifyState :: forall (m :: Type -> Type) u s. Monad m => (u -> u) -> ParsecT s u m ()
- Text.Parsec.Class: newline :: Stream s m Char => ParsecT s u m Char
+ Text.Parsec.Class: newline :: forall s (m :: Type -> Type) u. Stream s m Char => ParsecT s u m Char
- Text.Parsec.Class: noneOf :: Stream s m Char => [Char] -> ParsecT s u m Char
+ Text.Parsec.Class: noneOf :: forall s (m :: Type -> Type) u. Stream s m Char => [Char] -> ParsecT s u m Char
- Text.Parsec.Class: notFollowedBy :: (Stream s m t, Show a) => ParsecT s u m a -> ParsecT s u m ()
+ Text.Parsec.Class: notFollowedBy :: forall s (m :: Type -> Type) t a u. (Stream s m t, Show a) => ParsecT s u m a -> ParsecT s u m ()
- Text.Parsec.Class: octDigit :: Stream s m Char => ParsecT s u m Char
+ Text.Parsec.Class: octDigit :: forall s (m :: Type -> Type) u. Stream s m Char => ParsecT s u m Char
- Text.Parsec.Class: oneOf :: Stream s m Char => [Char] -> ParsecT s u m Char
+ Text.Parsec.Class: oneOf :: forall s (m :: Type -> Type) u. Stream s m Char => [Char] -> ParsecT s u m Char
- Text.Parsec.Class: option :: Stream s m t => a -> ParsecT s u m a -> ParsecT s u m a
+ Text.Parsec.Class: option :: forall s (m :: Type -> Type) t a u. Stream s m t => a -> ParsecT s u m a -> ParsecT s u m a
- Text.Parsec.Class: optionMaybe :: Stream s m t => ParsecT s u m a -> ParsecT s u m Maybe a
+ Text.Parsec.Class: optionMaybe :: forall s (m :: Type -> Type) t u a. Stream s m t => ParsecT s u m a -> ParsecT s u m (Maybe a)
- Text.Parsec.Class: optional :: Stream s m t => ParsecT s u m a -> ParsecT s u m ()
+ Text.Parsec.Class: optional :: forall s (m :: Type -> Type) t u a. Stream s m t => ParsecT s u m a -> ParsecT s u m ()
- Text.Parsec.Class: parsecMap :: () => a -> b -> ParsecT s u m a -> ParsecT s u m b
+ Text.Parsec.Class: parsecMap :: forall a b s u (m :: Type -> Type). (a -> b) -> ParsecT s u m a -> ParsecT s u m b
- Text.Parsec.Class: parserBind :: () => ParsecT s u m a -> a -> ParsecT s u m b -> ParsecT s u m b
+ Text.Parsec.Class: parserBind :: forall s u (m :: Type -> Type) a b. ParsecT s u m a -> (a -> ParsecT s u m b) -> ParsecT s u m b
- Text.Parsec.Class: parserFail :: () => String -> ParsecT s u m a
+ Text.Parsec.Class: parserFail :: forall s u (m :: Type -> Type) a. String -> ParsecT s u m a
- Text.Parsec.Class: parserPlus :: () => ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
+ Text.Parsec.Class: parserPlus :: forall s u (m :: Type -> Type) a. ParsecT s u m a -> ParsecT s u m a -> ParsecT s u m a
- Text.Parsec.Class: parserReturn :: () => a -> ParsecT s u m a
+ Text.Parsec.Class: parserReturn :: forall a s u (m :: Type -> Type). a -> ParsecT s u m a
- Text.Parsec.Class: parserTrace :: (Show t, Stream s m t) => String -> ParsecT s u m ()
+ Text.Parsec.Class: parserTrace :: forall t s (m :: Type -> Type) u. (Show t, Stream s m t) => String -> ParsecT s u m ()
- Text.Parsec.Class: parserTraced :: (Stream s m t, Show t) => String -> ParsecT s u m b -> ParsecT s u m b
+ Text.Parsec.Class: parserTraced :: forall s (m :: Type -> Type) t u b. (Stream s m t, Show t) => String -> ParsecT s u m b -> ParsecT s u m b
- Text.Parsec.Class: parserZero :: () => ParsecT s u m a
+ Text.Parsec.Class: parserZero :: forall s u (m :: Type -> Type) a. ParsecT s u m a
- Text.Parsec.Class: putState :: Monad m => u -> ParsecT s u m ()
+ Text.Parsec.Class: putState :: forall (m :: Type -> Type) u s. Monad m => u -> ParsecT s u m ()
- Text.Parsec.Class: runPT :: Stream s m t => ParsecT s u m a -> u -> SourceName -> s -> m Either ParseError a
+ Text.Parsec.Class: runPT :: Stream s m t => ParsecT s u m a -> u -> SourceName -> s -> m (Either ParseError a)
- Text.Parsec.Class: runParsecT :: Monad m => ParsecT s u m a -> State s u -> m Consumed m Reply s u a
+ Text.Parsec.Class: runParsecT :: Monad m => ParsecT s u m a -> State s u -> m (Consumed (m (Reply s u a)))
- Text.Parsec.Class: runParserT :: Stream s m t => ParsecT s u m a -> u -> SourceName -> s -> m Either ParseError a
+ Text.Parsec.Class: runParserT :: Stream s m t => ParsecT s u m a -> u -> SourceName -> s -> m (Either ParseError a)
- Text.Parsec.Class: satisfy :: Stream s m Char => Char -> Bool -> ParsecT s u m Char
+ Text.Parsec.Class: satisfy :: forall s (m :: Type -> Type) u. Stream s m Char => (Char -> Bool) -> ParsecT s u m Char
- Text.Parsec.Class: sepBy :: Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
+ Text.Parsec.Class: sepBy :: forall s (m :: Type -> Type) t u a sep. Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
- Text.Parsec.Class: sepBy1 :: Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
+ Text.Parsec.Class: sepBy1 :: forall s (m :: Type -> Type) t u a sep. Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
- Text.Parsec.Class: sepEndBy :: Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
+ Text.Parsec.Class: sepEndBy :: forall s (m :: Type -> Type) t u a sep. Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
- Text.Parsec.Class: sepEndBy1 :: Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
+ Text.Parsec.Class: sepEndBy1 :: forall s (m :: Type -> Type) t u a sep. Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
- Text.Parsec.Class: setInput :: Monad m => s -> ParsecT s u m ()
+ Text.Parsec.Class: setInput :: forall (m :: Type -> Type) s u. Monad m => s -> ParsecT s u m ()
- Text.Parsec.Class: setParserState :: Monad m => State s u -> ParsecT s u m State s u
+ Text.Parsec.Class: setParserState :: forall (m :: Type -> Type) s u. Monad m => State s u -> ParsecT s u m (State s u)
- Text.Parsec.Class: setPosition :: Monad m => SourcePos -> ParsecT s u m ()
+ Text.Parsec.Class: setPosition :: forall (m :: Type -> Type) s u. Monad m => SourcePos -> ParsecT s u m ()
- Text.Parsec.Class: setState :: Monad m => u -> ParsecT s u m ()
+ Text.Parsec.Class: setState :: forall (m :: Type -> Type) u s. Monad m => u -> ParsecT s u m ()
- Text.Parsec.Class: skipMany :: () => ParsecT s u m a -> ParsecT s u m ()
+ Text.Parsec.Class: skipMany :: forall s u (m :: Type -> Type) a. ParsecT s u m a -> ParsecT s u m ()
- Text.Parsec.Class: skipMany1 :: Stream s m t => ParsecT s u m a -> ParsecT s u m ()
+ Text.Parsec.Class: skipMany1 :: forall s (m :: Type -> Type) t u a. Stream s m t => ParsecT s u m a -> ParsecT s u m ()
- Text.Parsec.Class: space :: Stream s m Char => ParsecT s u m Char
+ Text.Parsec.Class: space :: forall s (m :: Type -> Type) u. Stream s m Char => ParsecT s u m Char
- Text.Parsec.Class: spaces :: Stream s m Char => ParsecT s u m ()
+ Text.Parsec.Class: spaces :: forall s (m :: Type -> Type) u. Stream s m Char => ParsecT s u m ()
- Text.Parsec.Class: string :: Stream s m Char => String -> ParsecT s u m String
+ Text.Parsec.Class: string :: forall s (m :: Type -> Type) u. Stream s m Char => String -> ParsecT s u m String
- Text.Parsec.Class: sysUnExpectError :: () => String -> SourcePos -> Reply s u a
+ Text.Parsec.Class: sysUnExpectError :: String -> SourcePos -> Reply s u a
- Text.Parsec.Class: tab :: Stream s m Char => ParsecT s u m Char
+ Text.Parsec.Class: tab :: forall s (m :: Type -> Type) u. Stream s m Char => ParsecT s u m Char
- Text.Parsec.Class: token :: Stream s Identity t => t -> String -> t -> SourcePos -> t -> Maybe a -> Parsec s u a
+ Text.Parsec.Class: token :: Stream s Identity t => (t -> String) -> (t -> SourcePos) -> (t -> Maybe a) -> Parsec s u a
- Text.Parsec.Class: tokenPrim :: Stream s m t => t -> String -> SourcePos -> t -> s -> SourcePos -> t -> Maybe a -> ParsecT s u m a
+ Text.Parsec.Class: tokenPrim :: forall s (m :: Type -> Type) t a u. Stream s m t => (t -> String) -> (SourcePos -> t -> s -> SourcePos) -> (t -> Maybe a) -> ParsecT s u m a
- Text.Parsec.Class: tokenPrimEx :: Stream s m t => t -> String -> SourcePos -> t -> s -> SourcePos -> Maybe SourcePos -> t -> s -> u -> u -> t -> Maybe a -> ParsecT s u m a
+ Text.Parsec.Class: tokenPrimEx :: forall s (m :: Type -> Type) t u a. Stream s m t => (t -> String) -> (SourcePos -> t -> s -> SourcePos) -> Maybe (SourcePos -> t -> s -> u -> u) -> (t -> Maybe a) -> ParsecT s u m a
- Text.Parsec.Class: tokens :: (Stream s m t, Eq t) => [t] -> String -> SourcePos -> [t] -> SourcePos -> [t] -> ParsecT s u m [t]
+ Text.Parsec.Class: tokens :: forall s (m :: Type -> Type) t u. (Stream s m t, Eq t) => ([t] -> String) -> (SourcePos -> [t] -> SourcePos) -> [t] -> ParsecT s u m [t]
- Text.Parsec.Class: try :: () => ParsecT s u m a -> ParsecT s u m a
+ Text.Parsec.Class: try :: forall s u (m :: Type -> Type) a. ParsecT s u m a -> ParsecT s u m a
- Text.Parsec.Class: uncons :: Stream s m t => s -> m Maybe (t, s)
+ Text.Parsec.Class: uncons :: Stream s m t => s -> m (Maybe (t, s))
- Text.Parsec.Class: unexpected :: Stream s m t => String -> ParsecT s u m a
+ Text.Parsec.Class: unexpected :: forall s (m :: Type -> Type) t u a. Stream s m t => String -> ParsecT s u m a
- Text.Parsec.Class: unknownError :: () => State s u -> ParseError
+ Text.Parsec.Class: unknownError :: State s u -> ParseError
- Text.Parsec.Class: updateParserState :: () => State s u -> State s u -> ParsecT s u m State s u
+ Text.Parsec.Class: updateParserState :: forall s u (m :: Type -> Type). (State s u -> State s u) -> ParsecT s u m (State s u)
- Text.Parsec.Class: updateState :: Monad m => u -> u -> ParsecT s u m ()
+ Text.Parsec.Class: updateState :: forall (m :: Type -> Type) u s. Monad m => (u -> u) -> ParsecT s u m ()
- Text.Parsec.Class: upper :: Stream s m Char => ParsecT s u m Char
+ Text.Parsec.Class: upper :: forall s (m :: Type -> Type) u. Stream s m Char => ParsecT s u m Char
Files
- parsec-class.cabal +15/−7
- src/Text/Parsec/Class.hs +4/−1
parsec-class.cabal view
@@ -1,5 +1,5 @@ name: parsec-class-version: 1.0.0.0+version: 1.0.1.0 synopsis: Class of types that can be constructed from their text representation description: This library provides the type class 'HasParser' as a dual to 'Pretty'. Instances of this class provide a parser than can be used to construct the@@ -8,7 +8,8 @@ license-file: LICENSE author: Peter Simons maintainer: simons@cryp.to-tested-with: GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.3+tested-with: GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.5, GHC == 8.8.4, GHC == 8.10.7+ GHC == 9.0.2, GHC == 9.2.8, GHC == 9.4.8, GHC == 9.6.4, GHC == 9.8.1 category: Text homepage: https://github.com/peti/parsec-class bug-reports: https://github.com/peti/parsec-class/issues@@ -17,13 +18,20 @@ source-repository head type: git- location: git://github.com/peti/parsec-class.git+ location: https://github.com/peti/parsec-class.git +Flag parsec_error_has_exception_instance+ default: True+ library exposed-modules: Text.Parsec.Class- Text.Parsec.Class.Orphans hs-source-dirs: src- build-depends: base >= 4.9 && < 5, parsec >= 3+ build-depends: base >= 4.9 && < 5 default-language: Haskell2010- other-extensions: RankNTypes- FlexibleContexts+ other-extensions: RankNTypes, FlexibleContexts, CPP++ if flag(parsec_error_has_exception_instance)+ build-depends: parsec >= 3.1.17.0+ else+ build-depends: parsec >= 3 && < 3.1.17.0+ other-modules: Text.Parsec.Class.Orphans
src/Text/Parsec/Class.hs view
@@ -1,4 +1,5 @@ {-# LANGUAGE FlexibleContexts, RankNTypes #-} -- for 'CharParser'+{-# LANGUAGE CPP #-} -- | 'HasParser' can be considered a dual to 'Pretty' like 'Read' is to 'Show'. -- The class provides "Data.Parsec" parsers for its instances that construct@@ -18,7 +19,9 @@ import Prelude hiding ( fail ) -import Text.Parsec.Class.Orphans ( ) -- TODO: This is unnecessary.+#if !MIN_VERSION_parsec(3,1,17)+import Text.Parsec.Class.Orphans ( )+#endif import Control.Exception ( throw ) import Control.Monad.Fail