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 +4/−0
- hset.cabal +1/−1
- src/Data/HSet.hs +5/−5
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