object Eval extends EvalInstances with Serializable
- Source
- Eval.scala
- Alphabetic
- By Inheritance
- Eval
- Serializable
- EvalInstances
- EvalInstances0
- EvalInstances1
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- sealed abstract class Defer[A] extends Eval[A]
Defer is a type of Eval[A] that is used to defer computations which produce Eval[A].
Defer is a type of Eval[A] that is used to defer computations which produce Eval[A].
Users should not instantiate Defer instances themselves. Instead, they will be automatically created when needed.
- sealed abstract class FlatMap[A] extends Eval[A]
FlatMap is a type of Eval[A] that is used to chain computations involving .map and .flatMap.
FlatMap is a type of Eval[A] that is used to chain computations involving .map and .flatMap. Along with Eval#flatMap it implements the trampoline that guarantees stack-safety.
Users should not instantiate FlatMap instances themselves. Instead, they will be automatically created when needed.
Unlike a traditional trampoline, the internal workings of the trampoline are not exposed. This allows a slightly more efficient implementation of the .value method.
- sealed abstract class Leaf[A] extends Eval[A]
A Leaf does not depend on any other Eval so calling .value does not trigger any flatMaps or defers
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
- val False: Eval[Boolean]
Static Eval instance for common value
false
.Static Eval instance for common value
false
.This can be useful in cases where the same value may be needed many times.
- val One: Eval[Int]
Static Eval instance for common value
1
.Static Eval instance for common value
1
.This can be useful in cases where the same value may be needed many times.
- val True: Eval[Boolean]
Static Eval instance for common value
true
.Static Eval instance for common value
true
.This can be useful in cases where the same value may be needed many times.
- val Unit: Eval[Unit]
Static Eval instance for common value
Unit
.Static Eval instance for common value
Unit
.This can be useful in cases where the same value may be needed many times.
- val Zero: Eval[Int]
Static Eval instance for common value
0
.Static Eval instance for common value
0
.This can be useful in cases where the same value may be needed many times.
- def always[A](a: => A): Eval[A]
Construct a lazy Eval[A] value without caching (i.e.
Construct a lazy Eval[A] value without caching (i.e. Always[A]).
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- implicit val catsBimonadForEval: Bimonad[Eval] with CommutativeMonad[Eval]
- Definition Classes
- EvalInstances
- implicit val catsDeferForEval: cats.Defer[Eval]
- Definition Classes
- EvalInstances
- implicit def catsEqForEval[A](implicit arg0: Eq[A]): Eq[Eval[A]]
- Definition Classes
- EvalInstances1
- implicit def catsGroupForEval[A](implicit arg0: Group[A]): Group[Eval[A]]
- Definition Classes
- EvalInstances
- implicit def catsMonoidForEval[A](implicit arg0: Monoid[A]): Monoid[Eval[A]]
- Definition Classes
- EvalInstances0
- implicit def catsOrderForEval[A](implicit arg0: Order[A]): Order[Eval[A]]
- Definition Classes
- EvalInstances
- implicit def catsPartialOrderForEval[A](implicit arg0: PartialOrder[A]): PartialOrder[Eval[A]]
- Definition Classes
- EvalInstances0
- implicit val catsReducibleForEval: Reducible[Eval]
- Definition Classes
- EvalInstances
- implicit val catsRepresentableForEval: Aux[Eval, Unit]
- Definition Classes
- EvalInstances
- implicit def catsSemigroupForEval[A](implicit arg0: Semigroup[A]): Semigroup[Eval[A]]
- Definition Classes
- EvalInstances1
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def defer[A](a: => Eval[A]): Eval[A]
Defer a computation which produces an Eval[A] value.
Defer a computation which produces an Eval[A] value.
This is useful when you want to delay execution of an expression which produces an Eval[A] value. Like .flatMap, it is stack-safe.
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def later[A](a: => A): Eval[A]
Construct a lazy Eval[A] value with caching (i.e.
Construct a lazy Eval[A] value with caching (i.e. Later[A]).
- 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 now[A](a: A): Eval[A]
Construct an eager Eval[A] value (i.e.
Construct an eager Eval[A] value (i.e. Now[A]).
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()