packages feed

picoparsec 0.1.2.1 → 0.1.2.2

raw patch · 8 files changed

+45/−34 lines, 8 filesdep ~basedep ~bytestringdep ~textPVP: minor bump suggested

API additions: PVP suggests at least a minor version bump

Dependency ranges changed: base, bytestring, text

API changes (from Hackage documentation)

+ Data.Picoparsec: satisfyCharInput :: TextualMonoid t => (Char -> Bool) -> Parser t t

Files

Data/Picoparsec.hs view
@@ -1,7 +1,7 @@ {-# LANGUAGE Haskell2010 #-} -- | -- Module      :  Data.Picoparsec--- Copyright   :  Bryan O'Sullivan 2007-2011, Mario Blažević 2014+-- Copyright   :  Bryan O'Sullivan 2007-2011, Mario Blažević 2014-2015 -- License     :  BSD3 -- -- Maintainer  :  Mario Blažević@@ -59,6 +59,7 @@     , I.peekChar     , I.peekChar'     , I.satisfyChar+    , I.satisfyCharInput      -- * Efficient string handling     , I.scan@@ -108,13 +109,15 @@     , I.atEnd     ) where -import Data.Monoid (Monoid)+import Data.Monoid -- (Monoid)  import Data.Picoparsec.Combinator import qualified Data.Picoparsec.Monoid.Internal as I import qualified Data.Picoparsec.Internal as I import Data.Picoparsec.Monoid.Internal (Result, parse) import qualified Data.Picoparsec.Internal.Types as T++import Prelude  -- $parsec --
Data/Picoparsec/Combinator.hs view
@@ -36,17 +36,16 @@     , notFollowedBy     ) where -import Prelude hiding (succ)--import Control.Applicative (Alternative(..), Applicative(..), empty, liftA2,-                            many, (<|>), (*>), (<$>))+import Control.Applicative -- (Alternative(..), Applicative(..), empty, liftA2, many, (<|>), (*>), (<$>)) import Control.Monad (MonadPlus(..))-import Data.Monoid (Monoid(mappend))+import Data.Monoid -- (Monoid(mappend)) import Data.Picoparsec.Internal.Types (Parser(..), IResult(..)) import Data.Picoparsec.Internal (atEnd, endOfInput, lookAhead, notFollowedBy) import Data.ByteString (ByteString) import Data.Text (Text) import qualified Data.Picoparsec.Zepto as Z++import Prelude hiding (succ)  -- | Attempt a parse, and if it fails, rewind the input so that no -- input appears to have been consumed.
Data/Picoparsec/Internal.hs view
@@ -25,12 +25,12 @@     , notFollowedBy     ) where -import Prelude hiding (null)--import Control.Applicative ((<$>))+import Data.Functor -- (<$>) import Data.Picoparsec.Internal.Types-import Data.Monoid (Monoid, mempty, (<>))+import Data.Monoid -- (Monoid, mempty, (<>)) import Data.Monoid.Null (MonoidNull(null))++import Prelude hiding (null)  -- | Compare two 'IResult' values for equality. --
Data/Picoparsec/Internal/Types.hs view
@@ -23,10 +23,12 @@     , addS     ) where -import Control.Applicative (Alternative(..), Applicative(..), (<$>))+import Control.Applicative -- (Alternative(..), Applicative(..), (<$>)) import Control.DeepSeq (NFData(rnf)) import Control.Monad (MonadPlus(..))-import Data.Monoid (Monoid(..), (<>))+import Data.Monoid -- (Monoid(..), (<>))++import Prelude  -- | The result of a parse.  This is parameterised over the type @t@ -- of string that was processed.
Data/Picoparsec/Monoid/Internal.hs view
@@ -40,6 +40,7 @@     , char     , notChar     , satisfyChar+    , satisfyCharInput     , peekChar     , peekChar' @@ -71,14 +72,12 @@     , ensureOne     ) where -import Prelude hiding (getChar, null, span, take, takeWhile)--import Control.Applicative ((<|>), (<$>))+import Control.Applicative -- ((<|>), (<$>)) import Control.Monad (when) import Data.Picoparsec.Combinator import Data.Picoparsec.Internal.Types import Data.Picoparsec.Internal (demandInput, get, prompt, put, wantInput)-import Data.Monoid (Monoid(..), (<>))+import Data.Monoid -- (Monoid(..), (<>)) import Data.Monoid.Cancellative (LeftGCDMonoid(..)) import Data.Monoid.Null (MonoidNull(null)) import qualified Data.Monoid.Factorial as Factorial@@ -88,6 +87,8 @@ import Data.String (IsString(..)) import qualified Data.Picoparsec.Internal.Types as T +import Prelude hiding (getChar, null, span, take, takeWhile)+ type Result = IResult  instance (IsString a, LeftGCDMonoid a, MonoidNull a, a ~ b) => IsString (Parser a b) where@@ -125,12 +126,11 @@   if p first then put rest >> return first else fail "satisfy" {-# INLINE satisfy #-} --- | The parser @satisfy p@ succeeds for any input character for--- which the predicate @p@ returns 'True'. Returns the character that --- is actually parsed.+-- | The parser @satisfyChar p@ succeeds for any input character for which the predicate @p@ returns 'True'. Returns the+-- character that is actually parsed. ----- >digit = satisfy isDigit--- >    where isDigit w = w >= "0" && w <= "9"+-- >digit = satisfyChar isDigit+-- >    where isDigit w = w >= '0' && w <= '9' satisfyChar :: TextualMonoid t => (Char -> Bool) -> Parser t Char satisfyChar p = do   s <- ensureOne@@ -138,6 +138,18 @@      of Just (first, rest) | p first -> put rest >> return first          _ -> fail "satisfy" {-# INLINE satisfyChar #-}++-- | The parser @satisfyCharInput p@ succeeds for any input character for which the predicate @p@ returns+-- 'True'. Returns the parsed input token representing the character. @satisfyCharInput p@ is a faster version of+-- @singleton <$> satisfyChar p@ and of @satisfy (fromMaybe False p . characterPrefix)@.+satisfyCharInput :: TextualMonoid t => (Char -> Bool) -> Parser t t+satisfyCharInput p = do+  s <- ensureOne+  let Just (first, rest) = Factorial.splitPrimePrefix s+  case Textual.characterPrefix first+     of Just c | p c -> put rest >> return first+        _ -> fail "satisfy"+{-# INLINE satisfyCharInput #-}  -- | The parser @skip p@ succeeds for any prime input token for which -- the predicate @p@ returns 'True'.
Data/Picoparsec/Number.hs view
@@ -28,9 +28,7 @@     , scientific     ) where -import Prelude hiding (length)--import Control.Applicative (pure, (*>), (<$>), (<|>))+import Control.Applicative -- (pure, (*>), (<$>), (<|>)) import Control.DeepSeq (NFData(rnf)) import Control.Monad (void, when) import Data.Monoid.Factorial (length)@@ -46,6 +44,8 @@  import Data.Picoparsec (Parser, string) import qualified Data.Picoparsec.Monoid.Internal as I++import Prelude hiding (length)  -- | A numeric type that can represent integers accurately, and -- floating point numbers to the precision of a 'Double'.
Data/Picoparsec/State.hs view
@@ -18,11 +18,13 @@  module Data.Picoparsec.State (getState, putState, modifyState) where -import Data.Functor ((<$>))+import Data.Functor -- ((<$>)) import Data.Monoid.Instances.Stateful (Stateful) import qualified Data.Monoid.Instances.Stateful as Stateful import Data.Picoparsec (Parser) import qualified Data.Picoparsec.Internal as I++import Prelude  -- | Returns the current user state. getState :: Parser (Stateful s t) s
picoparsec.cabal view
@@ -1,5 +1,5 @@ name:            picoparsec-version:         0.1.2.1+version:         0.1.2.2 license:         BSD3 license-file:    LICENSE category:        Text, Parsing@@ -60,7 +60,6 @@    if flag(developer)     ghc-prof-options: -auto-all-    ghc-options: -Werror  test-suite tests   type:           exitcode-stdio-1.0@@ -75,9 +74,6 @@   ghc-options:     -Wall -threaded -rtsopts -  if flag(developer)-    ghc-options: -Werror-   build-depends:     picoparsec,     array,@@ -109,9 +105,6 @@     Numbers     Warp   ghc-options: -O2 -Wall--  if flag(developer)-    ghc-options: -Werror    build-depends:     array,