invariant 0.4 → 0.4.1
raw patch · 6 files changed
+29/−12 lines, 6 filesdep ~template-haskellPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: template-haskell
API changes (from Hackage documentation)
- Data.Functor.Invariant: newtype WrappedBifunctor k k1 (p :: k -> k1 -> *) (a :: k) (b :: k1) :: forall k k1. (k -> k1 -> *) -> k -> k1 -> *
+ Data.Functor.Invariant: newtype WrappedBifunctor k k1 (p :: k1 -> k -> *) (a :: k1) (b :: k) :: forall k k1. (k1 -> k -> *) -> k1 -> k -> *
Files
- CHANGELOG.md +4/−0
- LICENSE +1/−1
- invariant.cabal +14/−7
- src/Data/Functor/Invariant.hs +8/−2
- src/Data/Functor/Invariant/TH.hs +1/−1
- src/Data/Functor/Invariant/TH/Internal.hs +1/−1
CHANGELOG.md view
@@ -1,3 +1,7 @@+# 0.4.1+* Fix the `Invariant V1` instance so as to `seq` its argument+* Allow building with `template-haskell-2.12`+ # 0.4 * Allow TH derivation of `Invariant(2)` instances for datatypes containing unboxed tuple types
LICENSE view
@@ -1,4 +1,4 @@-Copyright (c) 2012-2016, University of Kansas+Copyright (c) 2012-2017, University of Kansas All rights reserved. Redistribution and use in source and binary forms, with or without
invariant.cabal view
@@ -1,7 +1,11 @@ name: invariant-version: 0.4-synopsis: Haskell 98 invariant functors-description: Haskell 98 invariant functors+version: 0.4.1+synopsis: Haskell98 invariant functors+description: Haskell98 invariant functors (also known as exponential functors).+ .+ For more information, see Edward Kmett's article \"Rotten Bananas\":+ .+ <http://comonad.com/reader/2008/rotten-bananas/> category: Control, Data license: BSD3 license-file: LICENSE@@ -18,6 +22,8 @@ , GHC == 7.6.3 , GHC == 7.8.4 , GHC == 7.10.3+ , GHC == 8.0.2+ , GHC == 8.2.1 extra-source-files: CHANGELOG.md, README.md source-repository head@@ -42,7 +48,7 @@ , StateVar >= 1.1 && < 2 , stm >= 2.2 && < 3 , tagged >= 0.7.3 && < 1- , template-haskell >= 2.4 && < 2.12+ , template-haskell >= 2.4 && < 2.13 , transformers >= 0.2 && < 0.6 , transformers-compat >= 0.3 && < 1 , unordered-containers >= 0.2.4 && < 0.3@@ -54,8 +60,9 @@ main-is: Spec.hs other-modules: InvariantSpec THSpec- build-depends: base >= 4 && < 5- , hspec >= 1.8+ build-depends: base >= 4 && < 5+ , hspec >= 1.8 , invariant- , QuickCheck >= 2 && < 3+ , QuickCheck >= 2 && < 3+ , template-haskell >= 2.4 && < 2.13 ghc-options: -Wall
src/Data/Functor/Invariant.hs view
@@ -16,7 +16,7 @@ {-| Module: Data.Functor.Invariant-Copyright: (C) 2012-2016 Nicolas Frisby, (C) 2015-2016 Ryan Scott+Copyright: (C) 2012-2017 Nicolas Frisby, (C) 2015-2017 Ryan Scott License: BSD-style (see the file LICENSE) Maintainer: Ryan Scott Portability: Portable@@ -887,7 +887,7 @@ -- | from "GHC.Generics" instance Invariant V1 where -- NSF 25 July 2015: I'd prefer an -XEmptyCase, but Haskell98.- invmap _ _ _ = error "Invariant V1"+ invmap _ _ x = x `seq` error "Invariant V1" -- | from "GHC.Generics" instance Invariant U1 where invmap _ _ _ = U1 -- | from "GHC.Generics"@@ -912,21 +912,27 @@ invmap f g (Comp1 fgp) = Comp1 $ invmap (invmap f g) (invmap g f) fgp # if __GLASGOW_HASKELL__ >= 800+-- | from "GHC.Generics" instance Invariant UAddr where invmap _ _ (UAddr a) = UAddr a +-- | from "GHC.Generics" instance Invariant UChar where invmap _ _ (UChar c) = UChar c +-- | from "GHC.Generics" instance Invariant UDouble where invmap _ _ (UDouble d) = UDouble d +-- | from "GHC.Generics" instance Invariant UFloat where invmap _ _ (UFloat f) = UFloat f +-- | from "GHC.Generics" instance Invariant UInt where invmap _ _ (UInt i) = UInt i +-- | from "GHC.Generics" instance Invariant UWord where invmap _ _ (UWord w) = UWord w # endif
src/Data/Functor/Invariant/TH.hs view
@@ -2,7 +2,7 @@ {-| Module: Data.Functor.Invariant.TH-Copyright: (C) 2012-2016 Nicolas Frisby, (C) 2015-2016 Ryan Scott+Copyright: (C) 2012-2017 Nicolas Frisby, (C) 2015-2017 Ryan Scott License: BSD-style (see the file LICENSE) Maintainer: Ryan Scott Portability: Template Haskell
src/Data/Functor/Invariant/TH/Internal.hs view
@@ -2,7 +2,7 @@ {-| Module: Data.Functor.Invariant.TH.Internal-Copyright: (C) 2012-2016 Nicolas Frisby, (C) 2015-2016 Ryan Scott+Copyright: (C) 2012-2017 Nicolas Frisby, (C) 2015-2017 Ryan Scott License: BSD-style (see the file LICENSE) Maintainer: Ryan Scott Portability: Template Haskell