contravariant-extras 0.3.2 → 0.3.3
raw patch · 2 files changed
+20/−2 lines, 2 filesdep ~basePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base
API changes (from Hackage documentation)
+ Contravariant.Extras: data Supplied divisible
+ Contravariant.Extras: instance Data.Functor.Contravariant.Divisible.Divisible divisible => GHC.Base.Monoid (Contravariant.Extras.Supplied divisible)
Files
contravariant-extras.cabal view
@@ -1,7 +1,7 @@ name: contravariant-extras version:- 0.3.2+ 0.3.3 category: Control synopsis:@@ -38,7 +38,7 @@ library ghc-options: default-extensions:- Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFunctor, DeriveGeneric, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, ImpredicativeTypes, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples+ Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFoldable, DeriveFunctor, DeriveGeneric, DeriveTraversable, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples default-language: Haskell2010 other-modules:
library/Contravariant/Extras.hs view
@@ -4,6 +4,7 @@ -- A berserk collection of @contrazip@ functions with arities of up to 42. module Contravariant.Extras.Contrazip, contramany,+ Supplied, ) where @@ -29,4 +30,21 @@ divide id f loop nil = conquer++-- |+-- A combination of a divisible functor with some input for it.+-- Allows to use the 'Monoid' API for composition.+data Supplied divisible =+ forall input. Supplied !(divisible input) !input++instance Divisible divisible => Monoid (Supplied divisible) where+ mempty =+ Supplied conquer ()+ mappend (Supplied divisible1 input1) (Supplied divisible2 input2) =+ Supplied divisible3 input3+ where+ divisible3 =+ divide id divisible1 divisible2+ input3 =+ (input1, input2)