\begin{slide}{Deklaration und Inferenz}

  \begin{itemize}
  \item Deklaration:

    Programmierer gibt für jeden Bezeichner Typ an,
    Compiler prüft auf Konsistenz.

    Prinzip: $(f :: a \to b \wedge x :: a) \Rightarrow f(x) :: b$
  \item Inferenz:

    Compiler berechnet ($=$ inferiert) Typ der Bezeichner

    Prinzip: aus \verb|var x = 5;| folgt \verb|x :: int|
  \end{itemize}



\end{slide}
