package codept-lib

  1. Overview
  2. Docs
module T : tree
module Abbrevs : sig ... end
type waccess =
  1. | W of Abbrevs.access
type 'focus expr =
  1. | Open : M2l.module_expr expr
  2. | Include : M2l.module_expr expr
  3. | SigInclude : M2l.module_type expr
  4. | Bind : Name.t option -> M2l.module_expr expr
  5. | Bind_sig : Name.t option -> M2l.module_type expr
  6. | Bind_rec_sig : {
    1. diff : state_diff;
    2. left : (Name.t option * T.module_type * M2l.module_expr) list;
    3. name : Name.t option;
    4. expr : M2l.module_expr;
    5. right : M2l.module_expr M2l.bind list;
    } -> M2l.module_type expr
  7. | Bind_rec : {
    1. left : Abbrevs.bind_rec;
    2. name : Name.t option;
    3. mt : T.module_type;
    4. right : (Name.t option * T.module_type * M2l.module_expr) list;
    } -> M2l.module_expr expr
  8. | Minors : M2l.minor list expr
  9. | Extension_node : string -> M2l.extension_core expr
type 'focus minor =
  1. | Access : waccess minor
  2. | Pack : M2l.module_expr minor
  3. | Extension_node : Name.t -> M2l.extension_core minor
  4. | Local_open_left : state_diff * Loc.t * M2l.minor list -> M2l.module_expr minor
  5. | Local_open_right : state_diff * Abbrevs.module_expr -> M2l.minor list minor
  6. | Local_bind_left : state_diff * Name.t option * M2l.minor list -> M2l.module_expr minor
  7. | Local_bind_right : state_diff * Name.t option * Abbrevs.module_expr -> M2l.minor list minor
type acc = {
  1. left : Abbrevs.access;
  2. right : a list;
}
type 'focus me =
  1. | Ident : Abbrevs.path_in_context me
  2. | Apply_left : M2l.module_expr -> M2l.module_expr me
  3. | Apply_right : Abbrevs.module_expr -> M2l.module_expr me
  4. | Proj_left : Paths.Simple.t -> M2l.module_expr me
  5. | Proj_right : Abbrevs.module_expr * Paths.S.t -> Abbrevs.path_in_context me
  6. | Fun_left : {
    1. name : Name.t option;
    2. diff : state_diff;
    3. body : M2l.module_expr;
    } -> M2l.module_type me
  7. | Fun_right : (Abbrevs.module_type Arg.t * state_diff) option -> M2l.module_expr me
  8. | Constraint_left : M2l.module_type -> M2l.module_expr me
  9. | Constraint_right : Abbrevs.module_expr -> M2l.module_type me
  10. | Str : M2l.m2l me
  11. | Val : M2l.minor list me
  12. | Extension_node : string -> M2l.extension_core me
  13. | Open_me_left : {
    1. left : Abbrevs.opens;
    2. right : Paths.S.t Loc.ext list;
    3. diff : state_diff;
    4. loc : Loc.t;
    5. expr : M2l.module_expr;
    } -> Abbrevs.path_in_context me
  14. | Open_me_right : {
    1. opens : Abbrevs.opens;
    2. state : state_diff;
    } -> M2l.module_expr me
type 'focus mt =
  1. | Alias : Abbrevs.path_in_context mt
  2. | Ident : Paths.Expr.t mt
  3. | Sig : M2l.m2l mt
  4. | Fun_left : {
    1. name : Name.t option;
    2. diff : state_diff;
    3. body : M2l.module_type;
    } -> M2l.module_type mt
  5. | Fun_right : (Abbrevs.module_type Arg.t * state_diff) option -> M2l.module_type mt
  6. | With_constraints : {
    1. original_body : Abbrevs.module_type;
    2. right : M2l.with_constraint list;
    } -> M2l.with_constraint mt
  7. | With_body : M2l.with_constraint list -> M2l.module_type mt
  8. | Of : M2l.module_expr mt
  9. | Extension_node : string -> M2l.extension_core mt
type 'focus with_constraint =
  1. | With_lhs : {
    1. body : Abbrevs.with_constraints;
    2. delete : bool;
    3. lhs : Paths.S.t;
    4. rhs : M2l.with_rhs;
    } -> Abbrevs.path_in_context with_constraint
  2. | With_type : Abbrevs.with_constraints -> M2l.minor list with_constraint
  3. | With_module : {
    1. body : Abbrevs.with_constraints;
    2. lhs : Paths.S.t;
    3. delete : bool;
    } -> Abbrevs.path_in_context with_constraint
  4. | With_module_type : {
    1. body : Abbrevs.with_constraints;
    2. lhs : Paths.S.t;
    3. delete : bool;
    } -> M2l.module_type with_constraint
type 'focus ext =
  1. | Mod : M2l.m2l ext
  2. | Val : M2l.minor list ext
type ('elt, 'from) elt =
  1. | M2l : {
    1. left : Abbrevs.m2l;
    2. loc : Uloc.t;
    3. state : state_diff;
    4. right : M2l.m2l;
    } -> (M2l.expression, M2l.m2l) elt
  2. | Expr : 'elt expr -> ('elt, M2l.expression) elt
  3. | Minor : 'elt minor -> ('elt, M2l.minor) elt
  4. | Minors : {
    1. left : Abbrevs.minors;
    2. right : M2l.minor list;
    } -> (M2l.minor, M2l.minor list) elt
  5. | Me : 'elt me -> ('elt, M2l.module_expr) elt
  6. | Mt : 'elt mt -> ('elt, M2l.module_type) elt
  7. | With_constraint : 'elt with_constraint -> ('elt, M2l.with_constraint) elt
  8. | Access : acc -> (Paths.Expr.t, waccess) elt
  9. | Ext : 'elt ext -> ('elt, M2l.extension_core) elt
  10. | Path_expr : 'elt path_expr -> ('elt, Paths.Expr.t) elt
type 'f t =
  1. | [] : M2l.m2l t
  2. | :: : ('focus, 'from) elt * 'from t -> 'focus t
type 'result zipper = {
  1. path : 'result t;
  2. focus : 'result;
}
OCaml

Innovation. Community. Security.