vector-th-unbox 0.2.1.4 → 0.2.1.5
raw patch · 2 files changed
+18/−23 lines, 2 files
Files
- Data/Vector/Unboxed/Deriving.hs +13/−22
- vector-th-unbox.cabal +5/−1
Data/Vector/Unboxed/Deriving.hs view
@@ -1,8 +1,12 @@ {-# LANGUAGE CPP #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE RecordWildCards #-}+#if __GLASGOW_HASKELL__ >= 800+{-# LANGUAGE TemplateHaskellQuotes #-}+#else {-# LANGUAGE TemplateHaskell #-}-#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702+#endif+#if __GLASGOW_HASKELL__ >= 702 {-# LANGUAGE Trustworthy #-} #endif {-# LANGUAGE TypeFamilies #-}@@ -113,18 +117,15 @@ _ -> fail "Expecting a type of the form: cxts => typ -> rep" s <- VarT <$> newName "s"- let newtypeMVector = NewtypeInstD [] ''MVector [s, typ] #if MIN_VERSION_template_haskell(2,11,0)- Nothing-#endif- (NormalC mvName [(-#if MIN_VERSION_template_haskell(2,11,0)- Bang NoSourceUnpackedness NoSourceStrictness+ let bang = Bang NoSourceUnpackedness NoSourceStrictness+# define MAYBE_KIND Nothing #else- NotStrict+ let bang = NotStrict+# define MAYBE_KIND #endif- , ConT ''MVector `AppT` s `AppT` rep- )]) []+ let newtypeMVector = NewtypeInstD [] ''MVector [s, typ] MAYBE_KIND+ (NormalC mvName [(bang, ConT ''MVector `AppT` s `AppT` rep)]) [] let mvCon = ConE mvName let instanceMVector = InstanceD cxts (ConT ''M.MVector `AppT` ConT ''MVector `AppT` typ) $ concat@@ -144,18 +145,8 @@ , wrap 'M.basicUnsafeMove [mv, mv'] id , wrap 'M.basicUnsafeGrow [mv, n] (liftE mvCon) ] - let newtypeVector = NewtypeInstD [] ''Vector [typ]-#if MIN_VERSION_template_haskell(2,11,0)- Nothing-#endif- (NormalC vName [(-#if MIN_VERSION_template_haskell(2,11,0)- Bang NoSourceUnpackedness NoSourceStrictness-#else- NotStrict-#endif- , ConT ''Vector `AppT` rep- )]) []+ let newtypeVector = NewtypeInstD [] ''Vector [typ] MAYBE_KIND+ (NormalC vName [(bang, ConT ''Vector `AppT` rep)]) [] let vCon = ConE vName let instanceVector = InstanceD cxts (ConT ''G.Vector `AppT` ConT ''Vector `AppT` typ) $ concat
vector-th-unbox.cabal view
@@ -1,5 +1,5 @@ name: vector-th-unbox-version: 0.2.1.4+version: 0.2.1.5 synopsis: Deriver for Data.Vector.Unboxed using Template Haskell description: A Template Haskell deriver for unboxed vectors, given a pair of coercion@@ -15,6 +15,10 @@ category: Data build-type: Simple cabal-version: >= 1.10+tested-with:+ GHC == 7.4.2, GHC == 7.6.3, GHC == 7.8.4,+ GHC == 7.10.2, GHC == 7.10.3,+ GHC >= 8.0 && < 8.2 source-repository head type: git