Introduction
La s´emantique d´enotationnelle
La s´emantique d´enotationnelle est l’´etude math´ematique des langages de pro-
grammation et de leur compilation 1.
Formellement, on associe `a un programme une fonction qui va de l’ensemble
mod´elisant les arguments du programme vers l’ensemble mod´elisant ses r´esul-
tats. Ici, on ´etudie les programmes et le type (entier, flottant, fonction...) des
arguments et des r´esultats. Par exemple, on peut associer `a un programme qui
prend deux arguments de type entier et renvoie leur somme de type entier, la
fonction sum :N×N→N. Si cette abstraction est un bon mod`ele, son ´etude
math´ematique pourra donner des informations sur les propri´et´es du programme
et de sa compilation.
Le mˆeme objet est utilis´e pour mod´eliser le programme ou son type. On parlera
respectivement de s´emantique des termes ou de s´emantique des types.
Les mod`eles classiques
De nombreux travaux en semantique d´enotationnelle ont ´et´e consacr´es `a la mo-
d´elisation d’un langage de programmation simplifi´e appel´e PCF (une extension
du lambda-calcul simplement typ´e obtenue en ajoutant les points fixes). Dans
ce langage, les programmes sont appel´es des termes.
On peut citer comme exemples :
•Le mod`ele des domaines de Scott et des fonctions continues, dans lequel les
types sont mod´elis´es par des cpo (i.e. des ensembles dont les parties dirig´ees
poss`edent une borne sup´erieure2) et les termes sont interpr´et´es par des fonc-
tions continues (i.e. des fonctions monotones qui pr´eservent les sups filtrants).
La notion de continuit´e sert `a traduire une propri´et´e simple des programmes.
Etant donn´e un argument, on dit qu’un programme termine s’il calcule le
r´esultat en un temps fini. Dans ce cas, il n’a besoin que d’une quantit´e finie
de l’information contenue dans l’argument. Ceci se traduit par :
Soient xun argument, fun programme. Pour tout bfini tel que f(x)≥b, il
existe x0⊆xfini tel que f(x0)≥b.
•Le mod`ele des domaines de Berry et des fonctions stables, dans lequel les
types sont mod´elis´es par des dI-domaines (i.e. un cas particulier de cpo) et
1Cours d’introduction aux Mod`eles des langages de programmation - MPRI 2005.
2On appelle sup filtrant une telle borne.
4