packages feed

yaml-combinators 1.1.1 → 1.1.1.1

raw patch · 3 files changed

+20/−11 lines, 3 filesdep ~basePVP: minor bump suggested

API additions: PVP suggests at least a minor version bump

Dependency ranges changed: base

API changes (from Hackage documentation)

+ Data.Yaml.Combinators: instance Data.Semigroup.Semigroup (Data.Yaml.Combinators.Parser a)
+ Data.Yaml.Combinators: instance Data.Semigroup.Semigroup (Data.Yaml.Combinators.ParserComponent a fs)

Files

ChangeLog.md view
@@ -1,5 +1,9 @@ # Revision history for yaml-combinators +## 1.1.1.1++Make compatible with GHC 8.4 and drop support for GHC 7.x+ ## 1.1.1  Add `anyValue`, which parses any JSON value
src/Data/Yaml/Combinators.hs view
@@ -43,7 +43,7 @@ import Data.List import Data.Maybe import Data.ByteString (ByteString)-import Data.Monoid ((<>))+import Data.Semigroup (Semigroup((<>))) import qualified Data.ByteString.Char8 as BS8 import Data.Bifunctor (first) import Control.Monad.Trans.Reader@@ -62,7 +62,7 @@  -- $setup -- >>> :set -XOverloadedStrings -XTypeApplications--- >>> import Data.Monoid+-- >>> import Data.Semigroup  -- orphan Value instances deriveGeneric ''Value@@ -193,8 +193,8 @@ -- -- * Construct a 'Parser' with 'string', 'number', 'integer', 'bool', 'array', or 'object'. ----- * Combine two or more 'Parser's with 'Monoid' operators--- such as 'mappend', 'Data.Monoid.<>', or `mconcat` —+-- * Combine two or more 'Parser's with 'Monoid' or 'Semigroup' operators+-- such as 'mappend', '<>', or `mconcat` — -- e.g. if you expect either an object or a string. -- -- * Run with 'parse' or 'runParser'.@@ -207,9 +207,8 @@ instance Functor Parser where   fmap f (Parser comps) = Parser $ hliftA (pcFmap f) comps -instance Monoid (ParserComponent a fs) where-  mempty = ParserComponent Nothing-  ParserComponent mbP1 `mappend` ParserComponent mbP2 =+instance Semigroup (ParserComponent a fs) where+  ParserComponent mbP1 <> ParserComponent mbP2 =     ParserComponent $ case (mbP1, mbP2) of       (Nothing, Nothing) -> Nothing       (Just p1, Nothing) -> Just p1@@ -220,9 +219,16 @@           (_, Right r2) -> Right r2           (Left l1, Left l2) -> Left $ mergeParseError l1 l2 +instance Monoid (ParserComponent a fs) where+  mempty = ParserComponent Nothing+  mappend = (<>)++instance Semigroup (Parser a) where+  Parser rec1 <> Parser rec2 = Parser $ hliftA2 mappend rec1 rec2+ instance Monoid (Parser a) where   mempty = Parser $ hpure mempty-  Parser rec1 `mappend` Parser rec2 = Parser $ hliftA2 mappend rec1 rec2+  mappend = (<>)  -- | A low-level function to run a 'Parser'. runParser :: Parser a -> Value -> Either ParseError a
yaml-combinators.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/  name:                yaml-combinators-version:             1.1.1+version:             1.1.1.1 synopsis:            YAML parsing combinators for improved validation and error reporting description:         Based on the article                      <https://ro-che.info/articles/2015-07-26-better-yaml-parsing Better Yaml Parsing>.@@ -31,7 +31,7 @@   -- other-extensions:   build-depends:     aeson,-    base >= 4.8 && < 5,+    base >= 4.9 && < 5,     bytestring,     generics-sop >= 0.2.5,     scientific,@@ -41,7 +41,6 @@     vector,     yaml   hs-source-dirs:      src-  default-language:    Haskell2010   ghc-options: -Wall -fno-warn-orphans  test-suite test