packages feed

parsec2 1.0.0 → 1.0.1

raw patch · 6 files changed

+63/−53 lines, 6 filesdep ~basePVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: base

API changes (from Hackage documentation)

- Text.ParserCombinators.Parsec.Error: instance Show ParseError
- Text.ParserCombinators.Parsec.Language: caseSensitive :: LanguageDef st -> Bool
- Text.ParserCombinators.Parsec.Language: commentEnd :: LanguageDef st -> String
- Text.ParserCombinators.Parsec.Language: commentLine :: LanguageDef st -> String
- Text.ParserCombinators.Parsec.Language: commentStart :: LanguageDef st -> String
- Text.ParserCombinators.Parsec.Language: identLetter :: LanguageDef st -> CharParser st Char
- Text.ParserCombinators.Parsec.Language: identStart :: LanguageDef st -> CharParser st Char
- Text.ParserCombinators.Parsec.Language: nestedComments :: LanguageDef st -> Bool
- Text.ParserCombinators.Parsec.Language: opLetter :: LanguageDef st -> CharParser st Char
- Text.ParserCombinators.Parsec.Language: opStart :: LanguageDef st -> CharParser st Char
- Text.ParserCombinators.Parsec.Language: reservedNames :: LanguageDef st -> [String]
- Text.ParserCombinators.Parsec.Language: reservedOpNames :: LanguageDef st -> [String]
- Text.ParserCombinators.Parsec.Pos: instance Eq SourcePos
- Text.ParserCombinators.Parsec.Pos: instance Ord SourcePos
- Text.ParserCombinators.Parsec.Pos: instance Show SourcePos
- Text.ParserCombinators.Parsec.Prim: instance Functor (GenParser tok st)
- Text.ParserCombinators.Parsec.Prim: instance Monad (GenParser tok st)
- Text.ParserCombinators.Parsec.Prim: instance MonadPlus (GenParser tok st)
- Text.ParserCombinators.Parsec.Prim: stateInput :: State tok st -> [tok]
- Text.ParserCombinators.Parsec.Prim: statePos :: State tok st -> !SourcePos
- Text.ParserCombinators.Parsec.Prim: stateUser :: State tok st -> !st
- Text.ParserCombinators.Parsec.Token: angles :: TokenParser st -> forall a. CharParser st a -> CharParser st a
- Text.ParserCombinators.Parsec.Token: braces :: TokenParser st -> forall a. CharParser st a -> CharParser st a
- Text.ParserCombinators.Parsec.Token: brackets :: TokenParser st -> forall a. CharParser st a -> CharParser st a
- Text.ParserCombinators.Parsec.Token: caseSensitive :: LanguageDef st -> Bool
- Text.ParserCombinators.Parsec.Token: charLiteral :: TokenParser st -> CharParser st Char
- Text.ParserCombinators.Parsec.Token: colon :: TokenParser st -> CharParser st String
- Text.ParserCombinators.Parsec.Token: comma :: TokenParser st -> CharParser st String
- Text.ParserCombinators.Parsec.Token: commaSep :: TokenParser st -> forall a. CharParser st a -> CharParser st [a]
- Text.ParserCombinators.Parsec.Token: commaSep1 :: TokenParser st -> forall a. CharParser st a -> CharParser st [a]
- Text.ParserCombinators.Parsec.Token: commentEnd :: LanguageDef st -> String
- Text.ParserCombinators.Parsec.Token: commentLine :: LanguageDef st -> String
- Text.ParserCombinators.Parsec.Token: commentStart :: LanguageDef st -> String
- Text.ParserCombinators.Parsec.Token: decimal :: TokenParser st -> CharParser st Integer
- Text.ParserCombinators.Parsec.Token: dot :: TokenParser st -> CharParser st String
- Text.ParserCombinators.Parsec.Token: float :: TokenParser st -> CharParser st Double
- Text.ParserCombinators.Parsec.Token: hexadecimal :: TokenParser st -> CharParser st Integer
- Text.ParserCombinators.Parsec.Token: identLetter :: LanguageDef st -> CharParser st Char
- Text.ParserCombinators.Parsec.Token: identStart :: LanguageDef st -> CharParser st Char
- Text.ParserCombinators.Parsec.Token: identifier :: TokenParser st -> CharParser st String
- Text.ParserCombinators.Parsec.Token: integer :: TokenParser st -> CharParser st Integer
- Text.ParserCombinators.Parsec.Token: lexeme :: TokenParser st -> forall a. CharParser st a -> CharParser st a
- Text.ParserCombinators.Parsec.Token: natural :: TokenParser st -> CharParser st Integer
- Text.ParserCombinators.Parsec.Token: naturalOrFloat :: TokenParser st -> CharParser st (Either Integer Double)
- Text.ParserCombinators.Parsec.Token: nestedComments :: LanguageDef st -> Bool
- Text.ParserCombinators.Parsec.Token: octal :: TokenParser st -> CharParser st Integer
- Text.ParserCombinators.Parsec.Token: opLetter :: LanguageDef st -> CharParser st Char
- Text.ParserCombinators.Parsec.Token: opStart :: LanguageDef st -> CharParser st Char
- Text.ParserCombinators.Parsec.Token: operator :: TokenParser st -> CharParser st String
- Text.ParserCombinators.Parsec.Token: parens :: TokenParser st -> forall a. CharParser st a -> CharParser st a
- Text.ParserCombinators.Parsec.Token: reserved :: TokenParser st -> String -> CharParser st ()
- Text.ParserCombinators.Parsec.Token: reservedNames :: LanguageDef st -> [String]
- Text.ParserCombinators.Parsec.Token: reservedOp :: TokenParser st -> String -> CharParser st ()
- Text.ParserCombinators.Parsec.Token: reservedOpNames :: LanguageDef st -> [String]
- Text.ParserCombinators.Parsec.Token: semi :: TokenParser st -> CharParser st String
- Text.ParserCombinators.Parsec.Token: semiSep :: TokenParser st -> forall a. CharParser st a -> CharParser st [a]
- Text.ParserCombinators.Parsec.Token: semiSep1 :: TokenParser st -> forall a. CharParser st a -> CharParser st [a]
- Text.ParserCombinators.Parsec.Token: squares :: TokenParser st -> forall a. CharParser st a -> CharParser st a
- Text.ParserCombinators.Parsec.Token: stringLiteral :: TokenParser st -> CharParser st String
- Text.ParserCombinators.Parsec.Token: symbol :: TokenParser st -> String -> CharParser st String
- Text.ParserCombinators.Parsec.Token: whiteSpace :: TokenParser st -> CharParser st ()
+ Text.ParserCombinators.Parsec.Error: instance GHC.Show.Show Text.ParserCombinators.Parsec.Error.ParseError
+ Text.ParserCombinators.Parsec.Language: [caseSensitive] :: LanguageDef st -> Bool
+ Text.ParserCombinators.Parsec.Language: [commentEnd] :: LanguageDef st -> String
+ Text.ParserCombinators.Parsec.Language: [commentLine] :: LanguageDef st -> String
+ Text.ParserCombinators.Parsec.Language: [commentStart] :: LanguageDef st -> String
+ Text.ParserCombinators.Parsec.Language: [identLetter] :: LanguageDef st -> CharParser st Char
+ Text.ParserCombinators.Parsec.Language: [identStart] :: LanguageDef st -> CharParser st Char
+ Text.ParserCombinators.Parsec.Language: [nestedComments] :: LanguageDef st -> Bool
+ Text.ParserCombinators.Parsec.Language: [opLetter] :: LanguageDef st -> CharParser st Char
+ Text.ParserCombinators.Parsec.Language: [opStart] :: LanguageDef st -> CharParser st Char
+ Text.ParserCombinators.Parsec.Language: [reservedNames] :: LanguageDef st -> [String]
+ Text.ParserCombinators.Parsec.Language: [reservedOpNames] :: LanguageDef st -> [String]
+ Text.ParserCombinators.Parsec.Pos: instance GHC.Classes.Eq Text.ParserCombinators.Parsec.Pos.SourcePos
+ Text.ParserCombinators.Parsec.Pos: instance GHC.Classes.Ord Text.ParserCombinators.Parsec.Pos.SourcePos
+ Text.ParserCombinators.Parsec.Pos: instance GHC.Show.Show Text.ParserCombinators.Parsec.Pos.SourcePos
+ Text.ParserCombinators.Parsec.Prim: [stateInput] :: State tok st -> [tok]
+ Text.ParserCombinators.Parsec.Prim: [statePos] :: State tok st -> !SourcePos
+ Text.ParserCombinators.Parsec.Prim: [stateUser] :: State tok st -> !st
+ Text.ParserCombinators.Parsec.Prim: instance GHC.Base.Alternative (Text.ParserCombinators.Parsec.Prim.GenParser tok st)
+ Text.ParserCombinators.Parsec.Prim: instance GHC.Base.Applicative (Text.ParserCombinators.Parsec.Prim.GenParser tok st)
+ Text.ParserCombinators.Parsec.Prim: instance GHC.Base.Functor (Text.ParserCombinators.Parsec.Prim.GenParser tok st)
+ Text.ParserCombinators.Parsec.Prim: instance GHC.Base.Monad (Text.ParserCombinators.Parsec.Prim.GenParser tok st)
+ Text.ParserCombinators.Parsec.Prim: instance GHC.Base.MonadPlus (Text.ParserCombinators.Parsec.Prim.GenParser tok st)
+ Text.ParserCombinators.Parsec.Token: [angles] :: TokenParser st -> forall a. CharParser st a -> CharParser st a
+ Text.ParserCombinators.Parsec.Token: [braces] :: TokenParser st -> forall a. CharParser st a -> CharParser st a
+ Text.ParserCombinators.Parsec.Token: [brackets] :: TokenParser st -> forall a. CharParser st a -> CharParser st a
+ Text.ParserCombinators.Parsec.Token: [caseSensitive] :: LanguageDef st -> Bool
+ Text.ParserCombinators.Parsec.Token: [charLiteral] :: TokenParser st -> CharParser st Char
+ Text.ParserCombinators.Parsec.Token: [colon] :: TokenParser st -> CharParser st String
+ Text.ParserCombinators.Parsec.Token: [commaSep1] :: TokenParser st -> forall a. CharParser st a -> CharParser st [a]
+ Text.ParserCombinators.Parsec.Token: [commaSep] :: TokenParser st -> forall a. CharParser st a -> CharParser st [a]
+ Text.ParserCombinators.Parsec.Token: [comma] :: TokenParser st -> CharParser st String
+ Text.ParserCombinators.Parsec.Token: [commentEnd] :: LanguageDef st -> String
+ Text.ParserCombinators.Parsec.Token: [commentLine] :: LanguageDef st -> String
+ Text.ParserCombinators.Parsec.Token: [commentStart] :: LanguageDef st -> String
+ Text.ParserCombinators.Parsec.Token: [decimal] :: TokenParser st -> CharParser st Integer
+ Text.ParserCombinators.Parsec.Token: [dot] :: TokenParser st -> CharParser st String
+ Text.ParserCombinators.Parsec.Token: [float] :: TokenParser st -> CharParser st Double
+ Text.ParserCombinators.Parsec.Token: [hexadecimal] :: TokenParser st -> CharParser st Integer
+ Text.ParserCombinators.Parsec.Token: [identLetter] :: LanguageDef st -> CharParser st Char
+ Text.ParserCombinators.Parsec.Token: [identStart] :: LanguageDef st -> CharParser st Char
+ Text.ParserCombinators.Parsec.Token: [identifier] :: TokenParser st -> CharParser st String
+ Text.ParserCombinators.Parsec.Token: [integer] :: TokenParser st -> CharParser st Integer
+ Text.ParserCombinators.Parsec.Token: [lexeme] :: TokenParser st -> forall a. CharParser st a -> CharParser st a
+ Text.ParserCombinators.Parsec.Token: [naturalOrFloat] :: TokenParser st -> CharParser st (Either Integer Double)
+ Text.ParserCombinators.Parsec.Token: [natural] :: TokenParser st -> CharParser st Integer
+ Text.ParserCombinators.Parsec.Token: [nestedComments] :: LanguageDef st -> Bool
+ Text.ParserCombinators.Parsec.Token: [octal] :: TokenParser st -> CharParser st Integer
+ Text.ParserCombinators.Parsec.Token: [opLetter] :: LanguageDef st -> CharParser st Char
+ Text.ParserCombinators.Parsec.Token: [opStart] :: LanguageDef st -> CharParser st Char
+ Text.ParserCombinators.Parsec.Token: [operator] :: TokenParser st -> CharParser st String
+ Text.ParserCombinators.Parsec.Token: [parens] :: TokenParser st -> forall a. CharParser st a -> CharParser st a
+ Text.ParserCombinators.Parsec.Token: [reservedNames] :: LanguageDef st -> [String]
+ Text.ParserCombinators.Parsec.Token: [reservedOpNames] :: LanguageDef st -> [String]
+ Text.ParserCombinators.Parsec.Token: [reservedOp] :: TokenParser st -> String -> CharParser st ()
+ Text.ParserCombinators.Parsec.Token: [reserved] :: TokenParser st -> String -> CharParser st ()
+ Text.ParserCombinators.Parsec.Token: [semiSep1] :: TokenParser st -> forall a. CharParser st a -> CharParser st [a]
+ Text.ParserCombinators.Parsec.Token: [semiSep] :: TokenParser st -> forall a. CharParser st a -> CharParser st [a]
+ Text.ParserCombinators.Parsec.Token: [semi] :: TokenParser st -> CharParser st String
+ Text.ParserCombinators.Parsec.Token: [squares] :: TokenParser st -> forall a. CharParser st a -> CharParser st a
+ Text.ParserCombinators.Parsec.Token: [stringLiteral] :: TokenParser st -> CharParser st String
+ Text.ParserCombinators.Parsec.Token: [symbol] :: TokenParser st -> String -> CharParser st String
+ Text.ParserCombinators.Parsec.Token: [whiteSpace] :: TokenParser st -> CharParser st ()

Files

− CHANGELOG
@@ -1,9 +0,0 @@-parsec2-1.0.0 (Changes from parsec-2.1.0.1)--Sat Jul 24 12:17:43 CDT 2010  Antoine Latter <aslatter@gmail.com>-  * add dcoumentation done for parsec-3--Wed Jun  9 22:23:52 CDT 2010  Antoine Latter <aslatter@gmail.com>-  * in Parsec.Token, sort names after accounting for case sensitivity, not before-  from: Greg Fitzgerald-
+ CHANGES.md view
@@ -0,0 +1,11 @@+# 1.0.1++* Add instances for `Applicative` and `Alternative`.++# 1.0.0 (Changes from parsec-2.1.0.1)++* Add documentation done for parsec-3++* In Parsec.Token, sort names after accounting for case sensitivity, not before+  (from: Greg Fitzgerald).+
Text/ParserCombinators/Parsec/Language.hs view
@@ -40,9 +40,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                                   @@ -53,16 +53,16 @@ -- sensitivity. It does not define any reserved words or operators. javaStyle  :: LanguageDef st javaStyle   = emptyDef-		{ commentStart	 = "/*"-		, commentEnd	 = "*/"-		, commentLine	 = "//"-		, nestedComments = True-		, identStart	 = letter-		, identLetter	 = alphaNum <|> oneOf "_'"		-		, reservedNames  = []-		, reservedOpNames= []	-                , caseSensitive  = False				  -		}+                { commentStart   = "/*"+                , commentEnd     = "*/"+                , commentLine    = "//"+                , nestedComments = True+                , identStart     = letter+                , identLetter    = alphaNum <|> oneOf "_'"+                , reservedNames  = []+                , reservedOpNames= []+                , caseSensitive  = False+                }  ----------------------------------------------------------- -- minimal language definition@@ -95,14 +95,14 @@ -- | The language definition for the Haskell language. 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. haskell98Def :: LanguageDef st haskell98Def = haskellStyle@@ -129,10 +129,10 @@ -- | The language definition for the language Mondrian. mondrianDef :: LanguageDef st mondrianDef = javaStyle-		{ reservedNames = [ "case", "class", "default", "extends"-				  , "import", "in", "let", "new", "of", "package"-				  ]	-                , caseSensitive  = True				  -		}+                { reservedNames = [ "case", "class", "default", "extends"+                                  , "import", "in", "let", "new", "of", "package"+                                  ]+                , caseSensitive  = True+                } -				+
Text/ParserCombinators/Parsec/Pos.hs view
@@ -35,8 +35,8 @@ -- a column number. @SourcePos@ is an instance of the 'Show', 'Eq' and -- 'Ord' class. data SourcePos      = SourcePos SourceName !Line !Column-		     deriving (Eq,Ord)-		+                    deriving (Eq,Ord)+ -- | Create a new 'SourcePos' with the given source name, -- line number and column number. newPos :: SourceName -> Line -> Column -> SourcePos
Text/ParserCombinators/Parsec/Prim.hs view
@@ -42,6 +42,7 @@ import Prelude import Text.ParserCombinators.Parsec.Pos import Text.ParserCombinators.Parsec.Error+import qualified Control.Applicative as A import Control.Monad  {-# INLINE parsecMap    #-}@@ -145,12 +146,12 @@                         }  -- | Returns the full parser state as a 'State' record.-getParserState	    :: GenParser tok st (State tok st)-getParserState      =  updateParserState id    +getParserState    :: GenParser tok st (State tok st)+getParserState    =  updateParserState id      -- | @setParserState st@ set the full parser state to @st@.-setParserState	    :: State tok st -> GenParser tok st (State tok st)-setParserState st   = updateParserState (const st)+setParserState    :: State tok st -> GenParser tok st (State tok st)+setParserState st = updateParserState (const st)   @@ -254,7 +255,6 @@             Ok x state err -> let fx = f x                                in seq fx (Ok fx state err)             Error err      -> Error err-             ----------------------------------------------------------- -- Monad: return, sequence (>>=) and fail@@ -328,7 +328,6 @@           other             -> other       ) - {-  -- variant that favors a consumed reply over an empty one, even it is not the first alternative.           empty@(Empty reply) -> case reply of@@ -342,6 +341,18 @@                                        consumed    -> consumed           consumed  -> consumed -}++-----------------------------------------------------------+-- Bonus instances+-----------------------------------------------------------++instance A.Applicative (GenParser tok st) where+  pure x = return x+  mf <*> mx = mf `ap` mx++instance A.Alternative (GenParser tok st) where+  empty = mzero+  ma <|> mb = ma `mplus` mb   -- | The parser @try p@ behaves like parser @p@, except that it
parsec2.cabal view
@@ -1,11 +1,12 @@ cabal-version: >= 1.2 name:		parsec2-version:	1.0.0+version:	1.0.1 license:	BSD3 license-file:	LICENSE author:		Daan Leijen <daan@cs.uu.nl> maintainer:	Antoine Latter <aslatter@gmail.com>-homepage:	http://www.cs.uu.nl/~daan/parsec.html+homepage:	https://github.com/aslatter/parsec2+bug-reports:    https://github.com/aslatter/parsec2/issues category:	Parsing synopsis:	Monadic parser combinators description:@@ -17,8 +18,9 @@     This package is a maintained fork of version 2.1 of the parsec     package, intended to preserve its simplicity and portability. build-type:     Simple-extra-source-files: CHANGELOG+extra-source-files: CHANGES.md cabal-version:      >= 1.6+tested-with:    GHC >= 7.6 && < 7.11 library {   exposed-modules:     Text.ParserCombinators.Parsec.Error,@@ -39,11 +41,6 @@   } } source-repository head {-  type:     darcs-  location: http://code.haskell.org/parsec2/parsec2-}-source-repository this {-  type:     darcs-  location: http://code.haskell.org/parsec2/parsec2-  tag:      1.0.0+  type:     git+  location: https://github.com/aslatter/parsec2 }