cadenza / cadenza.semantics / Term

Term

abstract class Term

Types

Witness

abstract class Witness

Constructors

<init>

Term()

Functions

check

open fun check(ctx: Ctx, expectedType: Type): Witness

infer

abstract fun infer(ctx: Ctx): Witness

Companion Object Functions

tapp

fun tapp(trator: Term, vararg trands: Term, loc: Loc? = null): Term

tif

fun tif(cond: Term, thenTerm: Term, elseTerm: Term, loc: Loc? = null): Term

tlam

fun tlam(names: Array<Pair<Name, Type>>, body: Term, loc: Loc? = null): Term

tvar

fun tvar(name: String, loc: Loc? = null): Term