VArr

object VArr
Companion
class
trait Sum
trait Mirror
class Object
trait Matchable
class Any

Type members

Classlikes

object ElimRes
Companion
class
sealed
trait ElimRes[V, B]
Companion
object
object ElimStep
Companion
class
sealed
trait ElimStep[V, B]
Companion
object
case
class Id[A](variable: Var[A]) extends VarDefining[A, A]
case
class Map[A, B, C](f: VArr[A, B], g: B -⚬ C, resultVar: Var[C]) extends VarDefining[A, C]
case
class Par[A1, A2, B1, B2](f1: VArr[A1, B1], f2: VArr[A2, B2]) extends VArr[A1 |*| A2, B1 |*| B2]
case
class Prj1[A, B1, B2](f: VArr[A, B1 |*| B2], b1: Var[B1], b2: Var[B2]) extends VarDefining[A, B1]
case
class Prj2[A, B1, B2](f: VArr[A, B1 |*| B2], b1: Var[B1], b2: Var[B2]) extends VarDefining[A, B2]
sealed
trait VarDefining[A, B] extends VArr[A, B]
case
class Zip[A1, A2, B1, B2](f1: VArr[A1, B1], f2: VArr[A2, B2], resultVar: Var[B1 |*| B2]) extends VarDefining[A1 |*| A2, B1 |*| B2]

Like Par, but defines a new variable to store the result

Like Par, but defines a new variable to store the result

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 unzip[A, B1, B2](f: VArr[A, B1 |*| B2])(resultVar1: Var[B1], resultVar2: Var[B2]): (VArr[A, B1], VArr[A, B2])