module VarManager: sig .. end
An abstract datatype for managing variables.
module type I = sig .. end
module type SubstSig = sig .. end
module type S = sig .. end
type varname_class =
| |
FREE |
| |
BOUND |
| |
ANONYMOUS |
val mk : int ->
string -> (string -> varname_class) -> (module VarManager.S)
mk seed anon_str classify creates a new variable manager module where:
seed specifies a cyclic permutation of the alphabet, which is used
internally to create new variable names;
anon_str specifies how to represent "anonymous" variables as a string;
classify varname returns a value of type varname_class classifying varname.