Map

libretto.lambda.LambdasImpl.Expr$.Map
case class Map[B, C](f: Expr[B], g: B -⚬ C, resultVar: Var[C]) extends Expr[C]

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait Expr[C]
class Object
trait Matchable
class Any

Members list

Concise view

Value members

Inherited methods

def cutAt[G[_]](p: [X] => (x$1: Expr[X]) => Option[G[X]]): Exists[[x] =>> (Tupled[[t] =>> Either[Var[t], G[t]], x], Expr[B])]

Attributes

Inherited from:
Expr

Attributes

Inherited from:
Expr
def map[C](f: C -⚬ 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] => (x$1: Var[X]) => Boolean): Exists[[x] =>> (Tupled[[t] =>> Either[Var[t], Expr[t]], x], Expr[B])]

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
def zip[D](that: Expr[D])(resultVar: Var[C |*| D]): Expr[B |*| D]

Attributes

Inherited from:
Expr