packages feed

input-parsers 0.2.3.2 → 0.3

raw patch · 7 files changed

+39/−45 lines, 7 filesdep ~monoid-subclassesPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: monoid-subclasses

API changes (from Hackage documentation)

- Text.Parser.Input: type family ParserPosition m;
+ Text.Parser.Input: type ParserInput m;

Files

CHANGELOG.md view
@@ -1,5 +1,15 @@ # Revision history for input-parsers +## 0.3 -- 2022-10-02++* Dropped support for GHC < 8.4+* Incremented the upper bound of the `monoid-subclasses` dependency.+* Added `-Wall` and fixed all warnings.++## 0.2.3.2 -- 2022-03-25++* Incremented the upper bound of the `text` dependency.+ ## 0.2.3.1 -- 2021-11-25  * Incremented the upper bound of the optional `attoparsec` dependency.
input-parsers.cabal view
@@ -1,6 +1,6 @@ cabal-version:       >=1.10 name:                input-parsers-version:             0.2.3.2+version:             0.3 synopsis:            Extension of the parsers library with more capability and efficiency description:                      Extended version of the parsers library, with the additional classes providing more@@ -38,7 +38,7 @@                        Text.Parser.Wrapper   other-modules:       Text.Parser.Internal   build-depends:       base >=4.9 && <5, bytestring >=0.10 && <0.12, text >=1.2 && <2.1,-                       monoid-subclasses >= 1.0 && < 1.2, parsers >= 0.12 && < 0.13,+                       monoid-subclasses >= 1.0 && < 1.3, parsers >= 0.12 && < 0.13,                        transformers >=0.2 && <0.6   if flag(binary)     build-depends: binary     >= 0.7.2    && < 1@@ -48,3 +48,4 @@     build-depends: attoparsec >= 0.12.1.4 && < 0.15, bytestring >= 0.9 && < 0.12, text >= 0.1 && < 2.1   hs-source-dirs:      src   default-language:    Haskell2010+  GHC-options:         -Wall
src/Text/Parser/Deterministic.hs view
@@ -6,8 +6,7 @@  module Text.Parser.Deterministic where -import Control.Applicative (Applicative ((<*>), pure), Alternative ((<|>), many, some), liftA2, optional)-import Control.Arrow (first)+import Control.Applicative (Alternative ((<|>), many, some), liftA2, optional) import Control.Monad (MonadPlus, void) import Control.Monad.Trans.Identity (IdentityT(..)) import Control.Monad.Trans.Reader (ReaderT(..), mapReaderT)@@ -17,17 +16,10 @@ import qualified Control.Monad.Trans.State.Strict as Strict (StateT(StateT)) import qualified Control.Monad.Trans.RWS.Lazy as Lazy (RWST(RWST)) import qualified Control.Monad.Trans.RWS.Strict as Strict (RWST(RWST))-import Data.Functor ((<$>))-import qualified Data.List as List-import Data.Monoid (Monoid, mappend, mempty)-import Data.String (IsString (fromString)) import Text.ParserCombinators.ReadP (ReadP) import qualified Text.ParserCombinators.ReadP as ReadP -import Text.Parser.Char (CharParsing)-import Text.Parser.Combinators (Parsing, count, eof, notFollowedBy, try, unexpected)-import Text.Parser.LookAhead (LookAheadParsing, lookAhead)-import qualified Text.Parser.Char as Char+import Text.Parser.Combinators (Parsing, notFollowedBy, try)  import Text.Parser.Internal (mapLazyWriterT, mapStrictWriterT,                              mapLazyStateT, mapStrictStateT,@@ -35,22 +27,11 @@ import Text.Parser.Wrapper (Lazy(..), Strict(..))  #ifdef MIN_VERSION_attoparsec-import Data.ByteString (ByteString)-import Data.Text (Text)-import qualified Data.ByteString as ByteString-import qualified Data.ByteString.Char8 as ByteString.Char8-import qualified Data.Text as Text- import qualified Data.Attoparsec.ByteString as Attoparsec-import qualified Data.Attoparsec.ByteString.Char8 as Attoparsec.Char8 import qualified Data.Attoparsec.Text as Attoparsec.Text #endif  #ifdef MIN_VERSION_binary-import Data.ByteString (ByteString)-import qualified Data.ByteString as ByteString-import qualified Data.ByteString.Lazy as Lazy- import qualified Data.Binary.Get as Binary #endif 
src/Text/Parser/Input.hs view
@@ -4,6 +4,7 @@ {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE UndecidableInstances #-} {-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}  #if defined (__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ < 802 {-# LANGUAGE TypeSynonymInstances #-}@@ -14,30 +15,26 @@ module Text.Parser.Input (InputParsing(..), InputCharParsing(..), ConsumedInputParsing(..),                           Lazy(..), Strict(..)) where -import Control.Applicative (Applicative ((<*>), pure), Alternative ((<|>), empty), (<**>))+import Control.Applicative (Alternative ((<|>), empty)) import Control.Monad (MonadPlus, void) import Control.Monad.Trans.Class (lift) import Control.Monad.Trans.Identity (IdentityT(..)) import Control.Monad.Trans.Reader (ReaderT(..), mapReaderT)-import qualified Control.Monad.Trans.Writer.Lazy as Lazy (WriterT(WriterT))-import qualified Control.Monad.Trans.Writer.Strict as Strict (WriterT(WriterT))-import qualified Control.Monad.Trans.State.Lazy as Lazy (StateT(StateT))-import qualified Control.Monad.Trans.State.Strict as Strict (StateT(StateT))-import qualified Control.Monad.Trans.RWS.Lazy as Lazy (RWST(RWST))-import qualified Control.Monad.Trans.RWS.Strict as Strict (RWST(RWST))+import qualified Control.Monad.Trans.Writer.Lazy as Lazy (WriterT)+import qualified Control.Monad.Trans.Writer.Strict as Strict (WriterT)+import qualified Control.Monad.Trans.State.Lazy as Lazy (StateT)+import qualified Control.Monad.Trans.State.Strict as Strict (StateT)+import qualified Control.Monad.Trans.RWS.Lazy as Lazy (RWST)+import qualified Control.Monad.Trans.RWS.Strict as Strict (RWST) import Data.ByteString (ByteString) import qualified Data.ByteString as ByteString import qualified Data.ByteString.Lazy as Lazy-import Data.Functor ((<$>))-import qualified Data.List as List import Data.Ord (Down)-import Data.Monoid (Monoid, (<>))-import Data.String (IsString (fromString)) import Text.ParserCombinators.ReadP (ReadP) import qualified Text.ParserCombinators.ReadP as ReadP  import Text.Parser.Char (CharParsing)-import Text.Parser.Combinators (Parsing, count, eof, notFollowedBy, try, unexpected)+import Text.Parser.Combinators (count, eof, notFollowedBy, try, unexpected) import Text.Parser.LookAhead (LookAheadParsing, lookAhead) import qualified Text.Parser.Char as Char @@ -68,7 +65,7 @@ import qualified Data.Binary.Get as Binary #endif -import Text.Parser.Input.Position (Position, fromEnd, fromStart)+import Text.Parser.Input.Position (fromEnd, fromStart) import Text.Parser.Internal (mapLazyWriterT, mapStrictWriterT,                              mapLazyStateT, mapStrictStateT,                              mapLazyRWST, mapStrictRWST)
src/Text/Parser/Input/Position.hs view
@@ -6,7 +6,6 @@  import Data.Char (isSpace) import Data.String (IsString(fromString))-import Data.Monoid ((<>)) import Data.Ord (Down(Down)) import qualified Data.Monoid.Factorial as Factorial import qualified Data.Monoid.Textual as Textual@@ -32,8 +31,11 @@  instance Position a => Position (Down a) where    distance (Down p1) (Down p2) = distance p2 p1-   move distance (Down p) = Down (move (negate distance) p)+   move dist (Down p) = Down (move (negate dist) p)    offset wholeInput (Down p) = Factorial.length wholeInput - offset wholeInput p+   {-# INLINE distance #-}+   {-# INLINE move #-}+   {-# INLINE offset #-}  -- | Construct a 'Position' given the offset from the beginning of the full input. fromStart :: Int -> Int@@ -59,12 +61,12 @@ -- | Given the full input and an offset within it, returns all the input lines up to and including the offset -- in reverse order, as well as the zero-based column number of the offset lineAndColumn :: (Eq s, IsString s, FactorialMonoid s, Position p) => s -> p -> ([s], Int)-lineAndColumn input pos = context [] (offset input pos) (Factorial.split (== "\n") input)-  where context revLines restCount []+lineAndColumn input pos = go [] (offset input pos) (Factorial.split (== "\n") input)+  where go revLines restCount []           | restCount > 0 = (["Error: the offset is beyond the input length"], -1)           | otherwise = (revLines, restCount)-        context revLines restCount (next:rest)+        go revLines restCount (next:rest)           | restCount' < 0 = (next:revLines, restCount)-          | otherwise = context (next:revLines) restCount' rest+          | otherwise = go (next:revLines) restCount' rest           where nextLength = Factorial.length next                 restCount' = restCount - nextLength - 1
src/Text/Parser/Internal.hs view
@@ -1,6 +1,6 @@ module Text.Parser.Internal where -import Control.Applicative (Applicative, liftA2)+import Control.Applicative (liftA2) import qualified Control.Monad.Trans.Writer.Lazy as Lazy (WriterT(WriterT)) import qualified Control.Monad.Trans.Writer.Strict as Strict (WriterT(WriterT)) import qualified Control.Monad.Trans.State.Lazy as Lazy (StateT(StateT))@@ -32,5 +32,8 @@ mapStrictRWST f (Strict.RWST p) = Strict.RWST (\r-> apply . p r)    where apply m = liftA2 replaceFstOf3 (f $ fstOf3 <$> m) m -fstOf3 (a, b, c) = a+fstOf3 :: (a, b, c) -> a+fstOf3 (a, _, _) = a++replaceFstOf3 :: a -> (x, b, c) -> (a, b, c) replaceFstOf3 a (_, b, c) = (a, b, c)
src/Text/Parser/Wrapper.hs view
@@ -4,7 +4,7 @@  module Text.Parser.Wrapper where -import Control.Applicative (Applicative, Alternative)+import Control.Applicative (Alternative) import Control.Monad (MonadPlus) import Text.Parser.Combinators (Parsing) import Text.Parser.LookAhead (LookAheadParsing)