boomerang 1.4.5.4 → 1.4.5.5
raw patch · 2 files changed
+9/−5 lines, 2 filesdep +semigroupsdep ~basePVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependencies added: semigroups
Dependency ranges changed: base
API changes (from Hackage documentation)
+ Text.Boomerang.Prim: instance Data.Semigroup.Semigroup (Text.Boomerang.Prim.Boomerang e tok a b)
- Text.Boomerang.Combinators: rLeft :: forall tok e r a_a8m1 b_a8m2. Boomerang e tok ((:-) a_a8m1 r) ((:-) (Either a_a8m1 b_a8m2) r)
+ Text.Boomerang.Combinators: rLeft :: forall tok e r a_a8KS b_a8KT. Boomerang e tok ((:-) a_a8KS r) ((:-) (Either a_a8KS b_a8KT) r)
- Text.Boomerang.Combinators: rRight :: forall tok e r a_a8m1 b_a8m2. Boomerang e tok ((:-) b_a8m2 r) ((:-) (Either a_a8m1 b_a8m2) r)
+ Text.Boomerang.Combinators: rRight :: forall tok e r a_a8KS b_a8KT. Boomerang e tok ((:-) b_a8KT r) ((:-) (Either a_a8KS b_a8KT) r)
Files
- Text/Boomerang/Prim.hs +7/−4
- boomerang.cabal +2/−1
Text/Boomerang/Prim.hs view
@@ -19,6 +19,7 @@ import Data.Either (partitionEithers) import Data.Function (on) import Data.Monoid (Monoid(mappend, mempty))+import qualified Data.Semigroup as SG import Text.Boomerang.HStack ((:-)(..), hdMap, hdTraverse) import Text.Boomerang.Pos (ErrorPosition(..), InitialPosition(..), Pos) @@ -116,14 +117,16 @@ (composeP (.) pf pg) (compose (.) sf sg) +instance SG.Semigroup (Boomerang e tok a b) where+ ~(Boomerang pf sf) <> ~(Boomerang pg sg) = Boomerang+ (pf `mplus` pg)+ (\s -> sf s `mplus` sg s)+ instance Monoid (Boomerang e tok a b) where mempty = Boomerang mzero (const mzero)-- ~(Boomerang pf sf) `mappend` ~(Boomerang pg sg) = Boomerang- (pf `mplus` pg)- (\s -> sf s `mplus` sg s)+ mappend = (SG.<>) infixr 9 .~ -- | Reverse composition, but with the side effects still in left-to-right order.
boomerang.cabal view
@@ -1,5 +1,5 @@ Name: boomerang-Version: 1.4.5.4+Version: 1.4.5.5 License: BSD3 License-File: LICENSE Author: jeremy@seereason.com@@ -15,6 +15,7 @@ Library Build-Depends: base >= 4 && < 5, mtl >= 2.0 && < 2.3,+ semigroups >= 0.16 && < 0.19, template-haskell < 2.14, text >= 0.11 && < 1.3 Exposed-Modules: Text.Boomerang