Précédent Index Suivant



Le typage de CAML V



Déclarations locales
let idf = exp1 in exp2;;
#let z = 1 in z+2;;
- : int = 3
#let y = z+1;;
Entrée interactive:
>let y = z+1;;
>        ^
L'identificateur z n'est pas défini.
  1. Typage de exp1 (Env  |-  exp1 : ty1)
  2. Ajout du type obtenu à l'environnement Env_loc = ë (idf:ty1) <|  Env û
  3. Typage de exp2 dans Env_loc (Env'  |-  exp2 : ty2)
  4. L'environnement global est inchangé
(Let)
Env  |-  exp1 : t1     ë (idf:t1) <|  Env û  |-  exp2 : t2
Env  |-  let idf = exp1 in exp2 : t2


Précédent Index Suivant