Typing environment

In type theory, a typing environment (or typing context) represents the association between variable names and data types.

More formally, an environment \Gamma is a set or ordered list of pairs \langle x,\tau \rangle, usually written as x:\tau, where x is a variable and \tau its type.

The judgement

: \Gamma \vdash e:\tau

is read as "e has type \tau in context \Gamma ".

For each function body type checks:

:\Gamma = \{(f,\tau_1\times...\times\tau_n \to \tau_0)|(f,xs,(\tau_1,...,\tau_n),t_f,\tau_0)\in e\}

Typing Rules Example:

\begin{array}{c}

\Gamma\vdash b:Bool, \Gamma\vdash t_1:\tau, \Gamma\vdash t_2:\tau\\

\hline

\Gamma \vdash (\text{if}(b) t_1 \text{else} t_2): \tau \\

\end{array}

In statically typed programming languages, these environments are used and maintained by typing rules to type check a given program or expression.{{Cite web| title=Simply Typed λ-calculus|url=https://www.cs.cornell.edu/courses/cs4110/2012fa/lectures/lecture19.pdf}}

See also

References