Évaluation
Espace d'
expressions
Espace de
valeurs
1+2
3
if true then 1 else 2
1
let y = 1 in y+1
2
function x -> x + 1
«
x
:->
x
+1,
E
»
let y = 1 in
function x -> x + y
«
x
:->
x
+
y
,
E
1
»
Une
expression
Caml-Light prend une
valeur
dans un
environnement
. C'est l'
évaluation
.
Un
identificateur
est un nom
2
.
Un
environnement
permet d'associer une valeur à un identificateur.
Une
liaison
est l'association d'un identificateur à une valeur.
Dans un environnement il peut y avoir
plusieurs
liaisons pour un même identificateur, c'est le
masquage
.
Si
E
est un environnement,
E
est une expression et
V
une valeur, on notera
E
-
E
->
V
si
E
s'évalue en
V
dans l'environnement
E
.
Ainsi si
E
est l'environnement courant, on a :
true
-
E
->
true
,
1 -
E
-> 1,
(
if true then
1
else
2) -
E
-> 1
L'environnement
global
est l'environnement dans lequel le programme se trouve.
2
que l'on utilise souvent dans une fonction ou pour pour éviter des re-calculs