diff options
author | David A. Madore <david+git@madore.org> | 2023-11-15 11:13:52 +0100 |
---|---|---|
committer | David A. Madore <david+git@madore.org> | 2023-11-15 11:13:52 +0100 |
commit | 641c5ce34c11e6e96ba7b118a6c9d6f55653257d (patch) | |
tree | b1b6cfebcc1b470b748bcf5f1570a8d92cfe19aa | |
parent | 22f53654a4a80c0a2e96a880a05ca695499e1a9b (diff) | |
download | inf110-lfi-641c5ce34c11e6e96ba7b118a6c9d6f55653257d.tar.gz inf110-lfi-641c5ce34c11e6e96ba7b118a6c9d6f55653257d.tar.bz2 inf110-lfi-641c5ce34c11e6e96ba7b118a6c9d6f55653257d.zip |
Typing and termination.
-rw-r--r-- | transp-inf110-02-typage.tex | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/transp-inf110-02-typage.tex b/transp-inf110-02-typage.tex index 9f53895..f84f192 100644 --- a/transp-inf110-02-typage.tex +++ b/transp-inf110-02-typage.tex @@ -467,4 +467,45 @@ linéarité. \end{frame} % +\begin{frame} +\frametitle{Typage et terminaison} + +Un système de typage \alert{peut} garantir que \textbf{tout programme + bien typé termine}. + +\bigskip + +Ce \alert{n'est pas le cas} pour les langages de programmation usuels +(en OCaml, Haskell, etc., un programme bien typé peut faire une boucle +infinie). + +\bigskip + +Si on veut que le système de typage soit décidable, ceci met forcément +des \alert{limites sur l'expressivité} du langage +($\leftarrow$ indécidabilité du problème de l'arrêt). + +\bigskip + +Notamment, le langage ne permettra pas d'écrire son propre +interpréteur (même argument « diagonal » que pour les fonctions p.r. +par thm. de réc\textsuperscript{sion} de Kleene). + +\bigskip + +Notamment aussi : pas de boucle illimitée, pas d'appels récursifs +\emph{non contraints}, pas de type tel que $\mathtt{t} \,\cong\, +(\mathtt{t}\rightarrow \mathtt{t})$. Aucun terme de type vide ! + +\bigskip + +Néanmoins, le langage peut être \alert{beaucoup plus puissant} que les +fonctions p.r. + +\bigskip + +Exemple de tel langage : Coq. + +\end{frame} +% \end{document} |