The contravariant analogue of Alt.
If one thinks of f a as a consumer of as, then decide allows one
to handle the consumption of a value by choosing to handle it via
exactly one of two independent consumers. It redirects the input
completely into one of two consumers.
decide takes the "decision" method and the two potential consumers, and returns the wrapped/combined consumer.
Mathematically, a functor being an instance of Decide means that it is
"semigroupoidal" with respect to the contravariant "either-based" Day
convolution (data EitherDay f g a = forall b c. EitherDay (f b) (g c) (a -> Either b c)).
That is, it is possible to define a function (f in a way that is associative.EitherDay f) a ->
f a
Instances26Decide, …
Decide ComparisonDefined in semigroupoids-6.0.1 · Data.Functor.Contravariant.DecideDecide EquivalenceDefined in semigroupoids-6.0.1 · Data.Functor.Contravariant.DecideDecide PredicateDefined in semigroupoids-6.0.1 · Data.Functor.Contravariant.DecideDecidable f => Decide (WrappedDivisible f)Defined in semigroupoids-6.0.1 · Data.Functor.Contravariant.DecideThis instance is only available if the
+contravariantcabalflag is enabled.Decide ProxyDefined in semigroupoids-6.0.1 · Data.Functor.Contravariant.DecideDecide U1Defined in semigroupoids-6.0.1 · Data.Functor.Contravariant.DecideDecide V1Defined in semigroupoids-6.0.1 · Data.Functor.Contravariant.DecideHas no Decidable or
Concludeinstance.Decide (Op r)Defined in semigroupoids-6.0.1 · Data.Functor.Contravariant.DecideUnlike Decidable, requires no constraint on
r.Divise m => Decide (MaybeT m)Defined in semigroupoids-6.0.1 · Data.Functor.Contravariant.DecideDecide f => Decide (Alt f)Defined in semigroupoids-6.0.1 · Data.Functor.Contravariant.DecideDecide f => Decide (Rec1 f)Defined in semigroupoids-6.0.1 · Data.Functor.Contravariant.DecideDecide f => Decide (Backwards f)Defined in semigroupoids-6.0.1 · Data.Functor.Contravariant.DecideDecide f => Decide (IdentityT f)Defined in semigroupoids-6.0.1 · Data.Functor.Contravariant.DecideDecide f => Decide (Reverse f)Defined in semigroupoids-6.0.1 · Data.Functor.Contravariant.DecideDecide m => Decide (ReaderT r m)Defined in semigroupoids-6.0.1 · Data.Functor.Contravariant.DecideDecide m => Decide (StateT s m)Defined in semigroupoids-6.0.1 · Data.Functor.Contravariant.DecideDecide m => Decide (StateT s m)Defined in semigroupoids-6.0.1 · Data.Functor.Contravariant.DecideDecide m => Decide (WriterT w m)Defined in semigroupoids-6.0.1 · Data.Functor.Contravariant.DecideDecide m => Decide (WriterT w m)Defined in semigroupoids-6.0.1 · Data.Functor.Contravariant.Decide(Decide f, Decide g) => Decide (Product f g)Defined in semigroupoids-6.0.1 · Data.Functor.Contravariant.Decide(Decide f, Decide g) => Decide (f :*: g)Defined in semigroupoids-6.0.1 · Data.Functor.Contravariant.DecideDecide f => Decide (M1 i c f)Defined in semigroupoids-6.0.1 · Data.Functor.Contravariant.DecideDecide m => Decide (RWST r w s m)Defined in semigroupoids-6.0.1 · Data.Functor.Contravariant.DecideDecide m => Decide (RWST r w s m)Defined in semigroupoids-6.0.1 · Data.Functor.Contravariant.Decide(Apply f, Decide g) => Decide (Compose f g)Defined in semigroupoids-6.0.1 · Data.Functor.Contravariant.Decide(Apply f, Decide g) => Decide (f :.: g)Defined in semigroupoids-6.0.1 · Data.Functor.Contravariant.Decide