= Simple type
{title2=$\tau$}
In the examples here, a <simple type> is a finite expression built from the base types `int` and `bool` using <function types>:
$$
\tau::=\mathrm{int}\mid\mathrm{bool}\mid(\tau\to\tau).
$$
For example, $\mathrm{int}\to\mathrm{bool}$ describes a function accepting an <integer> and producing a Boolean value. During <type inference>, the grammar is extended with <type variables> such as $\alpha$ for types not yet determined. A <type scheme> additionally binds such <type variables>; it is distinct from the individual <simple type> used at one call.
Back to article page