ClosureOps

libretto.ClosedDSL.ClosureOps
trait ClosureOps

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Value members

Abstract methods

def apply[A, B](using SourcePos, LambdaContext)(f: LambdaContext ?=> $[A] => $[B]): $[A =⚬ B]

Creates a closure (A =⚬ B), i.e. a function that captures variables from the outer scope, as an expression ($[A =⚬ B]) that can be used in outer λ.

Creates a closure (A =⚬ B), i.e. a function that captures variables from the outer scope, as an expression ($[A =⚬ B]) that can be used in outer λ.

Attributes

Concrete methods

def *[A, B](using SourcePos, LambdaContext)(f: LambdaContext ?=> $[A] => $[B])(using Comonoid[A]): $[A =⚬ B]
def +[A, B](using SourcePos, LambdaContext)(f: LambdaContext ?=> $[A] => $[B])(using Cosemigroup[A]): $[A =⚬ B]
def ?[A, B](using SourcePos, LambdaContext)(f: LambdaContext ?=> $[A] => $[B])(using Affine[A]): $[A =⚬ B]