Symmetric Bifunctors.
swap . swap = id
If p is a Bifunctor the following property is assumed to hold:
swap . bimap f g = bimap g f . swap
Swap isn't a subclass of Bifunctor, as for example
newtype Bipredicate a b = Bipredicate (a -> b -> Bool)is not a Bifunctor but has Swap instance
instance Swap Bipredicate where swap (Bipredicate p) = Bipredicate (flip p)Methods
swap :: p a b -> p b a
Instances7Swap, …
Swap EitherDefined in assoc-1.1.1 · Data.Bifunctor.SwapSwap Tuple2Defined in assoc-1.1.1 · Data.Bifunctor.SwapSwap (Tuple3 x)Defined in assoc-1.1.1 · Data.Bifunctor.SwapSwap (Tuple4 x y)Defined in assoc-1.1.1 · Data.Bifunctor.SwapSwap (Tuple5 x y z)Defined in assoc-1.1.1 · Data.Bifunctor.SwapSwap (Tuple6 x y z w)Defined in assoc-1.1.1 · Data.Bifunctor.SwapSwap (Tuple7 x y z w v)Defined in assoc-1.1.1 · Data.Bifunctor.Swap