Split the input between the two argument arrows and combine their
output. Note that this is in general not a functor.
The default definition may be overridden with a more efficient version
if desired.
b ╭─────╮ b'
>───┼─ f ─┼───>
>───┼─ g ─┼───>
c ╰─────╯ c'
Split the input between the two argument arrows and combine their
output. Note that this is in general not a functor.
The default definition may be overridden with a more efficient version
if desired.
Split the input between the two argument arrows and combine their
output. Note that this is in general not a functor.
The default definition may be overridden with a more efficient version
if desired.
the product type constructor (,) is a bifunctor from
Iso $times$ Iso to Iso, so that we have the
bifunctorial map *** which allows two separate isomorphisms to
work on the two components of a tuple.
***$ is the generalisation of Functor's
<$>.
***$ = rmap, just like <$> = fmap.
(You probably won't need to use this. <$> should be
sufficient.)
Since 0.11.1.0: Generalised to work on arbitrary
Profunctors.
**** is the generalisation of Applicative's
<*>.
(You probably won't need to use this except to define
ProductProfunctor instances. In your own code
<*> should be sufficient.)