packages feed

namespace 0.1.3.0 → 0.1.4.0

raw patch · 3 files changed

+13/−7 lines, 3 filesdep ~basedep ~monoid-extrasPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: base, monoid-extras

API changes (from Hackage documentation)

+ Data.Namespace.Namespace: instance Data.Namespace.Path.Key k => GHC.Base.Semigroup (Data.Namespace.Namespace.Namespace k a)
+ Data.Namespace.Path: instance Data.Namespace.Path.Key k => GHC.Base.Semigroup (Data.Namespace.Path.NamespacePath k)

Files

namespace.cabal view
@@ -1,13 +1,13 @@ name:                namespace-version:             0.1.3.0+version:             0.1.4.0 synopsis:            A Generic Haskell library for managing namespaces description:         Please see README.md homepage:            https://github.com/xu-hao/namespace license:             BSD3 license-file:        LICENSE author:              Hao Xu-maintainer:          xuh@email.unc.edu-copyright:           2016 Hao Xu+maintainer:          xuh@cs.unc.edu+copyright:           2016-2018 Hao Xu category:            Data build-type:          Simple -- extra-source-files:@@ -16,8 +16,8 @@ library   hs-source-dirs:      src   exposed-modules:     Data.Namespace.Namespace Data.Namespace.Path-  build-depends:       base >= 4.7 && < 5,-                       monoid-extras >= 0.1 && < 0.5,+  build-depends:       base >= 4.9 && < 5,+                       monoid-extras >= 0.5 && < 0.6,                        containers >= 0.5 && < 0.6   default-language:    Haskell2010 
src/Data/Namespace/Namespace.hs view
@@ -13,6 +13,7 @@  import Prelude hiding (lookup) import Data.Map.Strict (lookup, insert, foldlWithKey, mapKeys, mapWithKey, unionWith, toList, Map, elems)+import Data.Semigroup import Data.Monoid import Data.Monoid.Action (act) import Data.Maybe@@ -38,9 +39,11 @@   (Namespace nm om) <- lookupNamespace np n   lookup k om +instance Key k => Semigroup (Namespace k a) where+  (<>) (Namespace nm om) (Namespace nm2 om2) = Namespace (unionWith mappend nm nm2) (om <> om2)+ instance Key k => Monoid (Namespace k a) where   mempty = Namespace mempty mempty-  mappend (Namespace nm om) (Namespace nm2 om2) = Namespace (unionWith mappend nm nm2) (om <> om2)  topLevelObjects :: Key k => Namespace k a -> Map k a topLevelObjects (Namespace _ om) = om
src/Data/Namespace/Path.hs view
@@ -6,6 +6,7 @@  import Prelude hiding (lookup) import Data.Map.Strict+import Data.Semigroup import Data.Monoid import Data.Monoid.Action @@ -30,9 +31,11 @@ extendNamespacePath :: Key k => NamespacePath k -> k -> NamespacePath k extendNamespacePath (NamespacePath p) k = NamespacePath (p <> [k]) +instance Key k => Semigroup (NamespacePath k) where+  (<>) (NamespacePath p1) (NamespacePath p2) = NamespacePath (p1 <> p2)+ instance Key k => Monoid (NamespacePath k) where   mempty = NamespacePath mempty-  mappend (NamespacePath p1) (NamespacePath p2) = NamespacePath (p1 <> p2)  concatNamespacePathWithObjectPath :: Key k => NamespacePath k -> ObjectPath k -> ObjectPath k concatNamespacePathWithObjectPath np (ObjectPath np2 k) = ObjectPath (np <> np2) k