Trait

scalaz

IsomorphismBind

Related Doc: package scalaz

Permalink

trait IsomorphismBind[F[_], G[_]] extends Bind[F] with IsomorphismApply[F, G]

Source
Isomorphism.scala
Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. IsomorphismBind
  2. IsomorphismApply
  3. IsomorphismFunctor
  4. Bind
  5. BindParent
  6. Apply
  7. ApplyParent
  8. Functor
  9. InvariantFunctor
  10. AnyRef
  11. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. trait ApplyLaw extends FunctorLaw

    Permalink
    Definition Classes
    Apply
  2. trait BindLaw extends ApplyLaw

    Permalink
    Definition Classes
    Bind
  3. trait FunctorLaw extends InvariantFunctorLaw

    Permalink
    Definition Classes
    Functor
  4. trait InvariantFunctorLaw extends AnyRef

    Permalink
    Definition Classes
    InvariantFunctor

Abstract Value Members

  1. implicit abstract def G: Bind[G]

    Permalink
  2. abstract def iso: Isomorphism.<~>[F, G]

    Permalink
    Definition Classes
    IsomorphismFunctor

Concrete Value Members

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

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

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

    Permalink
    Definition Classes
    AnyRef → Any
  4. def ap[A, B](fa: ⇒ F[A])(f: ⇒ F[(A) ⇒ B]): F[B]

    Permalink

    Sequence f, then fa, combining their results by function application.

    Sequence f, then fa, combining their results by function application.

    NB: with respect to apply2 and all other combinators, as well as scalaz.Bind, the f action appears to the *left*. So f should be the "first" F-action to perform. This is in accordance with all other implementations of this typeclass in common use, which are "function first".

    Definition Classes
    IsomorphismApplyApply
  5. def ap2[A, B, C](fa: ⇒ F[A], fb: ⇒ F[B])(f: F[(A, B) ⇒ C]): F[C]

    Permalink
    Definition Classes
    Apply
  6. def ap3[A, B, C, D](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C])(f: F[(A, B, C) ⇒ D]): F[D]

    Permalink
    Definition Classes
    Apply
  7. def ap4[A, B, C, D, E](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C], fd: ⇒ F[D])(f: F[(A, B, C, D) ⇒ E]): F[E]

    Permalink
    Definition Classes
    Apply
  8. def ap5[A, B, C, D, E, R](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C], fd: ⇒ F[D], fe: ⇒ F[E])(f: F[(A, B, C, D, E) ⇒ R]): F[R]

    Permalink
    Definition Classes
    Apply
  9. def ap6[A, B, C, D, E, FF, R](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C], fd: ⇒ F[D], fe: ⇒ F[E], ff: ⇒ F[FF])(f: F[(A, B, C, D, E, FF) ⇒ R]): F[R]

    Permalink
    Definition Classes
    Apply
  10. def ap7[A, B, C, D, E, FF, G, R](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C], fd: ⇒ F[D], fe: ⇒ F[E], ff: ⇒ F[FF], fg: ⇒ F[G])(f: F[(A, B, C, D, E, FF, G) ⇒ R]): F[R]

    Permalink
    Definition Classes
    Apply
  11. def ap8[A, B, C, D, E, FF, G, H, R](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C], fd: ⇒ F[D], fe: ⇒ F[E], ff: ⇒ F[FF], fg: ⇒ F[G], fh: ⇒ F[H])(f: F[(A, B, C, D, E, FF, G, H) ⇒ R]): F[R]

    Permalink
    Definition Classes
    Apply
  12. def apF[A, B](f: ⇒ F[(A) ⇒ B]): (F[A]) ⇒ F[B]

    Permalink

    Flipped variant of ap.

    Flipped variant of ap.

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

    Permalink

    Alias for map.

    Alias for map.

    Definition Classes
    Functor
  14. def apply10[A, B, C, D, E, FF, G, H, I, J, R](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C], fd: ⇒ F[D], fe: ⇒ F[E], ff: ⇒ F[FF], fg: ⇒ F[G], fh: ⇒ F[H], fi: ⇒ F[I], fj: ⇒ F[J])(f: (A, B, C, D, E, FF, G, H, I, J) ⇒ R): F[R]

    Permalink
    Definition Classes
    Apply
  15. def apply11[A, B, C, D, E, FF, G, H, I, J, K, R](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C], fd: ⇒ F[D], fe: ⇒ F[E], ff: ⇒ F[FF], fg: ⇒ F[G], fh: ⇒ F[H], fi: ⇒ F[I], fj: ⇒ F[J], fk: ⇒ F[K])(f: (A, B, C, D, E, FF, G, H, I, J, K) ⇒ R): F[R]

    Permalink
    Definition Classes
    Apply
  16. def apply12[A, B, C, D, E, FF, G, H, I, J, K, L, R](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C], fd: ⇒ F[D], fe: ⇒ F[E], ff: ⇒ F[FF], fg: ⇒ F[G], fh: ⇒ F[H], fi: ⇒ F[I], fj: ⇒ F[J], fk: ⇒ F[K], fl: ⇒ F[L])(f: (A, B, C, D, E, FF, G, H, I, J, K, L) ⇒ R): F[R]

    Permalink
    Definition Classes
    Apply
  17. def apply2[A, B, C](fa: ⇒ F[A], fb: ⇒ F[B])(f: (A, B) ⇒ C): F[C]

    Permalink
    Definition Classes
    Apply
  18. def apply3[A, B, C, D](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C])(f: (A, B, C) ⇒ D): F[D]

    Permalink
    Definition Classes
    Apply
  19. def apply4[A, B, C, D, E](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C], fd: ⇒ F[D])(f: (A, B, C, D) ⇒ E): F[E]

    Permalink
    Definition Classes
    Apply
  20. def apply5[A, B, C, D, E, R](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C], fd: ⇒ F[D], fe: ⇒ F[E])(f: (A, B, C, D, E) ⇒ R): F[R]

    Permalink
    Definition Classes
    Apply
  21. def apply6[A, B, C, D, E, FF, R](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C], fd: ⇒ F[D], fe: ⇒ F[E], ff: ⇒ F[FF])(f: (A, B, C, D, E, FF) ⇒ R): F[R]

    Permalink
    Definition Classes
    Apply
  22. def apply7[A, B, C, D, E, FF, G, R](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C], fd: ⇒ F[D], fe: ⇒ F[E], ff: ⇒ F[FF], fg: ⇒ F[G])(f: (A, B, C, D, E, FF, G) ⇒ R): F[R]

    Permalink
    Definition Classes
    Apply
  23. def apply8[A, B, C, D, E, FF, G, H, R](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C], fd: ⇒ F[D], fe: ⇒ F[E], ff: ⇒ F[FF], fg: ⇒ F[G], fh: ⇒ F[H])(f: (A, B, C, D, E, FF, G, H) ⇒ R): F[R]

    Permalink
    Definition Classes
    Apply
  24. def apply9[A, B, C, D, E, FF, G, H, I, R](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C], fd: ⇒ F[D], fe: ⇒ F[E], ff: ⇒ F[FF], fg: ⇒ F[G], fh: ⇒ F[H], fi: ⇒ F[I])(f: (A, B, C, D, E, FF, G, H, I) ⇒ R): F[R]

    Permalink
    Definition Classes
    Apply
  25. def applyApplicative: Applicative[[α]\/[F[α], α]]

    Permalink

    Add a unit to any Apply to form an Applicative.

    Add a unit to any Apply to form an Applicative.

    Definition Classes
    Apply
  26. def applyLaw: ApplyLaw

    Permalink
    Definition Classes
    Apply
  27. val applySyntax: ApplySyntax[F]

    Permalink
    Definition Classes
    Apply
  28. final def asInstanceOf[T0]: T0

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

    Permalink

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

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

    Definition Classes
    Functor
  30. def bind[A, B](fa: F[A])(f: (A) ⇒ F[B]): F[B]

    Permalink

    Equivalent to join(map(fa)(f)).

    Equivalent to join(map(fa)(f)).

    Definition Classes
    IsomorphismBindBind
  31. def bindLaw: BindLaw

    Permalink
    Definition Classes
    Bind
  32. val bindSyntax: BindSyntax[F]

    Permalink
    Definition Classes
    Bind
  33. def clone(): AnyRef

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

    Permalink

    The composition of Applys F and G, [x]F[G[x]], is a Apply

    The composition of Applys F and G, [x]F[G[x]], is a Apply

    Definition Classes
    Apply
  35. def compose[G[_]](implicit G0: Functor[G]): Functor[[α]F[G[α]]]

    Permalink

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

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

    Definition Classes
    Functor
  36. def counzip[A, B](a: \/[F[A], F[B]]): F[\/[A, B]]

    Permalink
    Definition Classes
    Functor
  37. final def eq(arg0: AnyRef): Boolean

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

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  40. def forever[A, B](fa: F[A]): F[B]

    Permalink

    Repeats a monadic action infinitely

    Repeats a monadic action infinitely

    Definition Classes
    BindBindParent
  41. def fpair[A](fa: F[A]): F[(A, A)]

    Permalink

    Twin all As in fa.

    Twin all As in fa.

    Definition Classes
    Functor
  42. def fproduct[A, B](fa: F[A])(f: (A) ⇒ B): F[(A, B)]

    Permalink

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

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

    Definition Classes
    Functor
  43. def functorLaw: FunctorLaw

    Permalink
    Definition Classes
    Functor
  44. val functorSyntax: FunctorSyntax[F]

    Permalink
    Definition Classes
    Functor
  45. final def getClass(): Class[_]

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

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

    Permalink

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

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

    Definition Classes
    Functor
  48. def ifM[B](value: F[Boolean], ifTrue: ⇒ F[B], ifFalse: ⇒ F[B]): F[B]

    Permalink

    if lifted into a binding.

    if lifted into a binding. Unlike lift3((t,c,a)=>if(t)c else a), this will only include context from the chosen of ifTrue and ifFalse, not the other.

    Definition Classes
    Bind
  49. def invariantFunctorLaw: InvariantFunctorLaw

    Permalink
    Definition Classes
    InvariantFunctor
  50. val invariantFunctorSyntax: InvariantFunctorSyntax[F]

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

    Permalink
    Definition Classes
    Any
  52. def join[A](ffa: F[F[A]]): F[A]

    Permalink

    Sequence the inner F of FFA after the outer F, forming a single F[A].

    Sequence the inner F of FFA after the outer F, forming a single F[A].

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

    Permalink

    Lift f into F.

    Lift f into F.

    Definition Classes
    Functor
  54. def lift10[A, B, C, D, E, FF, G, H, I, J, R](f: (A, B, C, D, E, FF, G, H, I, J) ⇒ R): (F[A], F[B], F[C], F[D], F[E], F[FF], F[G], F[H], F[I], F[J]) ⇒ F[R]

    Permalink
    Definition Classes
    Apply
  55. def lift11[A, B, C, D, E, FF, G, H, I, J, K, R](f: (A, B, C, D, E, FF, G, H, I, J, K) ⇒ R): (F[A], F[B], F[C], F[D], F[E], F[FF], F[G], F[H], F[I], F[J], F[K]) ⇒ F[R]

    Permalink
    Definition Classes
    Apply
  56. def lift12[A, B, C, D, E, FF, G, H, I, J, K, L, R](f: (A, B, C, D, E, FF, G, H, I, J, K, L) ⇒ R): (F[A], F[B], F[C], F[D], F[E], F[FF], F[G], F[H], F[I], F[J], F[K], F[L]) ⇒ F[R]

    Permalink
    Definition Classes
    Apply
  57. def lift2[A, B, C](f: (A, B) ⇒ C): (F[A], F[B]) ⇒ F[C]

    Permalink
    Definition Classes
    Apply
  58. def lift3[A, B, C, D](f: (A, B, C) ⇒ D): (F[A], F[B], F[C]) ⇒ F[D]

    Permalink
    Definition Classes
    Apply
  59. def lift4[A, B, C, D, E](f: (A, B, C, D) ⇒ E): (F[A], F[B], F[C], F[D]) ⇒ F[E]

    Permalink
    Definition Classes
    Apply
  60. def lift5[A, B, C, D, E, R](f: (A, B, C, D, E) ⇒ R): (F[A], F[B], F[C], F[D], F[E]) ⇒ F[R]

    Permalink
    Definition Classes
    Apply
  61. def lift6[A, B, C, D, E, FF, R](f: (A, B, C, D, E, FF) ⇒ R): (F[A], F[B], F[C], F[D], F[E], F[FF]) ⇒ F[R]

    Permalink
    Definition Classes
    Apply
  62. def lift7[A, B, C, D, E, FF, G, R](f: (A, B, C, D, E, FF, G) ⇒ R): (F[A], F[B], F[C], F[D], F[E], F[FF], F[G]) ⇒ F[R]

    Permalink
    Definition Classes
    Apply
  63. def lift8[A, B, C, D, E, FF, G, H, R](f: (A, B, C, D, E, FF, G, H) ⇒ R): (F[A], F[B], F[C], F[D], F[E], F[FF], F[G], F[H]) ⇒ F[R]

    Permalink
    Definition Classes
    Apply
  64. def lift9[A, B, C, D, E, FF, G, H, I, R](f: (A, B, C, D, E, FF, G, H, I) ⇒ R): (F[A], F[B], F[C], F[D], F[E], F[FF], F[G], F[H], F[I]) ⇒ F[R]

    Permalink
    Definition Classes
    Apply
  65. def map[A, B](fa: F[A])(f: (A) ⇒ B): F[B]

    Permalink

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

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

    Definition Classes
    IsomorphismFunctorFunctor
  66. def mapply[A, B](a: A)(f: F[(A) ⇒ B]): F[B]

    Permalink

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

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

    Definition Classes
    Functor
  67. def mproduct[A, B](fa: F[A])(f: (A) ⇒ F[B]): F[(A, B)]

    Permalink

    Pair A with the result of function application.

    Pair A with the result of function application.

    Definition Classes
    Bind
  68. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  69. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  70. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  71. def product[G[_]](implicit G0: Bind[G]): Bind[[α](F[α], G[α])]

    Permalink

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

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

    Definition Classes
    Bind
  72. def product[G[_]](implicit G0: Apply[G]): Apply[[α](F[α], G[α])]

    Permalink

    The product of Applys F and G, [x](F[x], G[x]]), is a Apply

    The product of Applys F and G, [x](F[x], G[x]]), is a Apply

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

    Permalink

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

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

    Definition Classes
    Functor
  74. def sequence1[A, G[_]](as: G[F[A]])(implicit arg0: Traverse1[G]): F[G[A]]

    Permalink
    Definition Classes
    Apply
  75. def strengthL[A, B](a: A, f: F[B]): F[(A, B)]

    Permalink

    Inject a to the left of Bs in f.

    Inject a to the left of Bs in f.

    Definition Classes
    Functor
  76. def strengthR[A, B](f: F[A], b: B): F[(A, B)]

    Permalink

    Inject b to the right of As in f.

    Inject b to the right of As in f.

    Definition Classes
    Functor
  77. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  78. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  79. def traverse1[A, G[_], B](value: G[A])(f: (A) ⇒ F[B])(implicit G: Traverse1[G]): F[G[B]]

    Permalink
    Definition Classes
    Apply
  80. def tuple2[A, B](fa: ⇒ F[A], fb: ⇒ F[B]): F[(A, B)]

    Permalink
    Definition Classes
    Apply
  81. def tuple3[A, B, C](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C]): F[(A, B, C)]

    Permalink
    Definition Classes
    Apply
  82. def tuple4[A, B, C, D](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C], fd: ⇒ F[D]): F[(A, B, C, D)]

    Permalink
    Definition Classes
    Apply
  83. def tuple5[A, B, C, D, E](fa: ⇒ F[A], fb: ⇒ F[B], fc: ⇒ F[C], fd: ⇒ F[D], fe: ⇒ F[E]): F[(A, B, C, D, E)]

    Permalink
    Definition Classes
    Apply
  84. def void[A](fa: F[A]): F[Unit]

    Permalink

    Empty fa of meaningful pure values, preserving its structure.

    Empty fa of meaningful pure values, preserving its structure.

    Definition Classes
    Functor
  85. final def wait(): Unit

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

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

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

    Permalink

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

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

    Definition Classes
    Functor
  89. def xmap[A, B](fa: F[A], f: (A) ⇒ B, g: (B) ⇒ A): F[B]

    Permalink

    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
  90. def xmapb[A, B](ma: F[A])(b: Bijection[A, B]): F[B]

    Permalink

    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
  91. def xmapi[A, B](ma: F[A])(iso: Isomorphism.<=>[A, B]): F[B]

    Permalink

    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 IsomorphismApply[F, G]

Inherited from IsomorphismFunctor[F, G]

Inherited from Bind[F]

Inherited from BindParent[F]

Inherited from Apply[F]

Inherited from ApplyParent[F]

Inherited from Functor[F]

Inherited from InvariantFunctor[F]

Inherited from AnyRef

Inherited from Any

Ungrouped