summaryrefslogtreecommitdiff
path: root/math/hs-bifunctors/DESCR
blob: 4cf7d351b06f4e314780ced92bc3423cb8775da0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
A bifunctor is a type constructor that takes two type arguments and is
a functor in both arguments. That is, unlike with Functor, a type
constructor such as Either does not need to be partially applied for a
Bifunctor instance, and the methods in this class permit mapping
functions over the Left value or the Right value, or both at the same
time.

Formally, the class Bifunctor represents a bifunctor from Hask ->
Hask.

Intuitively it is a bifunctor where both the first and second
arguments are covariant.

You can define a Bifunctor by either defining bimap or by defining
both first and second.