packages feed

vector-th-unbox 0.2.1.5 → 0.2.1.6

raw patch · 2 files changed

+11/−9 lines, 2 filesdep ~basedep ~template-haskell

Dependency ranges changed: base, template-haskell

Files

Data/Vector/Unboxed/Deriving.hs view
@@ -116,18 +116,20 @@         ArrowT `AppT` typ `AppT` rep -> return ([], typ, rep)         _ -> fail "Expecting a type of the form: cxts => typ -> rep" -    s <- VarT <$> newName "s"+    let s = VarT (mkName "s") #if MIN_VERSION_template_haskell(2,11,0)-    let bang = Bang NoSourceUnpackedness NoSourceStrictness+    let lazy = Bang NoSourceUnpackedness NoSourceStrictness # define MAYBE_KIND Nothing+# define MAYBE_OVERLAP Nothing #else-    let bang = NotStrict+    let lazy = NotStrict # define MAYBE_KIND+# define MAYBE_OVERLAP #endif     let newtypeMVector = NewtypeInstD [] ''MVector [s, typ] MAYBE_KIND-            (NormalC mvName [(bang, ConT ''MVector `AppT` s `AppT` rep)]) []+            (NormalC mvName [(lazy, ConT ''MVector `AppT` s `AppT` rep)]) []     let mvCon = ConE mvName-    let instanceMVector = InstanceD cxts+    let instanceMVector = InstanceD MAYBE_OVERLAP cxts             (ConT ''M.MVector `AppT` ConT ''MVector `AppT` typ) $ concat             [ wrap 'M.basicLength           [mv]        id             , wrap 'M.basicUnsafeSlice      [i, n, mv]  (AppE mvCon)@@ -146,9 +148,9 @@             , wrap 'M.basicUnsafeGrow       [mv, n]     (liftE mvCon) ]      let newtypeVector = NewtypeInstD [] ''Vector [typ] MAYBE_KIND-            (NormalC vName [(bang, ConT ''Vector `AppT` rep)]) []+            (NormalC vName [(lazy, ConT ''Vector `AppT` rep)]) []     let vCon  = ConE vName-    let instanceVector = InstanceD cxts+    let instanceVector = InstanceD MAYBE_OVERLAP cxts             (ConT ''G.Vector `AppT` ConT ''Vector `AppT` typ) $ concat             [ wrap 'G.basicUnsafeFreeze     [mv]        (liftE vCon)             , wrap 'G.basicUnsafeThaw       [v]         (liftE mvCon)@@ -158,7 +160,7 @@             , wrap 'G.basicUnsafeCopy       [mv, v]     id             , wrap 'G.elemseq               [v, a]      id ] -    return [ InstanceD cxts (ConT ''Unbox `AppT` typ) []+    return [ InstanceD MAYBE_OVERLAP cxts (ConT ''Unbox `AppT` typ) []         , newtypeMVector, instanceMVector         , newtypeVector, instanceVector ] 
vector-th-unbox.cabal view
@@ -1,5 +1,5 @@ name:           vector-th-unbox-version:        0.2.1.5+version:        0.2.1.6 synopsis:       Deriver for Data.Vector.Unboxed using Template Haskell description:     A Template Haskell deriver for unboxed vectors, given a pair of coercion