Detained

object Detained
class Object
trait Matchable
class Any

Value members

Concrete methods

def apply[A, B](f: Done |*| A -⚬ B): A -⚬ Detained[B]
def excludeFst[A, B]: Detained[A |*| B] -⚬ A |*| Detained[B]

Present the first part of a Detained pair as non-detained.

Present the first part of a Detained pair as non-detained.

def excludeSnd[A, B]: Detained[A |*| B] -⚬ Detained[A] |*| B

Present the second part of a Detained pair as non-detained.

Present the second part of a Detained pair as non-detained.

Subsequent releaseBy won't have effect until also the given Done signal arrives.

Subsequent releaseBy won't have effect until also the given Done signal arrives.

Subsequent releaseBy won't have effect until also the given Need signal arrives.

Subsequent releaseBy won't have effect until also the given Need signal arrives.

def thunk[A](f: Done -⚬ A): One -⚬ Detained[A]
def untilDone[A, B](f: Done |*| A -⚬ B): A -⚬ Detained[B]
def untilNeed[A, B](f: A -⚬ Need |*| B): A -⚬ Detained[B]

Implicits

Implicits

implicit

Signals when it is released, awaiting delays the release.

Signals when it is released, awaiting delays the release.