jon.recoil.org

Module Flambda2_nominal.Name_abstraction

module type Term = sig ... end
type ('bindable, 'term) t
module Make (Bindable : Bindable.S) (Term : Term) : sig ... end
val apply_renaming : (module Bindable.S with type t = 'bindable) -> ('bindable, 'term) t -> Renaming.t -> apply_renaming_to_term:('term -> Renaming.t -> 'term) -> ('bindable, 'term) t
val pattern_match : (module Bindable.S with type t = 'bindable) -> ('bindable, 'term) t -> apply_renaming_to_term:('term -> Renaming.t -> 'term) -> f:('bindable -> 'term -> 'a) -> 'a
val pattern_match_for_printing : (module Bindable.S with type t = 'bindable) -> ('bindable, 'term) t -> apply_renaming_to_term:('term -> Renaming.t -> 'term) -> f:('bindable -> 'term -> 'a) -> 'a
val free_names : (module Bindable.S with type t = 'bindable) -> ('bindable, 'term) t -> free_names_of_term:('term -> Name_occurrences.t) -> Name_occurrences.t
val ids_for_export : (module Bindable.S with type t = 'bindable) -> ('bindable, 'term) t -> ids_for_export_of_term:('term -> Ids_for_export.t) -> Ids_for_export.t