links

The Links Programming Language
IN THIS PACKAGE
val parent_env : Links_core.Ir.var
val hoisted_bindings : Links_core.Ir.binding list
method push_binding : visitor -> Links_core.Ir.binding -> 'b
method pop_hoisted_bindings : 'b -> 'b * Links_core.Ir.binding list
method bindings : 'b -> Links_core.Ir.binding list -> 'b * Links_core.Ir.binding list

Given a list of free variables, return a tuple containing the following:

  • a list of fresh quantifiers, each corresponding to one free variable
  • A map mapping the old free variables to fresh ones (to be used with Instantiate) *
method generalise_function_type_for_hoisting : 'b -> Links_core.Var.binder -> Links_core.Ir.binder
method generalise_function_body_for_hoisting : 'b -> Links_core.Ir.fun_def -> Links_core.Ir.fun_def