arrow-streams / arrow.streams.internal / ViewL


interface ViewL<F, out R>

Emulated sealed trait. Never extend this interface! Working with ViewL must be done using ViewL.fold

Companion Object Functions

invoke operator fun <F, R> invoke(free: FreeC<F, R>): ViewL<F, R>

Extension Functions

fold fun <F, R, A> ViewL<F, R>.fold(pure: (R) -> A, fail: (Throwable) -> A, interrupted: (Any?, Option<Throwable>) -> A, view: (Kind<F, Any?>, (Result<Any?>) -> FreeC<F, R>) -> A): A