trait
InvariantFunctor[F[_]] extends AnyRef
Type Members
-
Abstract Value Members
-
abstract
def
xmap[A, B](ma: F[A], f: (A) ⇒ B, g: (B) ⇒ A): F[B]
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
final
def
==(arg0: Any): Boolean
-
final
def
asInstanceOf[T0]: T0
-
def
clone(): AnyRef
-
-
-
def
finalize(): Unit
-
final
def
getClass(): Class[_]
-
def
hashCode(): Int
-
-
-
final
def
isInstanceOf[T0]: Boolean
-
-
final
def
notify(): Unit
-
final
def
notifyAll(): Unit
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
-
def
toString(): String
-
final
def
wait(): Unit
-
final
def
wait(arg0: Long, arg1: Int): Unit
-
final
def
wait(arg0: Long): Unit
-
def
xmapb[A, B](ma: F[A])(b: Bijection[A, B]): F[B]
-
def
xmapi[A, B](ma: F[A])(iso: Isomorphism.<=>[A, B]): F[B]
Unary type constructor that supports an
xmap
operation that converts anF[A]
to anF[B]
given two functions,A => B
andB => A
.An invariant functor must satisfy two laws:
Also known as an exponential functor.
scalaz.InvariantFunctor.InvariantFunctorLaw
http://comonad.com/reader/2008/rotten-bananas/
https://hackage.haskell.org/packages/archive/invariant/latest/doc/html/Data-Functor-Invariant.html