Module Lib.TP

val remove_bound : Id.Set.t Id.Scoped.t -> Id.Set.t
val free_variables : Skimmel.t -> Id.Set.t
val free_variables_scoped : Skimmel.t Id.Scoped.t -> Id.Set.t
val apply_closure : Closed.exp -> Closed.exp -> Closed.exp
val assign_positions : Id.t list -> int * (Id.t * int) list
val build_closure : Id.t -> int -> (Id.t * int) list -> Closed.exp
val build_named_function : Id.t -> Id.t option -> (Id.t * int) list -> Id.t -> Closed.exp -> Closed.fundef
val translate_anonymous_function : Id.t option -> Id.t list -> Id.t -> Closed.exp -> Closed.fundef list -> Closed.exp * Closed.fundef list
val close_exp : Skimmel.t -> Closed.fundef list -> Closed.exp * Closed.fundef list
val eta_expand_builtins : Skimmel.t -> Skimmel.t
val close : Skimmel.t -> Closed.t