Prj2

libretto.lambda.LambdasImpl.Expr.Prj2
case class Prj2[B1, B2](f: Expr[B1 ** B2], b1: Var[B1], b2: Var[B2]) extends Expr[B2]

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait Expr[B2]
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

override def resultVar: Var[B2]

Attributes

Definition Classes

Inherited methods

def allVars: Set[V]

Attributes

Inherited from:
Expr
def cutAt[G[_]](p: [X] => Expr[X] => Option[G[X]]): Exists[[x] =>> (Tupled[[t] =>> Either[Var[t], G[t]], x], Expr[B2])]

Attributes

Inherited from:
Expr
def initialVars: Set[V]

Attributes

Inherited from:
Expr
infix def map[C](f: B2 -> C)(resultVar: Var[C]): Expr[C]

Attributes

Inherited from:
Expr
def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product
def splitAt(p: [X] => Var[X] => Boolean): Exists[[x] =>> (Tupled[[t] =>> Either[Var[t], Expr[t]], x], Expr[B2])]

Goes from the end backwards (i.e. from the result variable towards inital variables) and splits this expression at the boundary where the given predicate first returns true. Initial variables of the resulting trimmed Expr[B] (second part of the returned tuple) are exactly the terminal variables of the returned prefix expressions (first part of the returned tuple). If in some branch the predicate never returns true, the expression's initial variable in that branch is returned as Left.

Goes from the end backwards (i.e. from the result variable towards inital variables) and splits this expression at the boundary where the given predicate first returns true. Initial variables of the resulting trimmed Expr[B] (second part of the returned tuple) are exactly the terminal variables of the returned prefix expressions (first part of the returned tuple). If in some branch the predicate never returns true, the expression's initial variable in that branch is returned as Left.

Attributes

Inherited from:
Expr
infix def zip[D](that: Expr[D])(resultVar: Var[B2 ** D]): Expr[B2 ** D]

Attributes

Inherited from:
Expr