contravariant-extras 0.3.4 → 0.3.5
raw patch · 3 files changed
+30/−2 lines, 3 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Contravariant.Extras: instance Data.Functor.Contravariant.Divisible.Divisible divisible => Data.Semigroup.Semigroup (Contravariant.Extras.Supplied divisible)
+ Contravariant.Extras: instance Data.Functor.Contravariant.Divisible.Divisible divisible => GHC.Base.Semigroup (Contravariant.Extras.Supplied divisible)
+ Contravariant.Extras.Eliminate: eliminate2 :: Divisible f => (forall x. g x -> f x) -> g a1 -> g a2 -> f (a1, a2)
+ Contravariant.Extras.Eliminate: eliminate3 :: Divisible f => (forall x. g x -> f x) -> g a1 -> g a2 -> g a3 -> f (a1, a2, a3)
+ Contravariant.Extras.Eliminate: eliminate4 :: Divisible f => (forall x. g x -> f x) -> g a1 -> g a2 -> g a3 -> g a4 -> f (a1, a2, a3, a4)
+ Contravariant.Extras.Eliminate: eliminate5 :: Divisible f => (forall x. g x -> f x) -> g a1 -> g a2 -> g a3 -> g a4 -> g a5 -> f (a1, a2, a3, a4, a5)
+ Contravariant.Extras.Eliminate: eliminate6 :: Divisible f => (forall x. g x -> f x) -> g a1 -> g a2 -> g a3 -> g a4 -> g a5 -> g a6 -> f (a1, a2, a3, a4, a5, a6)
+ Contravariant.Extras.Eliminate: eliminate7 :: Divisible f => (forall x. g x -> f x) -> g a1 -> g a2 -> g a3 -> g a4 -> g a5 -> g a6 -> g a7 -> f (a1, a2, a3, a4, a5, a6, a7)
- Contravariant.Extras: Supplied :: !(divisible input) -> !input -> Supplied divisible
+ Contravariant.Extras: Supplied :: !divisible input -> !input -> Supplied divisible
Files
- contravariant-extras.cabal +3/−2
- library/Contravariant/Extras.hs +2/−0
- library/Contravariant/Extras/Eliminate.hs +25/−0
contravariant-extras.cabal view
@@ -1,7 +1,7 @@ name: contravariant-extras version:- 0.3.4+ 0.3.5 category: Control synopsis:@@ -46,10 +46,11 @@ exposed-modules: Contravariant.Extras Contravariant.Extras.Contrazip+ Contravariant.Extras.Eliminate Contravariant.Extras.Op Contravariant.Extras.Op.Contrazip build-depends:- base >= 4 && < 4.12,+ base >= 4 && < 5, tuple-th >= 0.2.5 && < 0.3, template-haskell >= 2.8 && < 3, contravariant >= 1.3 && < 2,
library/Contravariant/Extras.hs view
@@ -3,6 +3,7 @@ -- | -- A berserk collection of @contrazip@ functions with arities of up to 42. module Contravariant.Extras.Contrazip,+ module Contravariant.Extras.Eliminate, (>*<), contramany, Supplied(..),@@ -11,6 +12,7 @@ import BasePrelude hiding ((<>)) import Contravariant.Extras.Contrazip+import Contravariant.Extras.Eliminate import Data.Functor.Contravariant.Divisible import Data.Semigroup (Semigroup ((<>)))
+ library/Contravariant/Extras/Eliminate.hs view
@@ -0,0 +1,25 @@+module Contravariant.Extras.Eliminate where++import BasePrelude+import Contravariant.Extras.Contrazip+import Data.Functor.Contravariant.Divisible+import qualified Contravariant.Extras.TH as TH+++eliminate2 :: Divisible f => (forall x. g x -> f x) -> g a1 -> g a2 -> f (a1, a2)+eliminate2 fn a b = contrazip2 (fn a) (fn b)++eliminate3 :: Divisible f => (forall x. g x -> f x) -> g a1 -> g a2 -> g a3 -> f (a1, a2, a3)+eliminate3 fn a b c = contrazip3 (fn a) (fn b) (fn c)++eliminate4 :: Divisible f => (forall x. g x -> f x) -> g a1 -> g a2 -> g a3 -> g a4 -> f (a1, a2, a3, a4)+eliminate4 fn a b c d = contrazip4 (fn a) (fn b) (fn c) (fn d)++eliminate5 :: Divisible f => (forall x. g x -> f x) -> g a1 -> g a2 -> g a3 -> g a4 -> g a5 -> f (a1, a2, a3, a4, a5)+eliminate5 fn a b c d e = contrazip5 (fn a) (fn b) (fn c) (fn d) (fn e)++eliminate6 :: Divisible f => (forall x. g x -> f x) -> g a1 -> g a2 -> g a3 -> g a4 -> g a5 -> g a6 -> f (a1, a2, a3, a4, a5, a6)+eliminate6 fn a b c d e f = contrazip6 (fn a) (fn b) (fn c) (fn d) (fn e) (fn f)++eliminate7 :: Divisible f => (forall x. g x -> f x) -> g a1 -> g a2 -> g a3 -> g a4 -> g a5 -> g a6 -> g a7 -> f (a1, a2, a3, a4, a5, a6, a7)+eliminate7 fn a b c d e f g = contrazip7 (fn a) (fn b) (fn c) (fn d) (fn e) (fn f) (fn g)