Computation

object Computation extends ComputationExtensions with ComputationInstances

Use the !! alias to access methods of this companion object.

Example:

val myComputation: Int !! Any = !!.pure(42)
Companion:
class
trait Sum
trait Mirror
trait ComputationInstances
trait ComputationExtensions
class Object
trait Matchable
class Any

Type members

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Inherited from:
Mirror
type MirroredLabel <: String

The name of the type

The name of the type

Inherited from:
Mirror

Value members

Concrete methods

def defer[A, U](ua: => Computation[A, U]): Computation[A, U]
def fail: Computation[Nothing, ChoiceSig]
def generate[A, B, U](init: A, cond: A => Boolean, inc: A => A)(body: A => Computation[B, U]): Computation[Vector[B], U]
def impure[A](a: => A): Computation[A, Any]
def iterate[A, U](init: A, cond: A => Boolean, inc: A => A)(body: A => Computation[Unit, U]): Computation[A, U]
def iterateUntil[A, U](init: A, cond: A => Boolean)(body: A => Computation[A, U]): Computation[A, U]
def iterateVoid[A, U](init: A, cond: A => Boolean, inc: A => A)(body: A => Computation[Unit, U]): Computation[Unit, U]
def iterateWhile[A, U](init: A, cond: A => Boolean)(body: A => Computation[A, U]): Computation[A, U]
def pure(): Computation[Unit, Any]
def pure[A](a: A): Computation[A, Any]
def repeat[U](n: Int)(body: => Computation[Unit, U]): Computation[Unit, U]
def repeatUntil[U, U2 <: U](cond: Computation[Boolean, U])(body: => Computation[Unit, U2]): Computation[Unit, U2]
def repeatWhile[U, U2 <: U](cond: Computation[Boolean, U])(body: => Computation[Unit, U2]): Computation[Unit, U2]
def replicate[A, U](n: Int)(body: => Computation[A, U]): Computation[Vector[A], U]
def unless[U](cond: Boolean)(body: => Computation[Unit, U]): Computation[Unit, U]
def when[U](cond: Boolean)(body: => Computation[Unit, U]): Computation[Unit, U]

Concrete fields

val unit: Computation[Unit, Any]

Givens

Inherited givens

given given_MonadZip_Computation[U]: given_MonadZip_Computation[U]
Inherited from:
ComputationInstances

Extensions

Inherited extensions

extension [U](thiz: Computation[Boolean, U])
def if_!![U2 <: U](thenBody: => Computation[Unit, U2])(elseBody: => Computation[Unit, U2]): Computation[Unit, U2]
Inherited from:
ComputationExtensions
def until_!![U2 <: U](body: => Computation[Unit, U2]): Computation[Unit, U2]
Inherited from:
ComputationExtensions
def while_!![U2 <: U](body: => Computation[Unit, U2]): Computation[Unit, U2]
Inherited from:
ComputationExtensions
extension [A, U](thiz: Computation[A, U])
def >>=![F[_], L, N](f: A => Handler[F, L, N]): Handler[F, L, U & N]
Inherited from:
ComputationExtensions
def downCast[U2 >: U]: Computation[A, U2]
Inherited from:
ComputationExtensions
def handleWith[V]: HandleWithApply[A, U, V]
Inherited from:
ComputationExtensions
def run(implicit ev: CanRun[U]): A
Inherited from:
ComputationExtensions
def runWith[F[_], L](h: Free[F, L])(implicit ev: CanTotallyHandle[U, L]): F[A]
Inherited from:
ComputationExtensions
extension [A, B, U](thiz: Computation[(A, B), U])
def flatMap2[C, U2 <: U](f: (A, B) => Computation[C, U2]): Computation[C, U2]
Inherited from:
ComputationExtensions
def map2[C](f: (A, B) => C): Computation[C, U]
Inherited from:
ComputationExtensions
extension [F[_], L, N](thiz: Computation[Handler[F, L, N], N])
def flattenHandler: Handler[F, L, N]
Inherited from:
ComputationExtensions