scalaz

Functor

trait Functor[F[_]] extends InvariantFunctor[F]

Functors, covariant by nature if not by Scala type. Their key operation is map, whose behavior is constrained only by type and the functor laws.

Many useful functors also have natural scalaz.Apply or scalaz.Bind operations. Many also support scalaz.Traverse.

Self Type
Functor[F]
Source
Functor.scala
See also

scalaz.Functor.FunctorLaw

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Functor
  2. InvariantFunctor
  3. AnyRef
  4. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. trait FunctorLaw extends InvariantFunctorLaw

  2. trait InvariantFunctorLaw extends AnyRef

    Definition Classes
    InvariantFunctor

Abstract Value Members

  1. abstract def map[A, B](fa: F[A])(f: (A) ⇒ B): F[B]

    Lift f into F and apply to F[A].

Concrete Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. def apply[A, B](fa: F[A])(f: (A) ⇒ B): F[B]

    Alias for map.

  7. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  8. def bicompose[G[_, _]](implicit arg0: Bifunctor[G]): Bifunctor[[α, β]F[G[α, β]]]

    The composition of Functor F and Bifunctor G, [x, y]F[G[x, y]], is a Bifunctor

  9. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. def compose[G[_]](implicit G0: Functor[G]): Functor[[α]F[G[α]]]

    The composition of Functors F and G, [x]F[G[x]], is a Functor

  11. def counzip[A, B](a: \/[F[A], F[B]]): F[\/[A, B]]

  12. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  13. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  14. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  15. def fpair[A](fa: F[A]): F[(A, A)]

    Twin all As in fa.

  16. def fproduct[A, B](fa: F[A])(f: (A) ⇒ B): F[(A, B)]

    Pair all As in fa with the result of function application.

  17. def functorLaw: FunctorLaw

  18. val functorSyntax: FunctorSyntax[F]

  19. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  20. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  21. def icompose[G[_]](implicit G0: Contravariant[G]): Contravariant[[α]F[G[α]]]

    The composition of Functor F and Contravariant G, [x]F[G[x]], is contravariant.

  22. def invariantFunctorLaw: InvariantFunctorLaw

    Definition Classes
    InvariantFunctor
  23. val invariantFunctorSyntax: InvariantFunctorSyntax[F]

    Definition Classes
    InvariantFunctor
  24. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  25. def lift[A, B](f: (A) ⇒ B): (F[A]) ⇒ F[B]

    Lift f into F.

  26. def mapply[A, B](a: A)(f: F[(A) ⇒ B]): F[B]

    Lift apply(a), and apply the result to f.

  27. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  28. final def notify(): Unit

    Definition Classes
    AnyRef
  29. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  30. def product[G[_]](implicit G0: Functor[G]): Functor[[α](F[α], G[α])]

    The product of Functors F and G, [x](F[x], G[x]]), is a Functor

  31. def strengthL[A, B](a: A, f: F[B]): F[(A, B)]

    Inject a to the left of Bs in f.

  32. def strengthR[A, B](f: F[A], b: B): F[(A, B)]

    Inject b to the right of As in f.

  33. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  34. def toString(): String

    Definition Classes
    AnyRef → Any
  35. def void[A](fa: F[A]): F[Unit]

    Empty fa of meaningful pure values, preserving its structure.

  36. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  37. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  38. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  39. def widen[A, B](fa: F[A])(implicit ev: <~<[A, B]): F[B]

    Functors are covariant by nature, so we can treat an F[A] as an F[B] if A is a subtype of B.

  40. def xmap[A, B](fa: 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.

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

    Definition Classes
    FunctorInvariantFunctor
  41. 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.

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

    Definition Classes
    InvariantFunctor
  42. 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.

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

    Definition Classes
    InvariantFunctor

Inherited from InvariantFunctor[F]

Inherited from AnyRef

Inherited from Any

Ungrouped