packages feed

euler-tour-tree 0.1.0.1 → 0.1.1.0

raw patch · 2 files changed

+9/−7 lines, 2 filesdep ~basePVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: base

API changes (from Hackage documentation)

- Data.EulerTourTree: instance GHC.Classes.Ord node => Data.FingerTree.Measured (Data.Set.Internal.Set (node, node), Data.Set.Internal.Set node, Data.Monoid.Sum GHC.Types.Int) (Data.EulerTourTree.EulerTourTree node)
+ Data.EulerTourTree: instance GHC.Classes.Ord node => Data.FingerTree.Measured (Data.Set.Internal.Set (node, node), Data.Set.Internal.Set node, Data.Semigroup.Internal.Sum GHC.Types.Int) (Data.EulerTourTree.EulerTourTree node)
+ Data.EulerTourTree: instance GHC.Classes.Ord node => GHC.Base.Semigroup (Data.EulerTourTree.EulerTourMonoid node)

Files

euler-tour-tree.cabal view
@@ -1,11 +1,11 @@ name:                euler-tour-tree-version:             0.1.0.1+version:             0.1.1.0 synopsis:            Euler tour trees -- description:         Cf README file homepage:            https://github.com/k0ral/euler-tour-tree license:             PublicDomain-author:              koral-maintainer:          koral@mailoo.org+author:              chahine.moreau@gmail.com+maintainer:          chahine.moreau@gmail.com category:            Data build-type:          Simple -- extra-source-files:  ChangeLog.md@@ -27,7 +27,7 @@   exposed-modules:     Data.EulerTourTree     -- Data.EulerTourTree.Sized-  build-depends:       base >=4.9 && <4.11, containers, fingertree, mtl, parser-combinators, transformers, Unique+  build-depends:       base >=4.11 && <4.12, containers, fingertree, mtl, parser-combinators, transformers, Unique   hs-source-dirs:      src   default-language:    Haskell2010 
src/Data/EulerTourTree.hs view
@@ -75,14 +75,16 @@  deriving instance Show node => Show (EulerTourMonoid node) -instance Ord node => Monoid (EulerTourMonoid node) where-  mempty = EulerTourMonoid mempty mempty mempty mempty mempty-  EulerTourMonoid a b c d e `mappend` EulerTourMonoid a' b' c' d' e' = result where+instance Ord node => Semigroup (EulerTourMonoid node) where+  EulerTourMonoid a b c d e <> EulerTourMonoid a' b' c' d' e' = result where     result = EulerTourMonoid (a <> a') (b <> bMiddle <> b') (c <> c') (d <> d') (e <> e')     bMiddle = fromMaybe mempty $ do       l <- getLast c       f <- getFirst a'       return $ Set.singleton (min l f, max l f)++instance Ord node => Monoid (EulerTourMonoid node) where+  mempty = EulerTourMonoid mempty mempty mempty mempty mempty  instance Ord node => Measured (EulerTourMonoid node) (EulerTourNode node) where   measure (EulerTourNode node) = EulerTourMonoid (pure node) mempty (pure node) (Set.singleton node) (pure 1)