t

scalaz

# InvariantFunctor 

### Companion object InvariantFunctor

#### trait InvariantFunctor[F[_]] extends AnyRef

Unary type constructor that supports an xmap operation that converts an F[A] to an F[B] given two functions, A => B and B => A.

An invariant functor must satisfy two laws:

• identity - xmap(ma)(identity, identity) == ma
• composite - xmap(xmap(ma, f1, g1), f2, g2) == xmap(ma, f2 compose f1, g1, compose g2)

Also known as an exponential functor.

Self Type
InvariantFunctor[F]
Source
InvariantFunctor.scala

scalaz.InvariantFunctor.InvariantFunctorLaw

Linear Supertypes
Ordering
1. Alphabetic
2. By Inheritance
Inherited
1. InvariantFunctor
2. AnyRef
3. Any
1. Hide All
2. Show All
Visibility
1. Public
2. All

### Type Members

1. trait InvariantFunctorLaw extends AnyRef

### Abstract Value Members

1. abstract def xmap[A, B](ma: F[A], f: (A) ⇒ B, g: (B) ⇒ A): F[B]

Converts ma to a value of type F[B] using the provided functions f and g.

### Concrete Value Members

1. final def !=(arg0: Any)
Definition Classes
AnyRef → Any
2. final def ##(): Int
Definition Classes
AnyRef → Any
3. final def ==(arg0: Any)
Definition Classes
AnyRef → Any
4. final def asInstanceOf[T0]: T0
Definition Classes
Any
5. def clone()
Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@native() @throws( ... )
6. final def eq(arg0: AnyRef)
Definition Classes
AnyRef
7. def equals(arg0: Any)
Definition Classes
AnyRef → Any
8. def finalize(): Unit
Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws( classOf[java.lang.Throwable] )
9. final def getClass(): Class[_]
Definition Classes
AnyRef → Any
Annotations
@native()
10. def hashCode(): Int
Definition Classes
AnyRef → Any
Annotations
@native()
11. def invariantFunctorLaw
12. val invariantFunctorSyntax
13. final def isInstanceOf[T0]
Definition Classes
Any
14. final def ne(arg0: AnyRef)
Definition Classes
AnyRef
15. final def notify(): Unit
Definition Classes
AnyRef
Annotations
@native()
16. final def notifyAll(): Unit
Definition Classes
AnyRef
Annotations
@native()
17. final def synchronized[T0](arg0: ⇒ T0): T0
Definition Classes
AnyRef
18. def toString()
Definition Classes
AnyRef → Any
19. final def wait(): Unit
Definition Classes
AnyRef
Annotations
@throws( ... )
20. final def wait(arg0: Long, arg1: Int): Unit
Definition Classes
AnyRef
Annotations
@throws( ... )
21. final def wait(arg0: Long): Unit
Definition Classes
AnyRef
Annotations
@native() @throws( ... )
22. def xmapb[A, B](ma: F[A])(b: Bijection[A, B]): F[B]

Converts ma to a value of type F[B] using the provided bijection.

23. def xmapi[A, B](ma: F[A])(iso: Isomorphism.<=>[A, B]): F[B]

Converts ma to a value of type F[B] using the provided isomorphism.