jon.recoil.org

Module Flambda.Recursive_let_cont_handlers

The representation of the alpha-equivalence class of a group of possibly (mutually-) recursive continuation handlers that are bound both over a body and their own handler code.

val apply_renaming : t -> Flambda2_nominal.Renaming.t -> t
val pattern_match : t -> f: (invariant_params:Flambda2_bound_identifiers.Bound_parameters.t -> body:expr -> Continuation_handlers.t -> 'a) -> 'a

Deconstruct a continuation binding to get the bound continuations, together with the expressions and handlers over which they are scoped.

val pattern_match_pair : t -> t -> f: (invariant_params:Flambda2_bound_identifiers.Bound_parameters.t -> body1:expr -> body2:expr -> Continuation_handlers.t -> Continuation_handlers.t -> 'a) -> 'a

Deconstruct two continuation bindings using the same bound continuations.