Package arrow.continuations.generic

Types

Link copied to clipboard
expect class AtomicRef<V>(initialValue: V)
actual class AtomicRef<V>(initialValue: V)
actual typealias AtomicRef = AtomicReference<V>
actual class AtomicRef<V>(initialValue: V)
Link copied to clipboard
expect open class ControlThrowable : Throwable

A Throwable class intended for control flow. Instance of ControlThrowable should not be caught, and arrow.core.NonFatal does not catch this Throwable. Thus by extension Either.catch and Validated.catch also don't catch ControlThrowable.

actual open class ControlThrowable : Throwable

A Throwable class intended for control flow. Instance of ControlThrowable.kt should not be caught, and arrow.core.NonFatal does not catch this Throwable. Thus by extension Either.catch and Validated.catch also don't catch ControlThrowable.kt.

actual open class ControlThrowable : Throwable

A Throwable class intended for control flow. Instance of ControlThrowable.kt should not be caught, and arrow.core.NonFatal does not catch this Throwable. Thus by extension Either.catch and Validated.catch also don't catch ControlThrowable.kt.

actual open class ControlThrowable : Throwable

A Throwable class intended for control flow. Instance of ControlThrowable should not be caught, and arrow.core.NonFatal does not catch this Throwable. Thus by extension Either.catch and Validated.catch also don't catch ControlThrowable.

Link copied to clipboard
interface DelimitedContinuation<A, R>

Base interface for a continuation

Link copied to clipboard
interface DelimitedScope<R>

Base interface for our scope.

Link copied to clipboard
interface RestrictedScope<R> : DelimitedScope<R>
Link copied to clipboard
class ShortCircuit : ControlThrowable
Link copied to clipboard
interface SuspendedScope<R> : DelimitedScope<R>

Functions

Link copied to clipboard
inline fun <V> AtomicRef<V>.getAndUpdate(function: (V) -> V): V

Updates variable atomically using the specified function of its value and returns its old value.

Link copied to clipboard
inline fun <V> AtomicRef<V>.loop(action: (V) -> Unit): Nothing

Infinite loop that reads this atomic variable and performs the specified action on its value.

Link copied to clipboard
inline fun <V> AtomicRef<V>.update(function: (V) -> V)
Link copied to clipboard
inline fun <V> AtomicRef<V>.updateAndGet(function: (V) -> V): V

Updates variable atomically using the specified function of its value and returns its new value.