Module Lang.Env

module Env: sig .. end
Typing environments.

type t = (Lang.var * (Lang.expr option * Lang.expr)) list 
A typing environment assign to each variable, its value (when known, which should be in normal form) and its type.
val to_string : t -> string
String representation.
val empty : t
Empty environment.
val typ : t -> Lang.var -> Lang.expr
Type of an expression in an environment.
val value : t -> Lang.var -> Lang.expr option
Value of an expression in an environment.
val add : t -> Lang.var -> ?value:Lang.expr -> Lang.expr -> t
val add_ps : t -> (Lang.var * Lang.expr) list -> t