InvariantApplicative

trait InvariantApplicative[F[_]] extends InvariantFunctor[F]

Invariant parent of Divisible and Applicative.

Used for typeclass derivation of products and value types.

Companion
object
class Object
trait Matchable
class Any
trait Applicative[F]
trait Alt[F]
trait IsomorphismAlt[F, G]
trait ApplicativeError[F, S]
trait MonadError[F, S]
trait MonadPlus[F]
trait IsomorphismMonadTell[F, G, S]
trait Monad[F]
trait MonadReader[F, S]
trait MonadState[F, S]
trait MonadTell[F, S]
trait MonadListen[F, W]
trait Divisible[F]
trait Decidable[F]
trait InvariantAlt[F]

Type members

Inherited classlikes

Value members

Abstract methods

def xproduct0[Z](f: => Z): F[Z]
def xproduct2[Z, A1, A2](a1: => F[A1], a2: => F[A2])(f: (A1, A2) => Z, g: Z => (A1, A2)): F[Z]

Concrete methods

final
def xderiving0[Z](z: => Z): F[Z]
final
def xderiving1[Z, A1](f: A1 => Z, g: Z => A1)(implicit a1: F[A1]): F[Z]
final
def xderiving2[Z, A1, A2](f: (A1, A2) => Z, g: Z => (A1, A2))(implicit a1: F[A1], a2: F[A2]): F[Z]
final
def xderiving3[Z, A1, A2, A3](f: (A1, A2, A3) => Z, g: Z => (A1, A2, A3))(implicit a1: F[A1], a2: F[A2], a3: F[A3]): F[Z]
final
def xderiving4[Z, A1, A2, A3, A4](f: (A1, A2, A3, A4) => Z, g: Z => (A1, A2, A3, A4))(implicit a1: F[A1], a2: F[A2], a3: F[A3], a4: F[A4]): F[Z]
def xproduct1[Z, A1](a1: => F[A1])(f: A1 => Z, g: Z => A1): F[Z]
def xproduct3[Z, A1, A2, A3](a1: => F[A1], a2: => F[A2], a3: => F[A3])(f: (A1, A2, A3) => Z, g: Z => (A1, A2, A3)): F[Z]
def xproduct4[Z, A1, A2, A3, A4](a1: => F[A1], a2: => F[A2], a3: => F[A3], a4: => F[A4])(f: (A1, A2, A3, A4) => Z, g: Z => (A1, A2, A3, A4)): F[Z]

Inherited methods

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.

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

Inherited from
InvariantFunctor
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.

Inherited from
InvariantFunctor
def xmapi[A, B](ma: F[A])(iso: IsoSet[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.

Inherited from
InvariantFunctor

Inherited fields