memoize 0.8 → 0.8.1
raw patch · 3 files changed
+13/−4 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- memoize.cabal +4/−4
- src/Data/Function/Memoize.hs +3/−0
- src/Data/Function/Memoize/TH.hs +6/−0
memoize.cabal view
@@ -1,15 +1,15 @@ name: memoize-version: 0.8+version: 0.8.1 cabal-version: >= 1.8 license: BSD3 license-file: LICENSE stability: experimental-author: Jesse A. Tov <tov@ccs.neu.edu>-maintainer: tov@ccs.neu.edu+author: Jesse A. Tov <jesse@eecs.northwestern.edu>+maintainer: jesse@eecs.northwestern.edu category: Data synopsis: A memoization library build-type: Simple-tested-with: GHC == 7.4.1, GHC == 7.0.2, GHC == 6.12.3+tested-with: GHC == 7.10.3, GHC == 7.8.4, GHC == 7.6.3 description: This library provides a type class 'Memoizable' for memoizing
src/Data/Function/Memoize.hs view
@@ -1,4 +1,5 @@ {-# LANGUAGE+ CPP, DeriveFunctor, GeneralizedNewtypeDeriving, TemplateHaskell,@@ -32,7 +33,9 @@ deriveMemoizable, deriveMemoizableParams, deriveMemoize, ) where +#if __GLASGOW_HASKELL__ < 710 import Control.Applicative+#endif import Control.Monad import Debug.Trace
src/Data/Function/Memoize/TH.hs view
@@ -12,7 +12,9 @@ deriveMemoizable, deriveMemoizableParams, deriveMemoize, ) where +#if __GLASGOW_HASKELL__ < 710 import Control.Applicative+#endif import Control.Monad import Language.Haskell.TH @@ -167,7 +169,11 @@ -- names to use. buildContext ∷ Maybe [Int] → [TyVarBndr] → [Name] → CxtQ buildContext mindices tvbs tvs =+#if MIN_VERSION_template_haskell(2,10,0)+ cxt (appT (conT ''Memoizable) . varT <$> cxttvs)+#else cxt (classP ''Memoizable . (:[]) . varT <$> cxttvs)+#endif where cxttvs = case mindices of Just ixs → filterBy (`elem` ixs) [1 ..] tvs