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

Abstract type that must be used in definitions of effect's operations.

Abstract type that must be used in definitions of effect's operations.

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

Attributes

Inherited types

type !@![A, U]

Abstract type that must be used in definitions of effect's operations.

Abstract type that must be used in definitions of effect's operations.

Becomes an alias of Computation (i.e. same as !!), once the signature is inherited from Effect.

Attributes

Inherited from:
Signature
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 MirroredLabel <: String

The name of the type

The name of the type

Attributes

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

The mirrored *-type

The mirrored *-type

Attributes

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

Attributes

Inherited from:
Singleton

Value members

Concrete methods

def apply[A](value: => A): Computation[A, IO]
def blocking[A](value: => A): Computation[A, IO]
def cancel: Computation[Nothing, IO]
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 fail(e: Throwable): 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](release: Computation[Unit, U])(body: Computation[A, U]): Computation[A, U]
def onFailure[A, U <: IO](body: Computation[A, U])(f: Throwable => Computation[Unit, U]): Computation[A, U]
def snap[A, B, U <: IO](body: Computation[A, U])(f: Snap[A] => Computation[B, U]): Computation[B, 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 unsnap[A](aa: Snap[A]): Computation[A, IO]
def yeld: Computation[Unit, 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