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
- Alphabetic
- By Inheritance
- Functor
- InvariantFunctor
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- trait FunctorLaw extends InvariantFunctorLaw
-
trait
InvariantFunctorLaw extends AnyRef
- Definition Classes
- InvariantFunctor
Abstract Value Members
-
abstract
def
map[A, B](fa: F[A])(f: (A) ⇒ B): F[B]
Lift
fintoFand apply toF[A].
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
apply[A, B](fa: F[A])(f: (A) ⇒ B): F[B]
Alias for
map. -
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
bicompose[G[_, _]](implicit arg0: Bifunctor[G]): Bifunctor[[α, β]F[G[α, β]]]
The composition of Functor
Fand BifunctorG,[x, y]F[G[x, y]], is a Bifunctor -
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
def
compose[G[_]](implicit G0: Functor[G]): Functor[[α]F[G[α]]]
The composition of Functors
FandG,[x]F[G[x]], is a Functor - def counzip[A, B](a: \/[F[A], F[B]]): F[\/[A, B]]
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
fpair[A](fa: F[A]): F[(A, A)]
Twin all
As infa. -
def
fproduct[A, B](fa: F[A])(f: (A) ⇒ B): F[(A, B)]
Pair all
As infawith the result of function application. - def functorLaw: FunctorLaw
- val functorSyntax: FunctorSyntax[F]
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
icompose[G[_]](implicit G0: Contravariant[G]): Contravariant[[α]F[G[α]]]
The composition of Functor F and Contravariant G,
[x]F[G[x]], is contravariant. -
def
invariantFunctorLaw: InvariantFunctorLaw
- Definition Classes
- InvariantFunctor
-
val
invariantFunctorSyntax: InvariantFunctorSyntax[F]
- Definition Classes
- InvariantFunctor
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
lift[A, B](f: (A) ⇒ B): (F[A]) ⇒ F[B]
Lift
fintoF. -
def
mapply[A, B](a: A)(f: F[(A) ⇒ B]): F[B]
Lift
apply(a), and apply the result tof. -
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
product[G[_]](implicit G0: Functor[G]): Functor[[α](F[α], G[α])]
The product of Functors
FandG,[x](F[x], G[x]]), is a Functor -
def
strengthL[A, B](a: A, f: F[B]): F[(A, B)]
Inject
ato the left ofBs inf. -
def
strengthR[A, B](f: F[A], b: B): F[(A, B)]
Inject
bto the right ofAs inf. -
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
void[A](fa: F[A]): F[Unit]
Empty
faof meaningful pure values, preserving its structure. -
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
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 anF[B]ifAis a subtype ofB. -
def
xmap[A, B](fa: F[A], f: (A) ⇒ B, g: (B) ⇒ A): F[B]
Converts
mato a value of typeF[B]using the provided functionsfandg.Converts
mato a value of typeF[B]using the provided functionsfandg.- Definition Classes
- Functor → InvariantFunctor
-
def
xmapb[A, B](ma: F[A])(b: Bijection[A, B]): F[B]
Converts
mato a value of typeF[B]using the provided bijection.Converts
mato a value of typeF[B]using the provided bijection.- Definition Classes
- InvariantFunctor
-
def
xmapi[A, B](ma: F[A])(iso: Isomorphism.<=>[A, B]): F[B]
Converts
mato a value of typeF[B]using the provided isomorphism.Converts
mato a value of typeF[B]using the provided isomorphism.- Definition Classes
- InvariantFunctor