Package fj.data

Class Eval.Later<A>

java.lang.Object
fj.data.Eval<A>
fj.data.Eval.Later<A>
Enclosing class:
Eval<A>

private static final class Eval.Later<A> extends Eval<A>
Represents a lazy computation that is evaluated only once.
  • Field Details

    • memo

      private final P1<A> memo
  • Constructor Details

    • Later

      Later(F0<A> producer)
  • Method Details

    • value

      public final A value()
      Description copied from class: Eval
      Evaluates the computation and return its result. Depending on whether the current instance is lazy or eager the computation may or may not happen at this point.
      Specified by:
      value in class Eval<A>
      Returns:
      a result of this computation.
    • asTrampoline

      final Eval.TrampolineEval<A> asTrampoline()
      Description copied from class: Eval
      Transforms the current instance into a trampoline instance.
      Specified by:
      asTrampoline in class Eval<A>