SuspendEval

Types

Link copied to clipboard
interface AbstractDefer<out A> : SuspendEval<A>
Link copied to clipboard
interface AbstractFlatMap<out A> : SuspendEval<A>
Link copied to clipboard
Link copied to clipboard
data class Always<out A>(f: suspend () -> A) : SuspendEval<A>
Link copied to clipboard
object Companion
Link copied to clipboard
data class Defer<out A>(val thunk: suspend () -> SuspendEval<A>) : SuspendEval.AbstractDefer<A>
Link copied to clipboard
abstract class FlatMap<out A> : SuspendEval.AbstractFlatMap<A>
Link copied to clipboard
data class Later<out A>(f: suspend () -> A) : SuspendEval<A>
Link copied to clipboard
data class Memoize<A>(val eval: SuspendEval<A>) : SuspendEval.AbstractMemoize<A>

Functions

Link copied to clipboard
open fun <B> flatMapSuspend(f: suspend (A) -> SuspendEval<B>): SuspendEval<B>
Link copied to clipboard
open fun <B> mapSuspend(f: suspend (A) -> B): SuspendEval<B>
Link copied to clipboard
abstract fun memoize(): SuspendEval<A>
Link copied to clipboard
abstract suspend fun run(): A