Documentation Index
Fetch the complete documentation index at: https://docs.canton.network/llms.txt
Use this file to discover all available pages before exploring further.
DA.Bifunctor
Module Snapshot
Lifecycle
Stable.
Notices
Status:
active
Introduced in: 3.4.9
Removed in: -
Warnings: 0
Deprecations: 0
Deprecated since: -Typeclasses
class Bifunctor p
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.
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.
If you supply bimap, you should ensure that:
-
bimap : (a -> b) -> (c -> d) -> p a c -> p b dMap over both arguments at the same time.Examples: -
first : (a -> b) -> p a c -> p b cMap covariantly over the first argument.Examples: -
second : (b -> c) -> p a b -> p a cMap covariantly over the second argument.Examples:
instance Bifunctor Eitherinstance Bifunctor ()instance Bifunctor x1instance Bifunctor (x1, x2)instance Bifunctor (x1, x2, x3)instance Bifunctor (x1, x2, x3, x4)instance Bifunctor (x1, x2, x3, x4, x5)