Module Flambda2_terms.Trap_action
Actions affecting exception traps on the stack. These are always associated with an Apply_cont node; the trap action is executed before the application of the continuation.
Beware: continuations cannot be used both as an exception handler and as a normal continuation (since continuations used as exception handlers use a calling convention that may differ from normal).
module Raise_kind : sig ... endtype t = | Push of {exn_handler : Flambda2_identifiers.Continuation.t;
}| Pop of {exn_handler : Flambda2_identifiers.Continuation.t;(*Note that even for
*)Pop,exn_handlermight not match the target continuation in the enclosingApply_cont_expr. One example is when a value is being returned from the end of the non-exceptional block of a try...with.raise_kind : Raise_kind.t option;
}
include Expr_std.S with type t := t
val print : Format.formatter -> t -> unitinclude Flambda2_nominal.Contains_names.S with type t := t
val free_names : t -> Flambda2_nominal.Name_occurrences.tCompute the free names of a term. Such computation covers all kinds of bindable names (variables, continuations, ...)
module Option : sig ... endval ids_for_export : t -> Flambda2_nominal.Ids_for_export.tval apply_renaming : t -> Flambda2_nominal.Renaming.t -> t