pure

object pure
class Object
trait Matchable
class Any

Type members

Classlikes

final class MaskId
Companion
object
object MaskId
Companion
class
final case class FiberCtx[E](self: PureFiber[E, ], masks: List[MaskId], finalizers: List[PureConc[E, Unit]])
final class PureFiber[E, A](val state0: MVar[Outcome[[_$79] =>> PureConc[E, _$79], E, A]]) extends Fiber[[_$80] =>> PureConc[E, _$80], E, A]

Types

type IdOC[E, A] = Outcome[Id, E, A]
type FiberR[E, A] = Kleisli[[_$1] =>> IdOC[E, _$1], FiberCtx[E], A]
type MVarR[F <: ([_$2] =>> Any), A] = Kleisli[F, Universe, A]
type PureConc[E, A] = MVarR[[_$4] =>> ThreadT[[_$3] =>> FiberR[E, _$3], _$4], A]
type Finalizer[E] = PureConc[E, Unit]
type ResolvedPC[E, A] = ThreadT[[_$5] =>> IdOC[E, _$5], A]

Value members

Methods

def resolveMain[E, A](pc: PureConc[E, A]): ResolvedPC[E, IdOC[E, A]]
def run[E, A](pc: PureConc[E, A]): Outcome[[A] =>> Option[A], E, A]
Produces Succeeded(None) when the main fiber is deadlocked. Note that
deadlocks outside of the main fiber are ignored when results are
appropriately produced (i.e. daemon semantics).

Implicits

Implicits

implicit def monadErrorIdOC[E]: MonadError[[_$6] =>> IdOC[E, _$6], E]
implicit def orderForPureConc[E, A](evidence$1: Order[E], evidence$2: Order[A]): Order[PureConc[E, A]]
implicit def allocateForPureConc[E]: GenConcurrent[[_$27] =>> PureConc[E, _$27], E]
implicit def eqPureConc[E, A](evidence$3: Eq[E], evidence$4: Eq[A]): Eq[PureConc[E, A]]
implicit def showPureConc[E, A](evidence$5: Show[E], evidence$6: Show[A]): Show[PureConc[E, A]]