Typing context (source code)

= Typing context
{title2=$\Gamma$}

A <typing context> records the types assumed for available program names. In $\Gamma=\{x:\mathrm{int},y:\mathrm{int}\}$, looking up either name yields `int`. Checking a <lambda abstraction> extends the <typing context> with its argument's type for the body. In the <Hindley-Milner type system>, a <typing context> can also hold <type schemes> for names introduced by <let polymorphism>.