reflection 1.3 → 1.3.1
raw patch · 3 files changed
+6/−4 lines, 3 filesdep ~base
Dependency ranges changed: base
Files
- CHANGELOG.markdown +3/−0
- fast/Data/Reflection.hs +2/−3
- reflection.cabal +1/−1
CHANGELOG.markdown view
@@ -1,3 +1,6 @@+# 1.3.1+* Added a workaround for changes in the behavior of the internal 'Magic' datatype under the current GHC PolyKinds implementation.+ # 1.3 * Merged some functionality from Data.Analytics.Reflection. Notably the ability to use type nats to reflect numbers, and to splice numbers directly. This reduces orphan instances somewhat.
fast/Data/Reflection.hs view
@@ -89,10 +89,10 @@ -- reified type. reflect :: proxy s -> a -newtype Magic a r = Magic (forall s. Reifies s a => Proxy s -> r)+newtype Magic a r = Magic (forall (s :: *). Reifies s a => Proxy s -> r) -- | Reify a value at the type level, to be recovered with 'reflect'.-reify :: forall a r. a -> (forall s. Reifies s a => Proxy s -> r) -> r+reify :: forall a r. a -> (forall (s :: *). Reifies s a => Proxy s -> r) -> r reify a k = unsafeCoerce (Magic k :: Magic a r) (const a) Proxy {-# INLINE reify #-} @@ -117,7 +117,6 @@ give :: forall a r. a -> (Given a => r) -> r give a k = unsafeCoerce (Gift k :: Gift a r) a {-# INLINE give #-}- data Z -- 0 data D (n :: *) -- 2n
reflection.cabal view
@@ -1,5 +1,5 @@ name: reflection-version: 1.3+version: 1.3.1 license: BSD3 license-file: LICENSE author: Edward A. Kmett, Elliott Hird, Oleg Kiselyov and Chung-chieh Shan