La séquence, les boucles
l'expression |
begin |
E1; |
... |
En-1; |
En |
end |
|
équivaut à |
let void = E1 in |
let void = ... in |
let void = En-1 in |
En |
|
La boucle
for i = Im to IM do E done
introduit un nouvel identificateur i : int.
Dans un environnement E, si Im -E-> im et
IM -E-> iM, on évalue successivement l'expression
E dans les environnements Ei =ë(i=i)<|Eû
pour i Î im... iM
et on retourne la valeur ().
let i = "i" ;;
for i = 1 to 9
do
begin
print_int i ;
print_newline() ;
i
end
done ;;
i;;
l'identificateur i n'est ainsi pas lié en sortie de boucle !