Module type Purity.Purable


module type Purable = sig .. end
The interface of a data structure that can be inspected for pure literals.

type purable 
The type of the data structure.
val purity_add : purable ->
?range:Purity.range option -> pur:Purity.t -> Purity.t
Updates a purity depending on an object of type purable
val purify : purable ->
cstr:Constraint.t -> pur:Purity.t -> Modified.t * purable
Takes an object of type purable and eliminates the pure literals inside according to pur and cstr. Result is tagged with Modified information for the sake of efficiency.