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 +1/−1
- src/Data/Namespace/Namespace.hs +9/−2
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))