Closure

case
class Closure[X, V, B](captured: Expr[X], expr: VarDefining[V], f: Shuffled[X |*| V, B]) extends Found[V, B]
trait Serializable
trait Product
trait Equals
trait Found[V, B]
trait ElimStep[V, B]
class Object
trait Matchable
class Any

Value members

Inherited methods

def foundVar: Var[V]
Inherited from
Found
override
def map[C](f: Shuffled[B, C]): Found[V, C]
Definition Classes
Inherited from
Found
def map[C](f: B -⚬ C): ElimStep[V, C]
Inherited from
ElimStep
def productElementNames: Iterator[String]
Inherited from
Product
def productIterator: Iterator[Any]
Inherited from
Product
def withCaptured[X](captured: Expr[X]): Found[V, X |*| B]

Assumes captured does not contain foundVar (and thus neither any vars derived from it). Since captured uses only external variables, a closure will be created.

Assumes captured does not contain foundVar (and thus neither any vars derived from it). Since captured uses only external variables, a closure will be created.

Inherited from
Found
def withExpr[X](expr: Expr[X]): ElimStep[V, X |*| B]

Along the way tries to resolve captured vars of expr to unused variables of this.

Along the way tries to resolve captured vars of expr to unused variables of this.

Inherited from
Found