parsec 3.1.9 → 3.1.10
raw patch · 13 files changed
+155/−61 lines, 13 filesdep ~HUnitdep ~basePVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: HUnit, base
API changes (from Hackage documentation)
- Text.Parsec: stateInput :: State s u -> s
- Text.Parsec: statePos :: State s u -> !SourcePos
- Text.Parsec: stateUser :: State s u -> !u
- Text.Parsec.Error: instance Enum Message
- Text.Parsec.Error: instance Eq Message
- Text.Parsec.Error: instance Eq ParseError
- Text.Parsec.Error: instance Ord Message
- Text.Parsec.Error: instance Show ParseError
- Text.Parsec.Pos: instance Data SourcePos
- Text.Parsec.Pos: instance Eq SourcePos
- Text.Parsec.Pos: instance Ord SourcePos
- Text.Parsec.Pos: instance Show SourcePos
- Text.Parsec.Pos: instance Typeable SourcePos
- Text.Parsec.Prim: instance Alternative (ParsecT s u m)
- Text.Parsec.Prim: instance Applicative (ParsecT s u m)
- Text.Parsec.Prim: instance Functor (ParsecT s u m)
- Text.Parsec.Prim: instance Functor (Reply s u)
- Text.Parsec.Prim: instance Functor Consumed
- Text.Parsec.Prim: instance Monad (ParsecT s u m)
- Text.Parsec.Prim: instance Monad m => Stream ByteString m Char
- Text.Parsec.Prim: instance Monad m => Stream Text m Char
- Text.Parsec.Prim: instance Monad m => Stream [tok] m tok
- Text.Parsec.Prim: instance MonadCont m => MonadCont (ParsecT s u m)
- Text.Parsec.Prim: instance MonadError e m => MonadError e (ParsecT s u m)
- Text.Parsec.Prim: instance MonadIO m => MonadIO (ParsecT s u m)
- Text.Parsec.Prim: instance MonadPlus (ParsecT s u m)
- Text.Parsec.Prim: instance MonadReader r m => MonadReader r (ParsecT s u m)
- Text.Parsec.Prim: instance MonadState s m => MonadState s (ParsecT s' u m)
- Text.Parsec.Prim: instance MonadTrans (ParsecT s u)
- Text.Parsec.Prim: stateInput :: State s u -> s
- Text.Parsec.Prim: statePos :: State s u -> !SourcePos
- Text.Parsec.Prim: stateUser :: State s u -> !u
- Text.Parsec.Token: angles :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m a
- Text.Parsec.Token: braces :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m a
- Text.Parsec.Token: brackets :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m a
- Text.Parsec.Token: caseSensitive :: GenLanguageDef s u m -> Bool
- Text.Parsec.Token: charLiteral :: GenTokenParser s u m -> ParsecT s u m Char
- Text.Parsec.Token: colon :: GenTokenParser s u m -> ParsecT s u m String
- Text.Parsec.Token: comma :: GenTokenParser s u m -> ParsecT s u m String
- Text.Parsec.Token: commaSep :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m [a]
- Text.Parsec.Token: commaSep1 :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m [a]
- Text.Parsec.Token: commentEnd :: GenLanguageDef s u m -> String
- Text.Parsec.Token: commentLine :: GenLanguageDef s u m -> String
- Text.Parsec.Token: commentStart :: GenLanguageDef s u m -> String
- Text.Parsec.Token: decimal :: GenTokenParser s u m -> ParsecT s u m Integer
- Text.Parsec.Token: dot :: GenTokenParser s u m -> ParsecT s u m String
- Text.Parsec.Token: float :: GenTokenParser s u m -> ParsecT s u m Double
- Text.Parsec.Token: hexadecimal :: GenTokenParser s u m -> ParsecT s u m Integer
- Text.Parsec.Token: identLetter :: GenLanguageDef s u m -> ParsecT s u m Char
- Text.Parsec.Token: identStart :: GenLanguageDef s u m -> ParsecT s u m Char
- Text.Parsec.Token: identifier :: GenTokenParser s u m -> ParsecT s u m String
- Text.Parsec.Token: integer :: GenTokenParser s u m -> ParsecT s u m Integer
- Text.Parsec.Token: lexeme :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m a
- Text.Parsec.Token: natural :: GenTokenParser s u m -> ParsecT s u m Integer
- Text.Parsec.Token: naturalOrFloat :: GenTokenParser s u m -> ParsecT s u m (Either Integer Double)
- Text.Parsec.Token: nestedComments :: GenLanguageDef s u m -> Bool
- Text.Parsec.Token: octal :: GenTokenParser s u m -> ParsecT s u m Integer
- Text.Parsec.Token: opLetter :: GenLanguageDef s u m -> ParsecT s u m Char
- Text.Parsec.Token: opStart :: GenLanguageDef s u m -> ParsecT s u m Char
- Text.Parsec.Token: operator :: GenTokenParser s u m -> ParsecT s u m String
- Text.Parsec.Token: parens :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m a
- Text.Parsec.Token: reserved :: GenTokenParser s u m -> String -> ParsecT s u m ()
- Text.Parsec.Token: reservedNames :: GenLanguageDef s u m -> [String]
- Text.Parsec.Token: reservedOp :: GenTokenParser s u m -> String -> ParsecT s u m ()
- Text.Parsec.Token: reservedOpNames :: GenLanguageDef s u m -> [String]
- Text.Parsec.Token: semi :: GenTokenParser s u m -> ParsecT s u m String
- Text.Parsec.Token: semiSep :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m [a]
- Text.Parsec.Token: semiSep1 :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m [a]
- Text.Parsec.Token: squares :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m a
- Text.Parsec.Token: stringLiteral :: GenTokenParser s u m -> ParsecT s u m String
- Text.Parsec.Token: symbol :: GenTokenParser s u m -> String -> ParsecT s u m String
- Text.Parsec.Token: whiteSpace :: GenTokenParser s u m -> ParsecT s u m ()
- Text.ParserCombinators.Parsec.Language: caseSensitive :: GenLanguageDef s u m -> Bool
- Text.ParserCombinators.Parsec.Language: commentEnd :: GenLanguageDef s u m -> String
- Text.ParserCombinators.Parsec.Language: commentLine :: GenLanguageDef s u m -> String
- Text.ParserCombinators.Parsec.Language: commentStart :: GenLanguageDef s u m -> String
- Text.ParserCombinators.Parsec.Language: identLetter :: GenLanguageDef s u m -> ParsecT s u m Char
- Text.ParserCombinators.Parsec.Language: identStart :: GenLanguageDef s u m -> ParsecT s u m Char
- Text.ParserCombinators.Parsec.Language: nestedComments :: GenLanguageDef s u m -> Bool
- Text.ParserCombinators.Parsec.Language: opLetter :: GenLanguageDef s u m -> ParsecT s u m Char
- Text.ParserCombinators.Parsec.Language: opStart :: GenLanguageDef s u m -> ParsecT s u m Char
- Text.ParserCombinators.Parsec.Language: reservedNames :: GenLanguageDef s u m -> [String]
- Text.ParserCombinators.Parsec.Language: reservedOpNames :: GenLanguageDef s u m -> [String]
- Text.ParserCombinators.Parsec.Prim: stateInput :: State s u -> s
- Text.ParserCombinators.Parsec.Prim: statePos :: State s u -> !SourcePos
- Text.ParserCombinators.Parsec.Prim: stateUser :: State s u -> !u
- Text.ParserCombinators.Parsec.Token: angles :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m a
- Text.ParserCombinators.Parsec.Token: braces :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m a
- Text.ParserCombinators.Parsec.Token: brackets :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m a
- Text.ParserCombinators.Parsec.Token: caseSensitive :: GenLanguageDef s u m -> Bool
- Text.ParserCombinators.Parsec.Token: charLiteral :: GenTokenParser s u m -> ParsecT s u m Char
- Text.ParserCombinators.Parsec.Token: colon :: GenTokenParser s u m -> ParsecT s u m String
- Text.ParserCombinators.Parsec.Token: comma :: GenTokenParser s u m -> ParsecT s u m String
- Text.ParserCombinators.Parsec.Token: commaSep :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m [a]
- Text.ParserCombinators.Parsec.Token: commaSep1 :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m [a]
- Text.ParserCombinators.Parsec.Token: commentEnd :: GenLanguageDef s u m -> String
- Text.ParserCombinators.Parsec.Token: commentLine :: GenLanguageDef s u m -> String
- Text.ParserCombinators.Parsec.Token: commentStart :: GenLanguageDef s u m -> String
- Text.ParserCombinators.Parsec.Token: decimal :: GenTokenParser s u m -> ParsecT s u m Integer
- Text.ParserCombinators.Parsec.Token: dot :: GenTokenParser s u m -> ParsecT s u m String
- Text.ParserCombinators.Parsec.Token: float :: GenTokenParser s u m -> ParsecT s u m Double
- Text.ParserCombinators.Parsec.Token: hexadecimal :: GenTokenParser s u m -> ParsecT s u m Integer
- Text.ParserCombinators.Parsec.Token: identLetter :: GenLanguageDef s u m -> ParsecT s u m Char
- Text.ParserCombinators.Parsec.Token: identStart :: GenLanguageDef s u m -> ParsecT s u m Char
- Text.ParserCombinators.Parsec.Token: identifier :: GenTokenParser s u m -> ParsecT s u m String
- Text.ParserCombinators.Parsec.Token: integer :: GenTokenParser s u m -> ParsecT s u m Integer
- Text.ParserCombinators.Parsec.Token: lexeme :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m a
- Text.ParserCombinators.Parsec.Token: natural :: GenTokenParser s u m -> ParsecT s u m Integer
- Text.ParserCombinators.Parsec.Token: naturalOrFloat :: GenTokenParser s u m -> ParsecT s u m (Either Integer Double)
- Text.ParserCombinators.Parsec.Token: nestedComments :: GenLanguageDef s u m -> Bool
- Text.ParserCombinators.Parsec.Token: octal :: GenTokenParser s u m -> ParsecT s u m Integer
- Text.ParserCombinators.Parsec.Token: opLetter :: GenLanguageDef s u m -> ParsecT s u m Char
- Text.ParserCombinators.Parsec.Token: opStart :: GenLanguageDef s u m -> ParsecT s u m Char
- Text.ParserCombinators.Parsec.Token: operator :: GenTokenParser s u m -> ParsecT s u m String
- Text.ParserCombinators.Parsec.Token: parens :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m a
- Text.ParserCombinators.Parsec.Token: reserved :: GenTokenParser s u m -> String -> ParsecT s u m ()
- Text.ParserCombinators.Parsec.Token: reservedNames :: GenLanguageDef s u m -> [String]
- Text.ParserCombinators.Parsec.Token: reservedOp :: GenTokenParser s u m -> String -> ParsecT s u m ()
- Text.ParserCombinators.Parsec.Token: reservedOpNames :: GenLanguageDef s u m -> [String]
- Text.ParserCombinators.Parsec.Token: semi :: GenTokenParser s u m -> ParsecT s u m String
- Text.ParserCombinators.Parsec.Token: semiSep :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m [a]
- Text.ParserCombinators.Parsec.Token: semiSep1 :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m [a]
- Text.ParserCombinators.Parsec.Token: squares :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m a
- Text.ParserCombinators.Parsec.Token: stringLiteral :: GenTokenParser s u m -> ParsecT s u m String
- Text.ParserCombinators.Parsec.Token: symbol :: GenTokenParser s u m -> String -> ParsecT s u m String
- Text.ParserCombinators.Parsec.Token: whiteSpace :: GenTokenParser s u m -> ParsecT s u m ()
+ Text.Parsec: [stateInput] :: State s u -> s
+ Text.Parsec: [statePos] :: State s u -> !SourcePos
+ Text.Parsec: [stateUser] :: State s u -> !u
+ Text.Parsec.Error: instance GHC.Classes.Eq Text.Parsec.Error.Message
+ Text.Parsec.Error: instance GHC.Classes.Eq Text.Parsec.Error.ParseError
+ Text.Parsec.Error: instance GHC.Classes.Ord Text.Parsec.Error.Message
+ Text.Parsec.Error: instance GHC.Enum.Enum Text.Parsec.Error.Message
+ Text.Parsec.Error: instance GHC.Show.Show Text.Parsec.Error.ParseError
+ Text.Parsec.Pos: instance Data.Data.Data Text.Parsec.Pos.SourcePos
+ Text.Parsec.Pos: instance GHC.Classes.Eq Text.Parsec.Pos.SourcePos
+ Text.Parsec.Pos: instance GHC.Classes.Ord Text.Parsec.Pos.SourcePos
+ Text.Parsec.Pos: instance GHC.Show.Show Text.Parsec.Pos.SourcePos
+ Text.Parsec.Prim: [stateInput] :: State s u -> s
+ Text.Parsec.Prim: [statePos] :: State s u -> !SourcePos
+ Text.Parsec.Prim: [stateUser] :: State s u -> !u
+ Text.Parsec.Prim: instance Control.Monad.Cont.Class.MonadCont m => Control.Monad.Cont.Class.MonadCont (Text.Parsec.Prim.ParsecT s u m)
+ Text.Parsec.Prim: instance Control.Monad.Error.Class.MonadError e m => Control.Monad.Error.Class.MonadError e (Text.Parsec.Prim.ParsecT s u m)
+ Text.Parsec.Prim: instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Text.Parsec.Prim.ParsecT s u m)
+ Text.Parsec.Prim: instance Control.Monad.Reader.Class.MonadReader r m => Control.Monad.Reader.Class.MonadReader r (Text.Parsec.Prim.ParsecT s u m)
+ Text.Parsec.Prim: instance Control.Monad.State.Class.MonadState s m => Control.Monad.State.Class.MonadState s (Text.Parsec.Prim.ParsecT s' u m)
+ Text.Parsec.Prim: instance Control.Monad.Trans.Class.MonadTrans (Text.Parsec.Prim.ParsecT s u)
+ Text.Parsec.Prim: instance GHC.Base.Alternative (Text.Parsec.Prim.ParsecT s u m)
+ Text.Parsec.Prim: instance GHC.Base.Applicative (Text.Parsec.Prim.ParsecT s u m)
+ Text.Parsec.Prim: instance GHC.Base.Functor (Text.Parsec.Prim.ParsecT s u m)
+ Text.Parsec.Prim: instance GHC.Base.Functor (Text.Parsec.Prim.Reply s u)
+ Text.Parsec.Prim: instance GHC.Base.Functor Text.Parsec.Prim.Consumed
+ Text.Parsec.Prim: instance GHC.Base.Monad (Text.Parsec.Prim.ParsecT s u m)
+ Text.Parsec.Prim: instance GHC.Base.Monad m => Text.Parsec.Prim.Stream Data.ByteString.Internal.ByteString m GHC.Types.Char
+ Text.Parsec.Prim: instance GHC.Base.Monad m => Text.Parsec.Prim.Stream Data.ByteString.Lazy.Internal.ByteString m GHC.Types.Char
+ Text.Parsec.Prim: instance GHC.Base.Monad m => Text.Parsec.Prim.Stream Data.Text.Internal.Lazy.Text m GHC.Types.Char
+ Text.Parsec.Prim: instance GHC.Base.Monad m => Text.Parsec.Prim.Stream Data.Text.Internal.Text m GHC.Types.Char
+ Text.Parsec.Prim: instance GHC.Base.Monad m => Text.Parsec.Prim.Stream [tok] m tok
+ Text.Parsec.Prim: instance GHC.Base.MonadPlus (Text.Parsec.Prim.ParsecT s u m)
+ Text.Parsec.Token: [angles] :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m a
+ Text.Parsec.Token: [braces] :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m a
+ Text.Parsec.Token: [brackets] :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m a
+ Text.Parsec.Token: [caseSensitive] :: GenLanguageDef s u m -> Bool
+ Text.Parsec.Token: [charLiteral] :: GenTokenParser s u m -> ParsecT s u m Char
+ Text.Parsec.Token: [colon] :: GenTokenParser s u m -> ParsecT s u m String
+ Text.Parsec.Token: [commaSep1] :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m [a]
+ Text.Parsec.Token: [commaSep] :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m [a]
+ Text.Parsec.Token: [comma] :: GenTokenParser s u m -> ParsecT s u m String
+ Text.Parsec.Token: [commentEnd] :: GenLanguageDef s u m -> String
+ Text.Parsec.Token: [commentLine] :: GenLanguageDef s u m -> String
+ Text.Parsec.Token: [commentStart] :: GenLanguageDef s u m -> String
+ Text.Parsec.Token: [decimal] :: GenTokenParser s u m -> ParsecT s u m Integer
+ Text.Parsec.Token: [dot] :: GenTokenParser s u m -> ParsecT s u m String
+ Text.Parsec.Token: [float] :: GenTokenParser s u m -> ParsecT s u m Double
+ Text.Parsec.Token: [hexadecimal] :: GenTokenParser s u m -> ParsecT s u m Integer
+ Text.Parsec.Token: [identLetter] :: GenLanguageDef s u m -> ParsecT s u m Char
+ Text.Parsec.Token: [identStart] :: GenLanguageDef s u m -> ParsecT s u m Char
+ Text.Parsec.Token: [identifier] :: GenTokenParser s u m -> ParsecT s u m String
+ Text.Parsec.Token: [integer] :: GenTokenParser s u m -> ParsecT s u m Integer
+ Text.Parsec.Token: [lexeme] :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m a
+ Text.Parsec.Token: [naturalOrFloat] :: GenTokenParser s u m -> ParsecT s u m (Either Integer Double)
+ Text.Parsec.Token: [natural] :: GenTokenParser s u m -> ParsecT s u m Integer
+ Text.Parsec.Token: [nestedComments] :: GenLanguageDef s u m -> Bool
+ Text.Parsec.Token: [octal] :: GenTokenParser s u m -> ParsecT s u m Integer
+ Text.Parsec.Token: [opLetter] :: GenLanguageDef s u m -> ParsecT s u m Char
+ Text.Parsec.Token: [opStart] :: GenLanguageDef s u m -> ParsecT s u m Char
+ Text.Parsec.Token: [operator] :: GenTokenParser s u m -> ParsecT s u m String
+ Text.Parsec.Token: [parens] :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m a
+ Text.Parsec.Token: [reservedNames] :: GenLanguageDef s u m -> [String]
+ Text.Parsec.Token: [reservedOpNames] :: GenLanguageDef s u m -> [String]
+ Text.Parsec.Token: [reservedOp] :: GenTokenParser s u m -> String -> ParsecT s u m ()
+ Text.Parsec.Token: [reserved] :: GenTokenParser s u m -> String -> ParsecT s u m ()
+ Text.Parsec.Token: [semiSep1] :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m [a]
+ Text.Parsec.Token: [semiSep] :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m [a]
+ Text.Parsec.Token: [semi] :: GenTokenParser s u m -> ParsecT s u m String
+ Text.Parsec.Token: [squares] :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m a
+ Text.Parsec.Token: [stringLiteral] :: GenTokenParser s u m -> ParsecT s u m String
+ Text.Parsec.Token: [symbol] :: GenTokenParser s u m -> String -> ParsecT s u m String
+ Text.Parsec.Token: [whiteSpace] :: GenTokenParser s u m -> ParsecT s u m ()
+ Text.ParserCombinators.Parsec.Language: [caseSensitive] :: GenLanguageDef s u m -> Bool
+ Text.ParserCombinators.Parsec.Language: [commentEnd] :: GenLanguageDef s u m -> String
+ Text.ParserCombinators.Parsec.Language: [commentLine] :: GenLanguageDef s u m -> String
+ Text.ParserCombinators.Parsec.Language: [commentStart] :: GenLanguageDef s u m -> String
+ Text.ParserCombinators.Parsec.Language: [identLetter] :: GenLanguageDef s u m -> ParsecT s u m Char
+ Text.ParserCombinators.Parsec.Language: [identStart] :: GenLanguageDef s u m -> ParsecT s u m Char
+ Text.ParserCombinators.Parsec.Language: [nestedComments] :: GenLanguageDef s u m -> Bool
+ Text.ParserCombinators.Parsec.Language: [opLetter] :: GenLanguageDef s u m -> ParsecT s u m Char
+ Text.ParserCombinators.Parsec.Language: [opStart] :: GenLanguageDef s u m -> ParsecT s u m Char
+ Text.ParserCombinators.Parsec.Language: [reservedNames] :: GenLanguageDef s u m -> [String]
+ Text.ParserCombinators.Parsec.Language: [reservedOpNames] :: GenLanguageDef s u m -> [String]
+ Text.ParserCombinators.Parsec.Prim: [stateInput] :: State s u -> s
+ Text.ParserCombinators.Parsec.Prim: [statePos] :: State s u -> !SourcePos
+ Text.ParserCombinators.Parsec.Prim: [stateUser] :: State s u -> !u
+ Text.ParserCombinators.Parsec.Token: [angles] :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m a
+ Text.ParserCombinators.Parsec.Token: [braces] :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m a
+ Text.ParserCombinators.Parsec.Token: [brackets] :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m a
+ Text.ParserCombinators.Parsec.Token: [caseSensitive] :: GenLanguageDef s u m -> Bool
+ Text.ParserCombinators.Parsec.Token: [charLiteral] :: GenTokenParser s u m -> ParsecT s u m Char
+ Text.ParserCombinators.Parsec.Token: [colon] :: GenTokenParser s u m -> ParsecT s u m String
+ Text.ParserCombinators.Parsec.Token: [commaSep1] :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m [a]
+ Text.ParserCombinators.Parsec.Token: [commaSep] :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m [a]
+ Text.ParserCombinators.Parsec.Token: [comma] :: GenTokenParser s u m -> ParsecT s u m String
+ Text.ParserCombinators.Parsec.Token: [commentEnd] :: GenLanguageDef s u m -> String
+ Text.ParserCombinators.Parsec.Token: [commentLine] :: GenLanguageDef s u m -> String
+ Text.ParserCombinators.Parsec.Token: [commentStart] :: GenLanguageDef s u m -> String
+ Text.ParserCombinators.Parsec.Token: [decimal] :: GenTokenParser s u m -> ParsecT s u m Integer
+ Text.ParserCombinators.Parsec.Token: [dot] :: GenTokenParser s u m -> ParsecT s u m String
+ Text.ParserCombinators.Parsec.Token: [float] :: GenTokenParser s u m -> ParsecT s u m Double
+ Text.ParserCombinators.Parsec.Token: [hexadecimal] :: GenTokenParser s u m -> ParsecT s u m Integer
+ Text.ParserCombinators.Parsec.Token: [identLetter] :: GenLanguageDef s u m -> ParsecT s u m Char
+ Text.ParserCombinators.Parsec.Token: [identStart] :: GenLanguageDef s u m -> ParsecT s u m Char
+ Text.ParserCombinators.Parsec.Token: [identifier] :: GenTokenParser s u m -> ParsecT s u m String
+ Text.ParserCombinators.Parsec.Token: [integer] :: GenTokenParser s u m -> ParsecT s u m Integer
+ Text.ParserCombinators.Parsec.Token: [lexeme] :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m a
+ Text.ParserCombinators.Parsec.Token: [naturalOrFloat] :: GenTokenParser s u m -> ParsecT s u m (Either Integer Double)
+ Text.ParserCombinators.Parsec.Token: [natural] :: GenTokenParser s u m -> ParsecT s u m Integer
+ Text.ParserCombinators.Parsec.Token: [nestedComments] :: GenLanguageDef s u m -> Bool
+ Text.ParserCombinators.Parsec.Token: [octal] :: GenTokenParser s u m -> ParsecT s u m Integer
+ Text.ParserCombinators.Parsec.Token: [opLetter] :: GenLanguageDef s u m -> ParsecT s u m Char
+ Text.ParserCombinators.Parsec.Token: [opStart] :: GenLanguageDef s u m -> ParsecT s u m Char
+ Text.ParserCombinators.Parsec.Token: [operator] :: GenTokenParser s u m -> ParsecT s u m String
+ Text.ParserCombinators.Parsec.Token: [parens] :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m a
+ Text.ParserCombinators.Parsec.Token: [reservedNames] :: GenLanguageDef s u m -> [String]
+ Text.ParserCombinators.Parsec.Token: [reservedOpNames] :: GenLanguageDef s u m -> [String]
+ Text.ParserCombinators.Parsec.Token: [reservedOp] :: GenTokenParser s u m -> String -> ParsecT s u m ()
+ Text.ParserCombinators.Parsec.Token: [reserved] :: GenTokenParser s u m -> String -> ParsecT s u m ()
+ Text.ParserCombinators.Parsec.Token: [semiSep1] :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m [a]
+ Text.ParserCombinators.Parsec.Token: [semiSep] :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m [a]
+ Text.ParserCombinators.Parsec.Token: [semi] :: GenTokenParser s u m -> ParsecT s u m String
+ Text.ParserCombinators.Parsec.Token: [squares] :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m a
+ Text.ParserCombinators.Parsec.Token: [stringLiteral] :: GenTokenParser s u m -> ParsecT s u m String
+ Text.ParserCombinators.Parsec.Token: [symbol] :: GenTokenParser s u m -> String -> ParsecT s u m String
+ Text.ParserCombinators.Parsec.Token: [whiteSpace] :: GenTokenParser s u m -> ParsecT s u m ()
- Text.Parsec: 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: 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: 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: 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: chainl1 :: Stream s m t => ParsecT s u m a -> ParsecT s u m (a -> a -> a) -> ParsecT s u m a
+ Text.Parsec: chainl1 :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m (a -> a -> a) -> ParsecT s u m a
- Text.Parsec: 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: 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: chainr1 :: Stream s m t => ParsecT s u m a -> ParsecT s u m (a -> a -> a) -> ParsecT s u m a
+ Text.Parsec: chainr1 :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m (a -> a -> a) -> ParsecT s u m a
- Text.Parsec: choice :: Stream s m t => [ParsecT s u m a] -> ParsecT s u m a
+ Text.Parsec: choice :: (Stream s m t) => [ParsecT s u m a] -> ParsecT s u m a
- Text.Parsec: class Monad m => Stream s m t | s -> t
+ Text.Parsec: class (Monad m) => Stream s m t | s -> t
- Text.Parsec: count :: Stream s m t => Int -> ParsecT s u m a -> ParsecT s u m [a]
+ Text.Parsec: count :: (Stream s m t) => Int -> ParsecT s u m a -> ParsecT s u m [a]
- Text.Parsec: endBy :: Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
+ Text.Parsec: endBy :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
- Text.Parsec: endBy1 :: Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
+ Text.Parsec: endBy1 :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
- Text.Parsec: getInput :: Monad m => ParsecT s u m s
+ Text.Parsec: getInput :: (Monad m) => ParsecT s u m s
- Text.Parsec: getParserState :: Monad m => ParsecT s u m (State s u)
+ Text.Parsec: getParserState :: (Monad m) => ParsecT s u m (State s u)
- Text.Parsec: getPosition :: Monad m => ParsecT s u m SourcePos
+ Text.Parsec: getPosition :: (Monad m) => ParsecT s u m SourcePos
- Text.Parsec: getState :: Monad m => ParsecT s u m u
+ Text.Parsec: getState :: (Monad m) => ParsecT s u m u
- Text.Parsec: lookAhead :: Stream s m t => ParsecT s u m a -> ParsecT s u m a
+ Text.Parsec: lookAhead :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m a
- Text.Parsec: many1 :: Stream s m t => ParsecT s u m a -> ParsecT s u m [a]
+ Text.Parsec: many1 :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m [a]
- Text.Parsec: manyTill :: Stream s m t => ParsecT s u m a -> ParsecT s u m end -> ParsecT s u m [a]
+ Text.Parsec: manyTill :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m end -> ParsecT s u m [a]
- Text.Parsec: modifyState :: Monad m => (u -> u) -> ParsecT s u m ()
+ Text.Parsec: modifyState :: (Monad m) => (u -> u) -> ParsecT s u m ()
- Text.Parsec: option :: Stream s m t => a -> ParsecT s u m a -> ParsecT s u m a
+ Text.Parsec: option :: (Stream s m t) => a -> ParsecT s u m a -> ParsecT s u m a
- Text.Parsec: optionMaybe :: Stream s m t => ParsecT s u m a -> ParsecT s u m (Maybe a)
+ Text.Parsec: optionMaybe :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m (Maybe a)
- Text.Parsec: optional :: Stream s m t => ParsecT s u m a -> ParsecT s u m ()
+ Text.Parsec: optional :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m ()
- Text.Parsec: parse :: Stream s Identity t => Parsec s () a -> SourceName -> s -> Either ParseError a
+ Text.Parsec: parse :: (Stream s Identity t) => Parsec s () a -> SourceName -> s -> Either ParseError a
- Text.Parsec: putState :: Monad m => u -> ParsecT s u m ()
+ Text.Parsec: putState :: (Monad m) => u -> ParsecT s u m ()
- Text.Parsec: runP :: Stream s Identity t => Parsec s u a -> u -> SourceName -> s -> Either ParseError a
+ Text.Parsec: runP :: (Stream s Identity t) => Parsec s u a -> u -> SourceName -> s -> Either ParseError a
- Text.Parsec: runPT :: Stream s m t => ParsecT s u m a -> u -> SourceName -> s -> m (Either ParseError a)
+ Text.Parsec: runPT :: (Stream s m t) => ParsecT s u m a -> u -> SourceName -> s -> m (Either ParseError a)
- Text.Parsec: runParser :: Stream s Identity t => Parsec s u a -> u -> SourceName -> s -> Either ParseError a
+ Text.Parsec: runParser :: (Stream s Identity t) => Parsec s u a -> u -> SourceName -> s -> Either ParseError a
- Text.Parsec: runParserT :: Stream s m t => ParsecT s u m a -> u -> SourceName -> s -> m (Either ParseError a)
+ Text.Parsec: runParserT :: (Stream s m t) => ParsecT s u m a -> u -> SourceName -> s -> m (Either ParseError a)
- Text.Parsec: sepBy :: Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
+ Text.Parsec: sepBy :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
- Text.Parsec: sepBy1 :: Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
+ Text.Parsec: sepBy1 :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
- Text.Parsec: sepEndBy :: Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
+ Text.Parsec: sepEndBy :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
- Text.Parsec: sepEndBy1 :: Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
+ Text.Parsec: sepEndBy1 :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
- Text.Parsec: setInput :: Monad m => s -> ParsecT s u m ()
+ Text.Parsec: setInput :: (Monad m) => s -> ParsecT s u m ()
- Text.Parsec: setParserState :: Monad m => State s u -> ParsecT s u m (State s u)
+ Text.Parsec: setParserState :: (Monad m) => State s u -> ParsecT s u m (State s u)
- Text.Parsec: setPosition :: Monad m => SourcePos -> ParsecT s u m ()
+ Text.Parsec: setPosition :: (Monad m) => SourcePos -> ParsecT s u m ()
- Text.Parsec: setState :: Monad m => u -> ParsecT s u m ()
+ Text.Parsec: setState :: (Monad m) => u -> ParsecT s u m ()
- Text.Parsec: skipMany1 :: Stream s m t => ParsecT s u m a -> ParsecT s u m ()
+ Text.Parsec: skipMany1 :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m ()
- Text.Parsec: token :: Stream s Identity t => (t -> String) -> (t -> SourcePos) -> (t -> Maybe a) -> Parsec s u a
+ Text.Parsec: token :: (Stream s Identity t) => (t -> String) -> (t -> SourcePos) -> (t -> Maybe a) -> Parsec s u a
- Text.Parsec: tokenPrim :: Stream s m t => (t -> String) -> (SourcePos -> t -> s -> SourcePos) -> (t -> Maybe a) -> ParsecT s u m a
+ Text.Parsec: tokenPrim :: (Stream s m t) => (t -> String) -> (SourcePos -> t -> s -> SourcePos) -> (t -> Maybe a) -> ParsecT s u m a
- Text.Parsec: 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: 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: unexpected :: Stream s m t => String -> ParsecT s u m a
+ Text.Parsec: unexpected :: (Stream s m t) => String -> ParsecT s u m a
- Text.Parsec: updateState :: Monad m => (u -> u) -> ParsecT s u m ()
+ Text.Parsec: updateState :: (Monad m) => (u -> u) -> ParsecT s u m ()
- Text.Parsec.Char: anyChar :: Stream s m Char => ParsecT s u m Char
+ Text.Parsec.Char: anyChar :: (Stream s m Char) => ParsecT s u m Char
- Text.Parsec.Char: char :: Stream s m Char => Char -> ParsecT s u m Char
+ Text.Parsec.Char: char :: (Stream s m Char) => Char -> ParsecT s u m Char
- Text.Parsec.Char: crlf :: Stream s m Char => ParsecT s u m Char
+ Text.Parsec.Char: crlf :: (Stream s m Char) => ParsecT s u m Char
- Text.Parsec.Char: digit :: Stream s m Char => ParsecT s u m Char
+ Text.Parsec.Char: digit :: (Stream s m Char) => ParsecT s u m Char
- Text.Parsec.Char: endOfLine :: Stream s m Char => ParsecT s u m Char
+ Text.Parsec.Char: endOfLine :: (Stream s m Char) => ParsecT s u m Char
- Text.Parsec.Char: hexDigit :: Stream s m Char => ParsecT s u m Char
+ Text.Parsec.Char: hexDigit :: (Stream s m Char) => ParsecT s u m Char
- Text.Parsec.Char: letter :: Stream s m Char => ParsecT s u m Char
+ Text.Parsec.Char: letter :: (Stream s m Char) => ParsecT s u m Char
- Text.Parsec.Char: lower :: Stream s m Char => ParsecT s u m Char
+ Text.Parsec.Char: lower :: (Stream s m Char) => ParsecT s u m Char
- Text.Parsec.Char: newline :: Stream s m Char => ParsecT s u m Char
+ Text.Parsec.Char: newline :: (Stream s m Char) => ParsecT s u m Char
- Text.Parsec.Char: noneOf :: Stream s m Char => [Char] -> ParsecT s u m Char
+ Text.Parsec.Char: noneOf :: (Stream s m Char) => [Char] -> ParsecT s u m Char
- Text.Parsec.Char: octDigit :: Stream s m Char => ParsecT s u m Char
+ Text.Parsec.Char: octDigit :: (Stream s m Char) => ParsecT s u m Char
- Text.Parsec.Char: oneOf :: Stream s m Char => [Char] -> ParsecT s u m Char
+ Text.Parsec.Char: oneOf :: (Stream s m Char) => [Char] -> ParsecT s u m Char
- Text.Parsec.Char: satisfy :: Stream s m Char => (Char -> Bool) -> ParsecT s u m Char
+ Text.Parsec.Char: satisfy :: (Stream s m Char) => (Char -> Bool) -> ParsecT s u m Char
- Text.Parsec.Char: space :: Stream s m Char => ParsecT s u m Char
+ Text.Parsec.Char: space :: (Stream s m Char) => ParsecT s u m Char
- Text.Parsec.Char: spaces :: Stream s m Char => ParsecT s u m ()
+ Text.Parsec.Char: spaces :: (Stream s m Char) => ParsecT s u m ()
- Text.Parsec.Char: string :: Stream s m Char => String -> ParsecT s u m String
+ Text.Parsec.Char: string :: (Stream s m Char) => String -> ParsecT s u m String
- Text.Parsec.Char: tab :: Stream s m Char => ParsecT s u m Char
+ Text.Parsec.Char: tab :: (Stream s m Char) => ParsecT s u m Char
- Text.Parsec.Char: upper :: Stream s m Char => ParsecT s u m Char
+ Text.Parsec.Char: upper :: (Stream s m Char) => ParsecT s u m Char
- Text.Parsec.Combinator: 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.Combinator: 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.Combinator: 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.Combinator: 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.Combinator: chainl1 :: Stream s m t => ParsecT s u m a -> ParsecT s u m (a -> a -> a) -> ParsecT s u m a
+ Text.Parsec.Combinator: chainl1 :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m (a -> a -> a) -> ParsecT s u m a
- Text.Parsec.Combinator: 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.Combinator: 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.Combinator: chainr1 :: Stream s m t => ParsecT s u m a -> ParsecT s u m (a -> a -> a) -> ParsecT s u m a
+ Text.Parsec.Combinator: chainr1 :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m (a -> a -> a) -> ParsecT s u m a
- Text.Parsec.Combinator: choice :: Stream s m t => [ParsecT s u m a] -> ParsecT s u m a
+ Text.Parsec.Combinator: choice :: (Stream s m t) => [ParsecT s u m a] -> ParsecT s u m a
- Text.Parsec.Combinator: count :: Stream s m t => Int -> ParsecT s u m a -> ParsecT s u m [a]
+ Text.Parsec.Combinator: count :: (Stream s m t) => Int -> ParsecT s u m a -> ParsecT s u m [a]
- Text.Parsec.Combinator: endBy :: Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
+ Text.Parsec.Combinator: endBy :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
- Text.Parsec.Combinator: endBy1 :: Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
+ Text.Parsec.Combinator: endBy1 :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
- Text.Parsec.Combinator: lookAhead :: Stream s m t => ParsecT s u m a -> ParsecT s u m a
+ Text.Parsec.Combinator: lookAhead :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m a
- Text.Parsec.Combinator: many1 :: Stream s m t => ParsecT s u m a -> ParsecT s u m [a]
+ Text.Parsec.Combinator: many1 :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m [a]
- Text.Parsec.Combinator: manyTill :: Stream s m t => ParsecT s u m a -> ParsecT s u m end -> ParsecT s u m [a]
+ Text.Parsec.Combinator: manyTill :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m end -> ParsecT s u m [a]
- Text.Parsec.Combinator: option :: Stream s m t => a -> ParsecT s u m a -> ParsecT s u m a
+ Text.Parsec.Combinator: option :: (Stream s m t) => a -> ParsecT s u m a -> ParsecT s u m a
- Text.Parsec.Combinator: optionMaybe :: Stream s m t => ParsecT s u m a -> ParsecT s u m (Maybe a)
+ Text.Parsec.Combinator: optionMaybe :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m (Maybe a)
- Text.Parsec.Combinator: optional :: Stream s m t => ParsecT s u m a -> ParsecT s u m ()
+ Text.Parsec.Combinator: optional :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m ()
- Text.Parsec.Combinator: sepBy :: Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
+ Text.Parsec.Combinator: sepBy :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
- Text.Parsec.Combinator: sepBy1 :: Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
+ Text.Parsec.Combinator: sepBy1 :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
- Text.Parsec.Combinator: sepEndBy :: Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
+ Text.Parsec.Combinator: sepEndBy :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
- Text.Parsec.Combinator: sepEndBy1 :: Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
+ Text.Parsec.Combinator: sepEndBy1 :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
- Text.Parsec.Combinator: skipMany1 :: Stream s m t => ParsecT s u m a -> ParsecT s u m ()
+ Text.Parsec.Combinator: skipMany1 :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m ()
- Text.Parsec.Expr: buildExpressionParser :: Stream s m t => OperatorTable s u m a -> ParsecT s u m a -> ParsecT s u m a
+ Text.Parsec.Expr: buildExpressionParser :: (Stream s m t) => OperatorTable s u m a -> ParsecT s u m a -> ParsecT s u m a
- Text.Parsec.Perm: (<$$>) :: Stream s Identity tok => (a -> b) -> Parsec s st a -> StreamPermParser s st b
+ Text.Parsec.Perm: (<$$>) :: (Stream s Identity tok) => (a -> b) -> Parsec s st a -> StreamPermParser s st b
- Text.Parsec.Perm: (<$?>) :: Stream s Identity tok => (a -> b) -> (a, Parsec s st a) -> StreamPermParser s st b
+ Text.Parsec.Perm: (<$?>) :: (Stream s Identity tok) => (a -> b) -> (a, Parsec s st a) -> StreamPermParser s st b
- Text.Parsec.Perm: (<|?>) :: Stream s Identity tok => StreamPermParser s st (a -> b) -> (a, Parsec s st a) -> StreamPermParser s st b
+ Text.Parsec.Perm: (<|?>) :: (Stream s Identity tok) => StreamPermParser s st (a -> b) -> (a, Parsec s st a) -> StreamPermParser s st b
- Text.Parsec.Perm: (<||>) :: Stream s Identity tok => StreamPermParser s st (a -> b) -> Parsec s st a -> StreamPermParser s st b
+ Text.Parsec.Perm: (<||>) :: (Stream s Identity tok) => StreamPermParser s st (a -> b) -> Parsec s st a -> StreamPermParser s st b
- Text.Parsec.Perm: permute :: Stream s Identity tok => StreamPermParser s st a -> Parsec s st a
+ Text.Parsec.Perm: permute :: (Stream s Identity tok) => StreamPermParser s st a -> Parsec s st a
- Text.Parsec.Prim: class Monad m => Stream s m t | s -> t
+ Text.Parsec.Prim: class (Monad m) => Stream s m t | s -> t
- Text.Parsec.Prim: getInput :: Monad m => ParsecT s u m s
+ Text.Parsec.Prim: getInput :: (Monad m) => ParsecT s u m s
- Text.Parsec.Prim: getParserState :: Monad m => ParsecT s u m (State s u)
+ Text.Parsec.Prim: getParserState :: (Monad m) => ParsecT s u m (State s u)
- Text.Parsec.Prim: getPosition :: Monad m => ParsecT s u m SourcePos
+ Text.Parsec.Prim: getPosition :: (Monad m) => ParsecT s u m SourcePos
- Text.Parsec.Prim: getState :: Monad m => ParsecT s u m u
+ Text.Parsec.Prim: getState :: (Monad m) => ParsecT s u m u
- Text.Parsec.Prim: lookAhead :: Stream s m t => ParsecT s u m a -> ParsecT s u m a
+ Text.Parsec.Prim: lookAhead :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m a
- Text.Parsec.Prim: modifyState :: Monad m => (u -> u) -> ParsecT s u m ()
+ Text.Parsec.Prim: modifyState :: (Monad m) => (u -> u) -> ParsecT s u m ()
- Text.Parsec.Prim: parse :: Stream s Identity t => Parsec s () a -> SourceName -> s -> Either ParseError a
+ Text.Parsec.Prim: parse :: (Stream s Identity t) => Parsec s () a -> SourceName -> s -> Either ParseError a
- Text.Parsec.Prim: putState :: Monad m => u -> ParsecT s u m ()
+ Text.Parsec.Prim: putState :: (Monad m) => u -> ParsecT s u m ()
- Text.Parsec.Prim: runP :: Stream s Identity t => Parsec s u a -> u -> SourceName -> s -> Either ParseError a
+ Text.Parsec.Prim: runP :: (Stream s Identity t) => Parsec s u a -> u -> SourceName -> s -> Either ParseError a
- Text.Parsec.Prim: runPT :: Stream s m t => ParsecT s u m a -> u -> SourceName -> s -> m (Either ParseError a)
+ Text.Parsec.Prim: runPT :: (Stream s m t) => ParsecT s u m a -> u -> SourceName -> s -> m (Either ParseError a)
- Text.Parsec.Prim: runParser :: Stream s Identity t => Parsec s u a -> u -> SourceName -> s -> Either ParseError a
+ Text.Parsec.Prim: runParser :: (Stream s Identity t) => Parsec s u a -> u -> SourceName -> s -> Either ParseError a
- Text.Parsec.Prim: runParserT :: Stream s m t => ParsecT s u m a -> u -> SourceName -> s -> m (Either ParseError a)
+ Text.Parsec.Prim: runParserT :: (Stream s m t) => ParsecT s u m a -> u -> SourceName -> s -> m (Either ParseError a)
- Text.Parsec.Prim: setInput :: Monad m => s -> ParsecT s u m ()
+ Text.Parsec.Prim: setInput :: (Monad m) => s -> ParsecT s u m ()
- Text.Parsec.Prim: setParserState :: Monad m => State s u -> ParsecT s u m (State s u)
+ Text.Parsec.Prim: setParserState :: (Monad m) => State s u -> ParsecT s u m (State s u)
- Text.Parsec.Prim: setPosition :: Monad m => SourcePos -> ParsecT s u m ()
+ Text.Parsec.Prim: setPosition :: (Monad m) => SourcePos -> ParsecT s u m ()
- Text.Parsec.Prim: setState :: Monad m => u -> ParsecT s u m ()
+ Text.Parsec.Prim: setState :: (Monad m) => u -> ParsecT s u m ()
- Text.Parsec.Prim: token :: Stream s Identity t => (t -> String) -> (t -> SourcePos) -> (t -> Maybe a) -> Parsec s u a
+ Text.Parsec.Prim: token :: (Stream s Identity t) => (t -> String) -> (t -> SourcePos) -> (t -> Maybe a) -> Parsec s u a
- Text.Parsec.Prim: tokenPrim :: Stream s m t => (t -> String) -> (SourcePos -> t -> s -> SourcePos) -> (t -> Maybe a) -> ParsecT s u m a
+ Text.Parsec.Prim: tokenPrim :: (Stream s m t) => (t -> String) -> (SourcePos -> t -> s -> SourcePos) -> (t -> Maybe a) -> ParsecT s u m a
- Text.Parsec.Prim: 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.Prim: 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.Prim: unexpected :: Stream s m t => String -> ParsecT s u m a
+ Text.Parsec.Prim: unexpected :: (Stream s m t) => String -> ParsecT s u m a
- Text.Parsec.Prim: updateState :: Monad m => (u -> u) -> ParsecT s u m ()
+ Text.Parsec.Prim: updateState :: (Monad m) => (u -> u) -> ParsecT s u m ()
- Text.Parsec.Token: makeTokenParser :: Stream s m Char => GenLanguageDef s u m -> GenTokenParser s u m
+ Text.Parsec.Token: makeTokenParser :: (Stream s m Char) => GenLanguageDef s u m -> GenTokenParser s u m
- Text.ParserCombinators.Parsec.Char: anyChar :: Stream s m Char => ParsecT s u m Char
+ Text.ParserCombinators.Parsec.Char: anyChar :: (Stream s m Char) => ParsecT s u m Char
- Text.ParserCombinators.Parsec.Char: char :: Stream s m Char => Char -> ParsecT s u m Char
+ Text.ParserCombinators.Parsec.Char: char :: (Stream s m Char) => Char -> ParsecT s u m Char
- Text.ParserCombinators.Parsec.Char: digit :: Stream s m Char => ParsecT s u m Char
+ Text.ParserCombinators.Parsec.Char: digit :: (Stream s m Char) => ParsecT s u m Char
- Text.ParserCombinators.Parsec.Char: hexDigit :: Stream s m Char => ParsecT s u m Char
+ Text.ParserCombinators.Parsec.Char: hexDigit :: (Stream s m Char) => ParsecT s u m Char
- Text.ParserCombinators.Parsec.Char: letter :: Stream s m Char => ParsecT s u m Char
+ Text.ParserCombinators.Parsec.Char: letter :: (Stream s m Char) => ParsecT s u m Char
- Text.ParserCombinators.Parsec.Char: lower :: Stream s m Char => ParsecT s u m Char
+ Text.ParserCombinators.Parsec.Char: lower :: (Stream s m Char) => ParsecT s u m Char
- Text.ParserCombinators.Parsec.Char: newline :: Stream s m Char => ParsecT s u m Char
+ Text.ParserCombinators.Parsec.Char: newline :: (Stream s m Char) => ParsecT s u m Char
- Text.ParserCombinators.Parsec.Char: noneOf :: Stream s m Char => [Char] -> ParsecT s u m Char
+ Text.ParserCombinators.Parsec.Char: noneOf :: (Stream s m Char) => [Char] -> ParsecT s u m Char
- Text.ParserCombinators.Parsec.Char: octDigit :: Stream s m Char => ParsecT s u m Char
+ Text.ParserCombinators.Parsec.Char: octDigit :: (Stream s m Char) => ParsecT s u m Char
- Text.ParserCombinators.Parsec.Char: oneOf :: Stream s m Char => [Char] -> ParsecT s u m Char
+ Text.ParserCombinators.Parsec.Char: oneOf :: (Stream s m Char) => [Char] -> ParsecT s u m Char
- Text.ParserCombinators.Parsec.Char: satisfy :: Stream s m Char => (Char -> Bool) -> ParsecT s u m Char
+ Text.ParserCombinators.Parsec.Char: satisfy :: (Stream s m Char) => (Char -> Bool) -> ParsecT s u m Char
- Text.ParserCombinators.Parsec.Char: space :: Stream s m Char => ParsecT s u m Char
+ Text.ParserCombinators.Parsec.Char: space :: (Stream s m Char) => ParsecT s u m Char
- Text.ParserCombinators.Parsec.Char: spaces :: Stream s m Char => ParsecT s u m ()
+ Text.ParserCombinators.Parsec.Char: spaces :: (Stream s m Char) => ParsecT s u m ()
- Text.ParserCombinators.Parsec.Char: string :: Stream s m Char => String -> ParsecT s u m String
+ Text.ParserCombinators.Parsec.Char: string :: (Stream s m Char) => String -> ParsecT s u m String
- Text.ParserCombinators.Parsec.Char: tab :: Stream s m Char => ParsecT s u m Char
+ Text.ParserCombinators.Parsec.Char: tab :: (Stream s m Char) => ParsecT s u m Char
- Text.ParserCombinators.Parsec.Char: upper :: Stream s m Char => ParsecT s u m Char
+ Text.ParserCombinators.Parsec.Char: upper :: (Stream s m Char) => ParsecT s u m Char
- Text.ParserCombinators.Parsec.Combinator: 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.ParserCombinators.Parsec.Combinator: 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.ParserCombinators.Parsec.Combinator: chainl :: Stream s m t => ParsecT s u m a -> ParsecT s u m (a -> a -> a) -> a -> ParsecT s u m a
+ Text.ParserCombinators.Parsec.Combinator: chainl :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m (a -> a -> a) -> a -> ParsecT s u m a
- Text.ParserCombinators.Parsec.Combinator: chainl1 :: Stream s m t => ParsecT s u m a -> ParsecT s u m (a -> a -> a) -> ParsecT s u m a
+ Text.ParserCombinators.Parsec.Combinator: chainl1 :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m (a -> a -> a) -> ParsecT s u m a
- Text.ParserCombinators.Parsec.Combinator: chainr :: Stream s m t => ParsecT s u m a -> ParsecT s u m (a -> a -> a) -> a -> ParsecT s u m a
+ Text.ParserCombinators.Parsec.Combinator: chainr :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m (a -> a -> a) -> a -> ParsecT s u m a
- Text.ParserCombinators.Parsec.Combinator: chainr1 :: Stream s m t => ParsecT s u m a -> ParsecT s u m (a -> a -> a) -> ParsecT s u m a
+ Text.ParserCombinators.Parsec.Combinator: chainr1 :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m (a -> a -> a) -> ParsecT s u m a
- Text.ParserCombinators.Parsec.Combinator: choice :: Stream s m t => [ParsecT s u m a] -> ParsecT s u m a
+ Text.ParserCombinators.Parsec.Combinator: choice :: (Stream s m t) => [ParsecT s u m a] -> ParsecT s u m a
- Text.ParserCombinators.Parsec.Combinator: count :: Stream s m t => Int -> ParsecT s u m a -> ParsecT s u m [a]
+ Text.ParserCombinators.Parsec.Combinator: count :: (Stream s m t) => Int -> ParsecT s u m a -> ParsecT s u m [a]
- Text.ParserCombinators.Parsec.Combinator: endBy :: Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
+ Text.ParserCombinators.Parsec.Combinator: endBy :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
- Text.ParserCombinators.Parsec.Combinator: endBy1 :: Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
+ Text.ParserCombinators.Parsec.Combinator: endBy1 :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
- Text.ParserCombinators.Parsec.Combinator: lookAhead :: Stream s m t => ParsecT s u m a -> ParsecT s u m a
+ Text.ParserCombinators.Parsec.Combinator: lookAhead :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m a
- Text.ParserCombinators.Parsec.Combinator: many1 :: Stream s m t => ParsecT s u m a -> ParsecT s u m [a]
+ Text.ParserCombinators.Parsec.Combinator: many1 :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m [a]
- Text.ParserCombinators.Parsec.Combinator: manyTill :: Stream s m t => ParsecT s u m a -> ParsecT s u m end -> ParsecT s u m [a]
+ Text.ParserCombinators.Parsec.Combinator: manyTill :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m end -> ParsecT s u m [a]
- Text.ParserCombinators.Parsec.Combinator: option :: Stream s m t => a -> ParsecT s u m a -> ParsecT s u m a
+ Text.ParserCombinators.Parsec.Combinator: option :: (Stream s m t) => a -> ParsecT s u m a -> ParsecT s u m a
- Text.ParserCombinators.Parsec.Combinator: optionMaybe :: Stream s m t => ParsecT s u m a -> ParsecT s u m (Maybe a)
+ Text.ParserCombinators.Parsec.Combinator: optionMaybe :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m (Maybe a)
- Text.ParserCombinators.Parsec.Combinator: optional :: Stream s m t => ParsecT s u m a -> ParsecT s u m ()
+ Text.ParserCombinators.Parsec.Combinator: optional :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m ()
- Text.ParserCombinators.Parsec.Combinator: sepBy :: Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
+ Text.ParserCombinators.Parsec.Combinator: sepBy :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
- Text.ParserCombinators.Parsec.Combinator: sepBy1 :: Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
+ Text.ParserCombinators.Parsec.Combinator: sepBy1 :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
- Text.ParserCombinators.Parsec.Combinator: sepEndBy :: Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
+ Text.ParserCombinators.Parsec.Combinator: sepEndBy :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
- Text.ParserCombinators.Parsec.Combinator: sepEndBy1 :: Stream s m t => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
+ Text.ParserCombinators.Parsec.Combinator: sepEndBy1 :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
- Text.ParserCombinators.Parsec.Combinator: skipMany1 :: Stream s m t => ParsecT s u m a -> ParsecT s u m ()
+ Text.ParserCombinators.Parsec.Combinator: skipMany1 :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m ()
- Text.ParserCombinators.Parsec.Perm: (<$$>) :: Stream s Identity tok => (a -> b) -> Parsec s st a -> StreamPermParser s st b
+ Text.ParserCombinators.Parsec.Perm: (<$$>) :: (Stream s Identity tok) => (a -> b) -> Parsec s st a -> StreamPermParser s st b
- Text.ParserCombinators.Parsec.Perm: (<$?>) :: Stream s Identity tok => (a -> b) -> (a, Parsec s st a) -> StreamPermParser s st b
+ Text.ParserCombinators.Parsec.Perm: (<$?>) :: (Stream s Identity tok) => (a -> b) -> (a, Parsec s st a) -> StreamPermParser s st b
- Text.ParserCombinators.Parsec.Perm: (<|?>) :: Stream s Identity tok => StreamPermParser s st (a -> b) -> (a, Parsec s st a) -> StreamPermParser s st b
+ Text.ParserCombinators.Parsec.Perm: (<|?>) :: (Stream s Identity tok) => StreamPermParser s st (a -> b) -> (a, Parsec s st a) -> StreamPermParser s st b
- Text.ParserCombinators.Parsec.Perm: (<||>) :: Stream s Identity tok => StreamPermParser s st (a -> b) -> Parsec s st a -> StreamPermParser s st b
+ Text.ParserCombinators.Parsec.Perm: (<||>) :: (Stream s Identity tok) => StreamPermParser s st (a -> b) -> Parsec s st a -> StreamPermParser s st b
- Text.ParserCombinators.Parsec.Perm: permute :: Stream s Identity tok => StreamPermParser s st a -> Parsec s st a
+ Text.ParserCombinators.Parsec.Perm: permute :: (Stream s Identity tok) => StreamPermParser s st a -> Parsec s st a
- Text.ParserCombinators.Parsec.Prim: getInput :: Monad m => ParsecT s u m s
+ Text.ParserCombinators.Parsec.Prim: getInput :: (Monad m) => ParsecT s u m s
- Text.ParserCombinators.Parsec.Prim: getParserState :: Monad m => ParsecT s u m (State s u)
+ Text.ParserCombinators.Parsec.Prim: getParserState :: (Monad m) => ParsecT s u m (State s u)
- Text.ParserCombinators.Parsec.Prim: getPosition :: Monad m => ParsecT s u m SourcePos
+ Text.ParserCombinators.Parsec.Prim: getPosition :: (Monad m) => ParsecT s u m SourcePos
- Text.ParserCombinators.Parsec.Prim: getState :: Monad m => ParsecT s u m u
+ Text.ParserCombinators.Parsec.Prim: getState :: (Monad m) => ParsecT s u m u
- Text.ParserCombinators.Parsec.Prim: parse :: Stream s Identity t => Parsec s () a -> SourceName -> s -> Either ParseError a
+ Text.ParserCombinators.Parsec.Prim: parse :: (Stream s Identity t) => Parsec s () a -> SourceName -> s -> Either ParseError a
- Text.ParserCombinators.Parsec.Prim: setInput :: Monad m => s -> ParsecT s u m ()
+ Text.ParserCombinators.Parsec.Prim: setInput :: (Monad m) => s -> ParsecT s u m ()
- Text.ParserCombinators.Parsec.Prim: setParserState :: Monad m => State s u -> ParsecT s u m (State s u)
+ Text.ParserCombinators.Parsec.Prim: setParserState :: (Monad m) => State s u -> ParsecT s u m (State s u)
- Text.ParserCombinators.Parsec.Prim: setPosition :: Monad m => SourcePos -> ParsecT s u m ()
+ Text.ParserCombinators.Parsec.Prim: setPosition :: (Monad m) => SourcePos -> ParsecT s u m ()
- Text.ParserCombinators.Parsec.Prim: setState :: Monad m => u -> ParsecT s u m ()
+ Text.ParserCombinators.Parsec.Prim: setState :: (Monad m) => u -> ParsecT s u m ()
- Text.ParserCombinators.Parsec.Prim: token :: Stream s Identity t => (t -> String) -> (t -> SourcePos) -> (t -> Maybe a) -> Parsec s u a
+ Text.ParserCombinators.Parsec.Prim: token :: (Stream s Identity t) => (t -> String) -> (t -> SourcePos) -> (t -> Maybe a) -> Parsec s u a
- Text.ParserCombinators.Parsec.Prim: tokenPrim :: Stream s m t => (t -> String) -> (SourcePos -> t -> s -> SourcePos) -> (t -> Maybe a) -> ParsecT s u m a
+ Text.ParserCombinators.Parsec.Prim: tokenPrim :: (Stream s m t) => (t -> String) -> (SourcePos -> t -> s -> SourcePos) -> (t -> Maybe a) -> ParsecT s u m a
- Text.ParserCombinators.Parsec.Prim: 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.ParserCombinators.Parsec.Prim: 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.ParserCombinators.Parsec.Prim: unexpected :: Stream s m t => String -> ParsecT s u m a
+ Text.ParserCombinators.Parsec.Prim: unexpected :: (Stream s m t) => String -> ParsecT s u m a
- Text.ParserCombinators.Parsec.Prim: updateState :: Monad m => (u -> u) -> ParsecT s u m ()
+ Text.ParserCombinators.Parsec.Prim: updateState :: (Monad m) => (u -> u) -> ParsecT s u m ()
- Text.ParserCombinators.Parsec.Token: makeTokenParser :: Stream s m Char => GenLanguageDef s u m -> GenTokenParser s u m
+ Text.ParserCombinators.Parsec.Token: makeTokenParser :: (Stream s m Char) => GenLanguageDef s u m -> GenTokenParser s u m
Files
- CHANGES +10/−0
- Text/Parsec/Error.hs +3/−0
- Text/Parsec/Expr.hs +6/−0
- Text/Parsec/Language.hs +25/−26
- Text/Parsec/Perm.hs +16/−1
- Text/Parsec/Pos.hs +0/−4
- Text/Parsec/Prim.hs +13/−3
- Text/Parsec/Text/Lazy.hs +1/−1
- Text/Parsec/Token.hs +21/−12
- Text/ParserCombinators/Parsec/Expr.hs +1/−0
- parsec.cabal +17/−14
- test/Bugs.hs +2/−0
- test/Bugs/Bug35.hs +40/−0
CHANGES view
@@ -1,3 +1,13 @@+3.1.10++- Most types now have a `Typeable` instance. Some instances are dropped from+ older versions of GHC (sorry about that!).+- The token-parser now rejects Unicode numeric escape sequences for characters+ outside the Unicode range.+- The token-parser now loses less precision when parsing literal doubles.+- Documentation fixes and corrections.+- We no longer test parsec builds on GHC 7.4.+ 3.1.9 - Many and various updates to documentation and package description (inlcuding
Text/Parsec/Error.hs view
@@ -23,6 +23,7 @@ ) where import Data.List ( nub, sort )+import Data.Typeable ( Typeable ) import Text.Parsec.Pos @@ -57,6 +58,7 @@ | UnExpect !String -- @ unexpected something | Expect !String -- @ expecting something | Message !String -- @ raw message+ deriving ( Typeable ) instance Enum Message where fromEnum (SysUnExpect _) = 0@@ -94,6 +96,7 @@ -- instance of the 'Show' and 'Eq' classes. data ParseError = ParseError !SourcePos [Message]+ deriving ( Typeable ) -- | Extracts the source position from the parse error
Text/Parsec/Expr.hs view
@@ -18,6 +18,8 @@ , buildExpressionParser ) where +import Data.Typeable ( Typeable )+ import Text.Parsec.Prim import Text.Parsec.Combinator @@ -31,6 +33,7 @@ data Assoc = AssocNone | AssocLeft | AssocRight+ deriving ( Typeable ) -- | This data type specifies operators that work on values of type @a@. -- An operator is either binary infix or unary prefix or postfix. A@@ -39,6 +42,9 @@ data Operator s u m a = Infix (ParsecT s u m (a -> a -> a)) Assoc | Prefix (ParsecT s u m (a -> a)) | Postfix (ParsecT s u m (a -> a))+#if MIN_VERSION_base(4,7,0)+ deriving ( Typeable )+#endif -- | An @OperatorTable s u m a@ is a list of @Operator s u m a@ -- lists. The list is ordered in descending
Text/Parsec/Language.hs view
@@ -3,14 +3,14 @@ -- Module : Text.Parsec.Language -- Copyright : (c) Daan Leijen 1999-2001, (c) Paolo Martini 2007 -- License : BSD-style (see the LICENSE file)--- +-- -- Maintainer : derek.a.elkins@gmail.com -- Stability : provisional -- Portability : non-portable (uses non-portable module Text.Parsec.Token) -- -- A helper module that defines some language definitions that can be used -- to instantiate a token parser (see "Text.Parsec.Token").--- +-- ----------------------------------------------------------------------------- module Text.Parsec.Language@@ -41,9 +41,9 @@ , commentLine = "--" , nestedComments = True , identStart = letter- , identLetter = alphaNum <|> oneOf "_'"- , opStart = opLetter haskellStyle- , opLetter = oneOf ":!#$%&*+./<=>?@\\^|-~"+ , identLetter = alphaNum <|> oneOf "_'"+ , opStart = opLetter haskellStyle+ , opLetter = oneOf ":!#$%&*+./<=>?@\\^|-~" , reservedOpNames= [] , reservedNames = [] , caseSensitive = True@@ -55,23 +55,22 @@ javaStyle :: LanguageDef st javaStyle = emptyDef- { commentStart = "/*"- , commentEnd = "*/"- , commentLine = "//"- , nestedComments = True- , identStart = letter- , identLetter = alphaNum <|> oneOf "_'"- , reservedNames = []- , reservedOpNames= []+ { commentStart = "/*"+ , commentEnd = "*/"+ , commentLine = "//"+ , nestedComments = True+ , identStart = letter+ , identLetter = alphaNum <|> oneOf "_'"+ , reservedNames = []+ , reservedOpNames= [] , caseSensitive = False- }+ } ----------------------------------------------------------- -- minimal language definition -------------------------------------------------------- --- TODO: This seems wrong--- < This is the most minimal token definition. It is recommended to use+-- | This is the most minimal token definition. It is recommended to use -- this definition as the basis for other definitions. @emptyDef@ has -- no reserved names or operators, is case sensitive and doesn't accept -- comments, identifiers or operators.@@ -106,12 +105,12 @@ haskellDef :: LanguageDef st haskellDef = haskell98Def- { identLetter = identLetter haskell98Def <|> char '#'- , reservedNames = reservedNames haskell98Def ++- ["foreign","import","export","primitive"- ,"_ccall_","_casm_"- ,"forall"- ]+ { identLetter = identLetter haskell98Def <|> char '#'+ , reservedNames = reservedNames haskell98Def +++ ["foreign","import","export","primitive"+ ,"_ccall_","_casm_"+ ,"forall"+ ] } -- | The language definition for the language Haskell98.@@ -143,8 +142,8 @@ mondrianDef :: LanguageDef st mondrianDef = javaStyle- { reservedNames = [ "case", "class", "default", "extends"- , "import", "in", "let", "new", "of", "package"- ]+ { reservedNames = [ "case", "class", "default", "extends"+ , "import", "in", "let", "new", "of", "package"+ ] , caseSensitive = True- }+ }
Text/Parsec/Perm.hs view
@@ -18,7 +18,7 @@ -- ----------------------------------------------------------------------------- -{-# LANGUAGE ExistentialQuantification #-}+{-# LANGUAGE ExistentialQuantification, StandaloneDeriving #-} module Text.Parsec.Perm ( PermParser@@ -32,6 +32,11 @@ import Text.Parsec import Control.Monad.Identity+import Data.Typeable ( Typeable )+#if !(MIN_VERSION_base(4,7,0))+-- For GHC 7.6+import Data.Typeable ( Typeable3 )+#endif infixl 1 <||>, <|?> infixl 2 <$$>, <$?>@@ -119,10 +124,20 @@ -- using 'permute'. data StreamPermParser s st a = Perm (Maybe a) [StreamBranch s st a]+#if MIN_VERSION_base(4,7,0)+ deriving ( Typeable )+#else+deriving instance Typeable3 StreamPermParser+#endif -- type Branch st a = StreamBranch String st a data StreamBranch s st a = forall b. Branch (StreamPermParser s st (b -> a)) (Parsec s st b)+#if MIN_VERSION_base(4,7,0)+ deriving ( Typeable )+#else+deriving instance Typeable3 StreamBranch+#endif -- | The parser @permute perm@ parses a permutation of parser described -- by @perm@. For example, suppose we want to parse a permutation of:
Text/Parsec/Pos.hs view
@@ -22,12 +22,8 @@ , updatePosChar, updatePosString ) where -#ifdef BASE3-import Data.Generics-#else import Data.Data (Data) import Data.Typeable (Typeable)-#endif -- < Source positions: a file name, a line and a column -- upper left is (1,1)
Text/Parsec/Prim.hs view
@@ -13,7 +13,7 @@ ----------------------------------------------------------------------------- {-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies, FlexibleContexts,- UndecidableInstances #-}+ UndecidableInstances, StandaloneDeriving #-} {-# OPTIONS_HADDOCK not-home #-} module Text.Parsec.Prim@@ -72,6 +72,8 @@ import qualified Data.ByteString.Lazy.Char8 as CL import qualified Data.ByteString.Char8 as C +import Data.Typeable ( Typeable )+ import qualified Data.Text as Text import qualified Data.Text.Lazy as TextL @@ -123,6 +125,11 @@ -> (ParseError -> m b) -- empty err -> m b }+#if MIN_VERSION_base(4,7,0)+ deriving ( Typeable )+ -- GHC 7.6 doesn't like deriving instances of Typeabl1 for types with+ -- non-* type-arguments.+#endif -- | Low-level unpacking of the ParsecT type. To run your parser, please look to -- runPT, runP, runParserT, runParser and other such functions.@@ -153,15 +160,18 @@ data Consumed a = Consumed a | Empty !a+ deriving ( Typeable ) data Reply s u a = Ok a !(State s u) ParseError | Error ParseError+ deriving ( Typeable ) data State s u = State { stateInput :: s, statePos :: !SourcePos, stateUser :: !u }+ deriving ( Typeable ) instance Functor Consumed where fmap f (Consumed x) = Consumed (f x)@@ -740,12 +750,12 @@ putState u = do updateParserState $ \s -> s { stateUser = u } return () --- | @updateState f@ applies function @f@ to the user state. Suppose+-- | @modifyState f@ applies function @f@ to the user state. Suppose -- that we want to count identifiers in a source, we could use the user -- state as: -- -- > expr = do{ x <- identifier--- > ; updateState (+1)+-- > ; modifyState (+1) -- > ; return (Id x) -- > }
Text/Parsec/Text/Lazy.hs view
@@ -8,7 +8,7 @@ -- Stability : provisional -- Portability : portable -- --- Convinience definitions for working with lazy 'Text.Text'.+-- Convenience definitions for working with lazy 'Text.Text'. -- -----------------------------------------------------------------------------
Text/Parsec/Token.hs view
@@ -25,6 +25,7 @@ ) where import Data.Char ( isAlpha, toLower, toUpper, isSpace, digitToInt )+import Data.Typeable ( Typeable ) import Data.List ( nub, sort ) import Control.Monad.Identity import Text.Parsec.Prim@@ -98,6 +99,9 @@ caseSensitive :: Bool }+#if MIN_VERSION_base(4,7,0)+ deriving ( Typeable )+#endif ----------------------------------------------------------- -- A first class module: TokenParser@@ -305,6 +309,9 @@ commaSep1 :: forall a . ParsecT s u m a -> ParsecT s u m [a] }+#if MIN_VERSION_base(4,7,0)+ deriving ( Typeable )+#endif ----------------------------------------------------------- -- Given a LanguageDef, create a token parser.@@ -454,7 +461,9 @@ charNum = do{ code <- decimal <|> do{ char 'o'; number 8 octDigit } <|> do{ char 'x'; number 16 hexDigit }- ; return (toEnum (fromInteger code))+ ; if code > 0x10FFFF+ then fail "invalid escape sequence"+ else return (toEnum (fromInteger code)) } charEsc = choice (map parseEsc escMap)@@ -521,31 +530,31 @@ } fractExponent n = do{ fract <- fraction- ; expo <- option 1.0 exponent'- ; return ((fromInteger n + fract)*expo)+ ; expo <- option "" exponent'+ ; readDouble (show n ++ fract ++ expo) } <|> do{ expo <- exponent'- ; return ((fromInteger n)*expo)+ ; readDouble (show n ++ expo) }+ where+ readDouble s =+ case reads s of+ [(x, "")] -> return x+ _ -> parserZero fraction = do{ char '.' ; digits <- many1 digit <?> "fraction"- ; return (foldr op 0.0 digits)+ ; return ('.' : digits) } <?> "fraction"- where- op d f = (f + fromIntegral (digitToInt d))/10.0 exponent' = do{ oneOf "eE"- ; f <- sign+ ; sign' <- fmap (:[]) (oneOf "+-") <|> return "" ; e <- decimal <?> "exponent"- ; return (power (f e))+ ; return ('e' : sign' ++ show e) } <?> "exponent"- where- power e | e < 0 = 1.0/power(-e)- | otherwise = fromInteger (10^e) -- integers and naturals
Text/ParserCombinators/Parsec/Expr.hs view
@@ -23,6 +23,7 @@ import qualified Text.Parsec.Expr as N import Text.ParserCombinators.Parsec(GenParser) +import Data.Typeable ( Typeable ) import Control.Monad.Identity data Operator tok st a = Infix (GenParser tok st (a -> a -> a)) Assoc
parsec.cabal view
@@ -1,5 +1,5 @@ name: parsec-version: 3.1.9+version: 3.1.10 cabal-version: >= 1.8 license: BSD3 license-file: LICENSE@@ -23,10 +23,6 @@ type: git location: https://github.com/aslatter/parsec -flag base4- Description: Use base-4.*- Default: True- library exposed-modules: Text.Parsec,@@ -54,16 +50,22 @@ Text.ParserCombinators.Parsec.Pos, Text.ParserCombinators.Parsec.Prim, Text.ParserCombinators.Parsec.Token- if flag(base4)- build-depends: base >= 4 && < 5- else- build-depends: base >= 3.0.3 && < 4- cpp-options: -DBASE3 - build-depends: mtl, bytestring, text >= 0.2 && < 1.3- extensions: ExistentialQuantification, PolymorphicComponents, MultiParamTypeClasses, FlexibleInstances, FlexibleContexts, DeriveDataTypeable, CPP- ghc-options: -O2+ build-depends:+ base >= 4 && < 5,+ mtl,+ bytestring,+ text >= 0.2 && < 1.3 + extensions:+ ExistentialQuantification,+ PolymorphicComponents,+ MultiParamTypeClasses,+ FlexibleInstances,+ FlexibleContexts,+ DeriveDataTypeable,+ CPP+ Test-Suite tests type: exitcode-stdio-1.0 hs-source-dirs: test@@ -73,11 +75,12 @@ Bugs.Bug2, Bugs.Bug6, Bugs.Bug9,+ Bugs.Bug35, Util build-depends: base, parsec,- HUnit == 1.2.*,+ HUnit >= 1.2 && < 1.4, test-framework >= 0.6 && < 0.9, test-framework-hunit >= 0.2 && < 0.4 ghc-options: -Wall
test/Bugs.hs view
@@ -8,9 +8,11 @@ import qualified Bugs.Bug2 import qualified Bugs.Bug6 import qualified Bugs.Bug9+import qualified Bugs.Bug35 bugs :: [Test] bugs = [ Bugs.Bug2.main , Bugs.Bug6.main , Bugs.Bug9.main+ , Bugs.Bug35.main ]
+ test/Bugs/Bug35.hs view
@@ -0,0 +1,40 @@++module Bugs.Bug35 (main) where++import Text.Parsec+import Text.Parsec.Language+import Text.Parsec.String+import qualified Text.Parsec.Token as Token++import Test.HUnit hiding (Test)+import Test.Framework+import Test.Framework.Providers.HUnit++trickyFloats :: [String]+trickyFloats =+ [ "1.5339794352098402e-118"+ , "2.108934760892056e-59"+ , "2.250634744599241e-19"+ , "5.0e-324"+ , "5.960464477539063e-8"+ , "0.25996181067141905"+ , "0.3572019862807257"+ , "0.46817723004874223"+ , "0.9640035681058178"+ , "4.23808622486133"+ , "4.540362294799751"+ , "5.212384849884261"+ , "13.958257048123212"+ , "32.96176575630599"+ , "38.47735512322269"+ ]++float :: Parser Double+float = Token.float (Token.makeTokenParser emptyDef)++testBatch :: Assertion+testBatch = mapM_ testFloat trickyFloats+ where testFloat x = parse float "" x @?= Right (read x :: Double)++main :: Test+main = testCase "Quality of output of Text.Parsec.Token.float (#35)" testBatch