ForLambdas

libretto.lambda.PatternMatching.ForLambdas
class ForLambdas[->>[_, _], V, C, LAMBDAS <: Lambdas[->>, **, V, C], E >: LinearityViolation[V, C] | UnusedInBranch[V, C] | PatternMatchError](val lambdas: LAMBDAS)(isExtractor: [X, Y] => (X ->> Y) => Option[Extractor[X, Y]], lower: [X, Y] => (X ->> Y) => Validated[E, X -> Y], lift: [X, Y] => (X -> Y) => X ->> Y)

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Value members

Concrete methods

def delambdifyAndCompile[A, R](scrutinee: lambdas.Expr[A], switchInput: V, switchOutput: V, cases: NonEmptyList[(C, V, lambdas.Context ?=> lambdas.Expr[A] => lambdas.Expr[R])])(using ctx: lambdas.Context): Validated[E, lambdas.Expr[R]]

Concrete fields

val lambdas: LAMBDAS