packages feed

hset 1.0.0 → 1.0.1

raw patch · 3 files changed

+10/−6 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

CHANGELOG.md view
@@ -1,5 +1,9 @@ # CHANGELOG +## 1.0.1+### Changed+* Grammar nazi fixed horrible bugs+ ## 1.0.0 ### Changed * type family `Contains` renamed to `HGetable` to not clash names with
hset.cabal view
@@ -1,5 +1,5 @@ name:                hset-version:             1.0.0+version:             1.0.1 synopsis:            Primitive heterogenous read-only set license:             BSD3 license-file:        LICENSE
src/Data/HSet.hs view
@@ -19,7 +19,7 @@ import Control.Applicative #endif -{- | Heterogeneous set (list) of elements with unique types. Usefull+{- | Heterogeneous set (list) of elements with unique types. Useful with MonadReader.  >>> let x = HSCons (10 :: Int) $ HSCons (20 :: Double) HSNil@@ -32,7 +32,7 @@ >>> hget x :: Double 20.0 -Note how 'hget' just takes specific element from list of uniqly typed+Note that 'hget' takes specific element from list of uniquely typed elements depending on what type is required to be returned.  -}@@ -64,7 +64,7 @@  -- | Typeclass for sets and elements. class (i ~ (Index e els)) => HGet els e i where-  -- | Get any data from HSet for you+  -- | Gets any data from HSet for you   hget :: HSet els -> e  instance HGet (e ': els) e 'Z where@@ -73,8 +73,8 @@ instance (i ~ (Index e els), ('S i) ~ (Index e (e1 ': els)), HGet els e i) => HGet (e1 ': els) e ('S i) where   hget (HSCons _ els) = hget els --- | Helper typefamily to derive that second argument contained in--- list of first argument and we can perform 'hget' from set.+-- | Enables deriving of the fact that 'e' is contained within 'els' and it's+-- safe to say that 'hget' can be performed on this particular pair. type HGetable els e = HGet els e (Index e els)  hask :: (MonadReader (HSet els) m, HGetable els e) => m e