29 lines
760 B
OCaml
29 lines
760 B
OCaml
open Structs
|
||
|
||
exception TODOException;;
|
||
|
||
(* Affiche un λ-terme avec la même syntaxe qu’en entrée *)
|
||
let affiche_lam (l: lam) : unit =
|
||
raise TODOException
|
||
;;
|
||
|
||
(* Teste si les deux λ-termes l1 et l2 sont α-convertibles *)
|
||
let alpha (l1: lam) (l2: lam) : bool =
|
||
raise TODOException
|
||
;;
|
||
|
||
(* Fait un pas de β-réduction, et renvoie None si on a une forme normale *)
|
||
let betastep (l: lam) : lam option =
|
||
raise TODOException
|
||
;;
|
||
|
||
(* Affiche les réductions du λ-terme l jusqu’à atteindre une forme normale, ou part en boucle infinie *)
|
||
let reduce (l:lam) : unit =
|
||
raise TODOException
|
||
;;
|
||
|
||
(* Vérifie que le λ-terme l sous l'environnement env a bien le type t *)
|
||
let typecheck (env: gam) (l: lam) (t: ty) : bool =
|
||
raise TODOException
|
||
;;
|