HMap 1.2.7 → 1.3.0
raw patch · 4 files changed
+29/−24 lines, 4 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- Data.HMap: instance Default HMap
- Data.HMap: instance Typeable HMap
+ Data.HMap: infixl 9 \\
+ Data.HMap: instance Data.Default.Class.Default Data.HMap.HMap
- Data.HKey: runKeyT :: Monad m => (forall s. KeyT s m a) -> m a
+ Data.HKey: runKeyT :: forall m a. Monad m => (forall s. KeyT s m a) -> m a
- Data.HKeySet: unions :: [HKeySet] -> HKeySet
+ Data.HKeySet: unions :: Foldable f => f HKeySet -> HKeySet
Files
- ChangeLog +0/−8
- Data/HKeyPrivate.hs +4/−2
- Data/HKeySet.hs +6/−7
- HMap.cabal +19/−7
ChangeLog view
@@ -1,11 +1,3 @@-1.2.7: Fixes space-leak due to weak references (thanks to Piotr Młodawski)--1.2.6: Git pulls from Piotr Młodawski (Typable and Default instances)--1.2.5: Fixed building on older GHC--1.2.4: Added constraint (thanks schell!)- 1.2.3: Fixing exports 1.2.2: Added runKey utility function
Data/HKeyPrivate.hs view
@@ -35,8 +35,10 @@ import Control.Monad.Fix import Data.Hashable +#if !(MIN_VERSION_hashable(1,2,4)) instance Hashable Unique where hashWithSalt n u = n + hashUnique u+#endif {--------------------------------------------------------------------@@ -128,13 +130,13 @@ newtype KeyT s m a = KeyT { getKT :: TermM (GD s m) a } instance Monad m => Functor (KeyT s m) where- fmap f m = m >>= return . f + fmap f m = m >>= return . f instance Monad m => Applicative (KeyT s m) where pure = return f <*> x = do fv <- keyTSplit f; xv <- keyTSplit x; lift (ap fv xv) -instance Monad m =>Monad (KeyT s m) where+instance Monad m => Monad (KeyT s m) where return = KeyT . Return c >>= f = KeyT $ getKT c >>= getKT . f
Data/HKeySet.hs view
@@ -41,13 +41,12 @@ -import Data.Unique-import Data.HKey-import Data.HMap(HMap)-import qualified Data.HMap as S-import qualified Data.List as List-import Data.Foldable hiding (empty,null)-import Prelude hiding (null)+import Data.HKey+import Data.HMap (HMap)+import qualified Data.HMap as S+import qualified Data.List as List+import Data.Unique+import Prelude hiding (null) -- | The type of hetrogenous key sets. newtype HKeySet = HKeySet HMap
HMap.cabal view
@@ -1,7 +1,7 @@ Name: HMap-Version: 1.2.7-Synopsis: Fast heterogeneous maps and unconstrained typeable like functionality.-Description: Fast heterogeneous maps based on Hashmaps and type-able like functionality for type that are not typeable.+Version: 1.3.0+Synopsis: Fast heterogeneous maps and unconstrained typeable-like functionality.+Description: Fast heterogeneous maps based on Hashmaps and typeable-like functionality for types that are not typeable. License: BSD3 License-file: LICENSE Author: Atze van der Ploeg@@ -12,11 +12,23 @@ Data-files: ChangeLog Category: Data, Data Structures Tested-With: GHC==7.6.3+ , GHC==7.10.3 Library- Build-Depends: base >= 2 && <= 6, data-default, unordered-containers >= 0.2, hashable >= 1.2, mtl >= 1.0- Exposed-modules: Data.HMap, Data.HKey, Data.Untypeable, Data.HKeySet- other-modules: Data.HKeyPrivate, Data.HideType- Extensions: RankNTypes, GADTs, CPP, EmptyDataDecls+ Build-Depends: base >= 2 && <= 6+ , data-default+ , unordered-containers >= 0.2+ , hashable >= 1.2+ , mtl >= 1.0+ Exposed-modules: Data.HMap+ , Data.HKey+ , Data.Untypeable+ , Data.HKeySet+ other-modules: Data.HKeyPrivate+ , Data.HideType+ Extensions: RankNTypes+ , GADTs+ , CPP+ , EmptyDataDecls source-repository head type: git