packages feed

namespace 0.1.2.2 → 0.1.2.3

raw patch · 2 files changed

+10/−3 lines, 2 filesPVP: minor bump suggested

API additions: PVP suggests at least a minor version bump

API changes (from Hackage documentation)

+ Data.Namespace.Namespace: toTree :: Key k => Namespace k a -> Tree (Maybe k, Maybe a)

Files

namespace.cabal view
@@ -1,5 +1,5 @@ name:                namespace-version:             0.1.2.2+version:             0.1.2.3 synopsis:            A Generic Haskell library for managing namespaces description:         Please see README.md homepage:            https://github.com/xu-hao/namespace
src/Data/Namespace/Namespace.hs view
@@ -3,14 +3,15 @@ module Data.Namespace.Namespace     ( Namespace, lookupNamespace, lookupObject, topLevelObjects, insertObject, insertNamespace, topLevelNamespaces, allObjects,       importFromNamespace, importAllFromNamespace, importExceptFromNamespace,-      importQualifiedFromNamespace, importQualifiedAllFromNamespace, importQualifiedExceptFromNamespace+      importQualifiedFromNamespace, importQualifiedAllFromNamespace, importQualifiedExceptFromNamespace, toTree     ) where  import Prelude hiding (lookup)-import Data.Map.Strict+import Data.Map.Strict (lookup, insert, foldlWithKey, mapKeys, mapWithKey, unionWith, toList, Map, elems) import Data.Monoid import Data.Monoid.Action (act) import Data.Maybe+import Data.Tree import Control.Monad import Control.Applicative @@ -110,3 +111,9 @@                               then om2'                               else insert key o om2') mempty om   return (insertNamespace p om' n2)++toTree :: Key k => Namespace k a -> Tree (Maybe k, Maybe a)+toTree ns =+  toTree' Nothing ns where+    toTree' rk (Namespace nm om) =+      Node (rk, Nothing) (map (\(k ,ns') -> toTree' (Just k) ns') (toList nm) ++ map (\(k, a) -> Node (Just k, Just a) []) (toList om))