Le typage de CAML XII
La généralisation
generaliser |
|
(typ) = t1,...,tn.typ
|
où les variables ti ne sont pas libres dans Env
Déclarations globales:
let id = exp;;
Même principe qu'auparavant mais la liaison (x:st1) est ajoutée à
l'environnement global.
Exemple
#let id = function x -> x;;
id : 'a -> 'a = <fun>
#let f = id id;;
f : '_a -> '_a = <fun>
#let g = function x -> (id id) x;;
g : 'a -> 'a = <fun>