head 1.1;
access;
symbols
pkgsrc-2020Q3:1.1.0.6
pkgsrc-2020Q3-base:1.1
pkgsrc-2020Q2:1.1.0.4
pkgsrc-2020Q2-base:1.1
pkgsrc-2020Q1:1.1.0.2
pkgsrc-2020Q1-base:1.1;
locks; strict;
comment @# @;
1.1
date 2020.01.03.04.45.31; author pho; state Exp;
branches;
next ;
commitid XlAmZ2KwQx1DvcRB;
desc
@@
1.1
log
@Import bifunctors-5.5.6 from wip
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.
@
text
@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.
@