IO

turbolift.effects.IO
See theIO companion trait
case object IO extends IO

The sole instance of IO effect.

Unlike other effects, it cannot be interpreted/handled by the user. Once introduced into computation, it stays there forever. That is, until unsafeRun.

Attributes

Companion
trait
Graph
Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
trait IO
trait Signature
class Object
trait Matchable
class Any
Show all
Self type
IO.type

Members list

Type members

Types

final override type ThisEffect = IO

Self-reference to the effect being described by this Signature.

Self-reference to the effect being described by this Signature.

Becomes an alias of this.type, once the signature is inherited from Effect.

Attributes

Inherited types

type MirroredElemLabels = EmptyTuple

The names of the product elements

The names of the product elements

Attributes

Inherited from:
Singleton
type MirroredElemTypes = EmptyTuple

Attributes

Inherited from:
Singleton
type MirroredMonoType = Singleton.this.type

The mirrored *-type

The mirrored *-type

Attributes

Inherited from:
Singleton
type MirroredType = Singleton.this.type

Attributes

Inherited from:
Singleton

Inherited and Abstract types

type MirroredLabel <: String

The name of the type

The name of the type

Attributes

Inherited from:
Mirror

Value members

Concrete methods

def apply[A](thunk: => A): Computation[A, IO]
def async[A](callback: ((Either[Throwable, A]) => Unit) => Unit): Computation[A, IO]
def attempt[A](thunk: => A): Computation[Either[Throwable, A], IO]
def blocking[A](thunk: => A): Computation[A, IO]
def blockingAttempt[A](thunk: => A): Computation[Either[Throwable, A], IO]
def bracket[A, B, U <: IO](acquire: Computation[A, U])(release: A => Computation[Unit, U])(use: A => Computation[B, U]): Computation[B, U]
def bracketSnap[A, B, U <: IO](acquire: Computation[A, U])(release: (A, Snap[B]) => Computation[B, U])(use: A => Computation[B, U]): Computation[B, U]
def cancellable[A, U <: IO](comp: Computation[A, U]): Computation[A, U]
def cancellableSnap[A, U <: IO](comp: Computation[A, U]): Computation[Snap[A], U]
def catchAll[A, U <: IO](body: Computation[A, U])(f: Throwable => A): Computation[A, U]
def catchAllEff[A, U <: IO](body: Computation[A, U])(f: Throwable => Computation[A, U]): Computation[A, U]
def catchSome[A, U <: IO](body: Computation[A, U])(f: PartialFunction[Throwable, A]): Computation[A, U]
def catchSomeEff[A, U <: IO](body: Computation[A, U])(f: PartialFunction[Throwable, Computation[A, U]]): Computation[A, U]
def delay[A, U <: IO](millis: Long)(comp: Computation[A, U]): Computation[A, U]
def delay[A, U <: IO](duration: FiniteDuration)(comp: Computation[A, U]): Computation[A, U]
def executeOn[A, U <: IO](exec: Executor)(body: Computation[A, U]): Computation[A, U]
def fail(c: Cause): Computation[Nothing, IO]
def fromEither[A](ee: Either[Throwable, A]): Computation[A, IO]
def fromOption[A](ee: Option[A])(e: => Throwable): Computation[A, IO]
def fromTry[A](ee: Try[A]): Computation[A, IO]
def guarantee[A, U <: IO](release: Computation[Unit, U])(body: Computation[A, U]): Computation[A, U]
def guaranteeSnap[A, U <: IO](release: (Snap[A]) => Computation[A, U])(body: Computation[A, U]): Computation[A, U]
def instant: Computation[Instant, IO]
def onCancel[A, U <: IO](body: Computation[A, U])(comp: Computation[Unit, U]): Computation[A, U]
def onFailure[A, U <: IO](body: Computation[A, U])(f: Throwable => Computation[Unit, U]): Computation[A, U]
def raise(e: Throwable): Computation[Nothing, IO]
def sleep(millis: Long): Computation[Unit, IO]
def sleep(duration: FiniteDuration): Computation[Unit, IO]
def snap[A, U <: IO](body: Computation[A, U]): Computation[Snap[A], U]
def timed[A, U <: IO](comp: Computation[A, U]): Computation[(A, FiniteDuration), U]
def toEither[A, U <: IO](body: Computation[A, U]): Computation[Either[Throwable, A], U]
def toOption[A, U <: IO](body: Computation[A, U]): Computation[Option[A], U]
def toTry[A, U <: IO](body: Computation[A, U]): Computation[Try[A], U]
def uncancellable[A, U <: IO](comp: Computation[A, U]): Computation[A, U]
def unsnap[A](aa: Snap[A]): Computation[A, IO]

Inherited methods

def fromProduct(p: Product): MirroredMonoType

Create a new instance of type T with elements taken from product p.

Create a new instance of type T with elements taken from product p.

Attributes

Inherited from:
Singleton
def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product

Concrete fields

val cancel: Computation[Nothing, IO]
val nanoTime: Computation[FiniteDuration, IO]
val nanoTimeRaw: Computation[Long, IO]
val now: Computation[FiniteDuration, IO]
val nowRaw: Computation[Long, IO]
val yeld: Computation[Unit, IO]