Module T.Ast


module Ast: sig .. end
Les termes de la syntaxe abstraite typée


type t =
| Num of int (*Constante entière*)
| Var of string (*Accès à une variable*)
| Op of Op.t * t * t (*Application d'un opérateur binaire t1 op t2*)
| Ifz of t * t * t (*Conditionnelle Ifz t1 Then t2 Else t3*)
| Let of string * t * t (*Liaison locale Let x = t1 In t2*)
| App of t * t (*Application de fonction t1 t2*)
| Fun of string * T.Type.t * t (*Définition de fonction Fun (x:ty) -> t*)
| Fix of string * T.Type.t * t (*Point fixe Fix (x:ty) -> t*)
Les termes
val erase : t -> S.Ast.t
Efface les types d'un terme de PCF explicitement typé, ce qui produit un terme de PCF non typé