Closures

class Closures[-⚬[_, _], |*|[_, _], =⚬[_, _], Var[_], VarSet](using inj: BiInjective[|*|], variables: Variable[Var, VarSet])
class Object
trait Matchable
class Any

Type members

Classlikes

Value members

Concrete methods

def app[A, B](f: Expr[A =⚬ B], a: Expr[A])(resultVar: Var[B])(using ev: ClosedSemigroupalCategory[-⚬, |*|, =⚬]): Expr[B]
def closure[A, B](f: Expr[A] => Expr[B], boundVar: Var[A], resultVar: Var[A =⚬ B])(using ev: ClosedSymmetricSemigroupalCategory[-⚬, |*|, =⚬]): Either[ClosureError, Expr[A =⚬ B]]

Concrete fields

val lambdas: Lambda[-⚬, |*|, Var, VarSet]