TypeCheckerWithExplicitTypesAST

class Object
trait Matchable
class Any

Type members

Classlikes

case
class App(f: Exp, arg: Exp) extends Exp
case
class Bool(b: Boolean) extends Literal
sealed
trait Exp
case
class Fun(arg: String, argType: Type, body: Exp) extends Exp
case
class Id(name: String) extends Exp
case
class If(tst: Exp, thn: Exp, els: Exp) extends Exp
case
class Lit(l: Literal) extends Exp
trait Literal
case
class Num(i: Int) extends Literal
case
class TyBuiltin(name: String) extends Type
case
class TyLam(f: Type, arg: Type) extends Type
case
class TyVar(name: String) extends Type
trait Type

Types

type TypeEnv = Map[String, Type]

Value members

Concrete methods

Concrete fields