]> matita.cs.unibo.it Git - fireball-separation.git/blob - ocaml/pure.mli
f36007498ca1556eeb20708641560cef3b725cc3
[fireball-separation.git] / ocaml / pure.mli
1 module Pure :
2   sig
3     type t = V of int | A of t * t | L of t
4     val print : ?l:string list -> t -> string
5     val lift : int -> t -> t
6     val unwind : ?tbl:('a list * t * 'a list as 'a, t) Hashtbl.t -> 'a -> t
7     val mwhd : (('a * t * ('b list as 'c) as 'b) list as 'a) * t * 'c -> t
8   end
9
10 module Scott :
11   sig
12     val mk_n : int -> Pure.t
13     val dummy : Pure.t
14     val mk_match : Pure.t -> (int * Pure.t) list -> Pure.t
15   end