singletons 0.9.2 → 0.9.3
raw patch · 6 files changed
+27/−6 lines, 6 files
Files
- CHANGES.md +7/−0
- Data/Singletons/Core.hs +1/−1
- Data/Singletons/Eq.hs +15/−1
- Data/Singletons/TH.hs +1/−1
- README.md +1/−1
- singletons.cabal +2/−2
CHANGES.md view
@@ -1,6 +1,13 @@ Changelog for singletons project ================================ +0.9.3+-----++Fix export list of Data.Singletons.TH, again again.++Add `SEq` instances for `Nat` and `Symbol`.+ 0.9.2 -----
Data/Singletons/Core.hs view
@@ -112,7 +112,7 @@ toSing s = SomeSing (SSym s) -- we need to decare SDecide and its instances here to avoid making--- the EqualityT instance an orphan+-- the TestEquality instance an orphan -- | Members of the 'SDecide' "kind" class support decidable equality. Instances -- of this class are generated alongside singleton definitions for datatypes that
Data/Singletons/Eq.hs view
@@ -24,8 +24,11 @@ import Data.Singletons.Bool import Data.Singletons.Singletons import Data.Singletons.Core+import GHC.TypeLits ( Nat, Symbol )+import Unsafe.Coerce -- for TypeLits instances #if __GLASGOW_HASKELL__ >= 707+ import Data.Proxy import Data.Type.Equality @@ -55,7 +58,18 @@ a %:/= b = sNot (a %:== b) #if __GLASGOW_HASKELL__ < 707-$(promoteEqInstances basicTypes)+$(promoteEqInstances basicTypes) -- these instances are in Data.Type.Equality #endif $(singEqInstancesOnly basicTypes)++-- need instances for TypeLits kinds+instance SEq ('KProxy :: KProxy Nat) where+ (SNat a) %:== (SNat b)+ | a == b = unsafeCoerce STrue+ | otherwise = unsafeCoerce SFalse++instance SEq ('KProxy :: KProxy Symbol) where+ (SSym a) %:== (SSym b)+ | a == b = unsafeCoerce STrue+ | otherwise = unsafeCoerce SFalse
Data/Singletons/TH.hs view
@@ -37,7 +37,7 @@ -- | These definitions might be mentioned in code generated by Template Haskell, -- so they must be in scope. - (:==), If, sIf, (:&&), SEq(..), + type (==), (:==), If, sIf, (:&&), SEq(..), Any, SDecide(..), (:~:)(..), Void, Refuted, Decision(..), KProxy(..), SomeSing(..)
README.md view
@@ -1,4 +1,4 @@-singletons 0.9.2+singletons 0.9.3 ================ This is the README file for the singletons library. This file contains all the
singletons.cabal view
@@ -1,5 +1,5 @@ name: singletons-version: 0.9.2+version: 0.9.3 cabal-version: >= 1.10 synopsis: A framework for generating singleton types homepage: http://www.cis.upenn.edu/~eir/packages/singletons@@ -27,7 +27,7 @@ source-repository this type: git location: https://github.com/goldfirere/singletons.git- tag: v0.9.2+ tag: v0.9.3 library build-depends: