sig
type 'a or_error = [ `Error of string | `Ok of 'a ]
type state = Flex_state.t
type env_action = (module Env.S) -> unit
type prec_action = Extensions.state -> Compute_prec.t -> Compute_prec.t
type 'a state_actions = ('a -> Extensions.state -> Extensions.state) list
type t = {
name : string;
prio : int;
start_file_actions : string Extensions.state_actions;
post_parse_actions :
Libzipperposition.UntypedAST.statement Sequence.t
Extensions.state_actions;
post_typing_actions :
Libzipperposition.TypeInference.typed_statement CCVector.ro_vector
Extensions.state_actions;
post_cnf_actions :
Libzipperposition.Statement.clause_t CCVector.ro_vector
Extensions.state_actions;
ord_select_actions :
(Libzipperposition.Ordering.t * Selection.t) Extensions.state_actions;
ctx_actions : (module Ctx_intf.S) Extensions.state_actions;
prec_actions : Extensions.prec_action list;
env_actions : Extensions.env_action list;
}
val default : Extensions.t
val register : Extensions.t -> unit
val extensions : unit -> Extensions.t list
val by_name : string -> Extensions.t option
val names : unit -> string Sequence.t
end