package codept-lib
Module type Zipper_def.sSource
Source
type 'focus expr = | Open : M2l.module_expr expr| Include : M2l.module_expr expr| SigInclude : M2l.module_type expr| Bind : Name.t option -> M2l.module_expr expr| Bind_sig : Name.t option -> M2l.module_type expr| Bind_rec_sig : {diff : state_diff;left : (Name.t option * T.module_type * M2l.module_expr) list;name : Name.t option;expr : M2l.module_expr;right : M2l.module_expr M2l.bind list;
} -> M2l.module_type expr| Bind_rec : {left : Abbrevs.bind_rec;name : Name.t option;mt : T.module_type;right : (Name.t option * T.module_type * M2l.module_expr) list;
} -> M2l.module_expr expr| Minors : M2l.minor list expr| Extension_node : string -> M2l.extension_core expr
Source
type 'focus minor = | Access : waccess minor| Pack : M2l.module_expr minor| Extension_node : Name.t -> M2l.extension_core minor| Local_open_left : state_diff * Loc.t * M2l.minor list -> M2l.module_expr minor| Local_open_right : state_diff * Abbrevs.module_expr -> M2l.minor list minor| Local_bind_left : state_diff * Name.t option * M2l.minor list -> M2l.module_expr minor| Local_bind_right : state_diff * Name.t option * Abbrevs.module_expr -> M2l.minor list minor
Source
type 'f path_expr = | Simple : Abbrevs.path_in_context path_expr| App_f : Paths.Expr.t * (Module.level * Deps.Edge.t * Paths.S.t) option -> Paths.Expr.t path_expr| App_x : Abbrevs.path_expr_t * (Module.level * Deps.Edge.t * Paths.S.t) option -> Paths.Expr.t path_expr| Proj : Abbrevs.path_expr_t * Paths.S.t -> Abbrevs.path_in_context path_expr
Source
type 'focus me = | Ident : Abbrevs.path_in_context me| Apply_left : M2l.module_expr -> M2l.module_expr me| Apply_right : Abbrevs.module_expr -> M2l.module_expr me| Proj_left : Paths.Simple.t -> M2l.module_expr me| Proj_right : Abbrevs.module_expr * Paths.S.t -> Abbrevs.path_in_context me| Fun_left : {name : Name.t option;diff : state_diff;body : M2l.module_expr;
} -> M2l.module_type me| Fun_right : (Abbrevs.module_type Arg.t * state_diff) option -> M2l.module_expr me| Constraint_left : M2l.module_type -> M2l.module_expr me| Constraint_right : Abbrevs.module_expr -> M2l.module_type me| Str : M2l.m2l me| Val : M2l.minor list me| Extension_node : string -> M2l.extension_core me| Open_me_left : {left : Abbrevs.opens;right : Paths.S.t Loc.ext list;diff : state_diff;loc : Loc.t;expr : M2l.module_expr;
} -> Abbrevs.path_in_context me| Open_me_right : {opens : Abbrevs.opens;state : state_diff;
} -> M2l.module_expr me
Source
type 'focus mt = | Alias : Abbrevs.path_in_context mt| Ident : Paths.Expr.t mt| Sig : M2l.m2l mt| Fun_left : {name : Name.t option;diff : state_diff;body : M2l.module_type;
} -> M2l.module_type mt| Fun_right : (Abbrevs.module_type Arg.t * state_diff) option -> M2l.module_type mt| With_constraints : {original_body : Abbrevs.module_type;right : M2l.with_constraint list;
} -> M2l.with_constraint mt| With_body : M2l.with_constraint list -> M2l.module_type mt| Of : M2l.module_expr mt| Extension_node : string -> M2l.extension_core mt
Source
type 'focus with_constraint = | With_lhs : {body : Abbrevs.with_constraints;delete : bool;lhs : Paths.S.t;rhs : M2l.with_rhs;
} -> Abbrevs.path_in_context with_constraint| With_type : Abbrevs.with_constraints -> M2l.minor list with_constraint| With_module : {body : Abbrevs.with_constraints;lhs : Paths.S.t;delete : bool;
} -> Abbrevs.path_in_context with_constraint| With_module_type : {body : Abbrevs.with_constraints;lhs : Paths.S.t;delete : bool;
} -> M2l.module_type with_constraint
Source
type ('elt, 'from) elt = | M2l : {left : Abbrevs.m2l;loc : Uloc.t;state : state_diff;right : M2l.m2l;
} -> (M2l.expression, M2l.m2l) elt| Expr : 'elt expr -> ('elt, M2l.expression) elt| Minor : 'elt minor -> ('elt, M2l.minor) elt| Minors : {left : Abbrevs.minors;right : M2l.minor list;
} -> (M2l.minor, M2l.minor list) elt| Me : 'elt me -> ('elt, M2l.module_expr) elt| Mt : 'elt mt -> ('elt, M2l.module_type) elt| With_constraint : 'elt with_constraint -> ('elt, M2l.with_constraint) elt| Access : acc -> (Paths.Expr.t, waccess) elt| Ext : 'elt ext -> ('elt, M2l.extension_core) elt| Path_expr : 'elt path_expr -> ('elt, Paths.Expr.t) elt