package deriving

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
module Loc : sig ... end
type loc = Loc.t
and meta_bool =
  1. | BTrue
  2. | BFalse
  3. | BAnt of string
and rec_flag =
  1. | ReRecursive
  2. | ReNonrecursive
  3. | ReNil
  4. | ReAnt of string
and direction_flag =
  1. | DiTo
  2. | DiDownto
  3. | DiAnt of string
and mutable_flag =
  1. | MuMutable
  2. | MuNil
  3. | MuAnt of string
and private_flag =
  1. | PrPrivate
  2. | PrNil
  3. | PrAnt of string
and virtual_flag =
  1. | ViVirtual
  2. | ViNil
  3. | ViAnt of string
and override_flag =
  1. | OvOverride
  2. | OvNil
  3. | OvAnt of string
and row_var_flag =
  1. | RvRowVar
  2. | RvNil
  3. | RvAnt of string
and !'a meta_option =
  1. | ONone
  2. | OSome of 'a
  3. | OAnt of string
and !'a meta_list =
  1. | LNil
  2. | LCons of 'a * 'a meta_list
  3. | LAnt of string
and ident =
  1. | IdAcc of loc * ident * ident
  2. | IdApp of loc * ident * ident
  3. | IdLid of loc * string
  4. | IdUid of loc * string
  5. | IdAnt of loc * string
and ctyp =
  1. | TyNil of loc
  2. | TyAli of loc * ctyp * ctyp
  3. | TyAny of loc
  4. | TyApp of loc * ctyp * ctyp
  5. | TyArr of loc * ctyp * ctyp
  6. | TyCls of loc * ident
  7. | TyLab of loc * string * ctyp
  8. | TyId of loc * ident
  9. | TyMan of loc * ctyp * ctyp
  10. | TyDcl of loc * string * ctyp list * ctyp * (ctyp * ctyp) list
  11. | TyExt of loc * ident * ctyp list * ctyp
  12. | TyObj of loc * ctyp * row_var_flag
  13. | TyOlb of loc * string * ctyp
  14. | TyPol of loc * ctyp * ctyp
  15. | TyTypePol of loc * ctyp * ctyp
  16. | TyQuo of loc * string
  17. | TyQuP of loc * string
  18. | TyQuM of loc * string
  19. | TyAnP of loc
  20. | TyAnM of loc
  21. | TyVrn of loc * string
  22. | TyRec of loc * ctyp
  23. | TyCol of loc * ctyp * ctyp
  24. | TySem of loc * ctyp * ctyp
  25. | TyCom of loc * ctyp * ctyp
  26. | TySum of loc * ctyp
  27. | TyOf of loc * ctyp * ctyp
  28. | TyAnd of loc * ctyp * ctyp
  29. | TyOr of loc * ctyp * ctyp
  30. | TyPrv of loc * ctyp
  31. | TyMut of loc * ctyp
  32. | TyTup of loc * ctyp
  33. | TySta of loc * ctyp * ctyp
  34. | TyVrnEq of loc * ctyp
  35. | TyVrnSup of loc * ctyp
  36. | TyVrnInf of loc * ctyp
  37. | TyVrnInfSup of loc * ctyp * ctyp
  38. | TyAmp of loc * ctyp * ctyp
  39. | TyOfAmp of loc * ctyp * ctyp
  40. | TyPkg of loc * module_type
  41. | TyOpn of loc
  42. | TyAtt of loc * string * str_item * ctyp
  43. | TyAnt of loc * string
and patt =
  1. | PaNil of loc
  2. | PaId of loc * ident
  3. | PaAli of loc * patt * patt
  4. | PaAnt of loc * string
  5. | PaAny of loc
  6. | PaApp of loc * patt * patt
  7. | PaArr of loc * patt
  8. | PaCom of loc * patt * patt
  9. | PaSem of loc * patt * patt
  10. | PaChr of loc * string
  11. | PaInt of loc * string
  12. | PaInt32 of loc * string
  13. | PaInt64 of loc * string
  14. | PaNativeInt of loc * string
  15. | PaFlo of loc * string
  16. | PaLab of loc * string * patt
  17. | PaOlb of loc * string * patt
  18. | PaOlbi of loc * string * patt * expr
  19. | PaOrp of loc * patt * patt
  20. | PaRng of loc * patt * patt
  21. | PaRec of loc * patt
  22. | PaEq of loc * ident * patt
  23. | PaStr of loc * string
  24. | PaTup of loc * patt
  25. | PaTyc of loc * patt * ctyp
  26. | PaTyp of loc * ident
  27. | PaVrn of loc * string
  28. | PaLaz of loc * patt
  29. | PaAtt of loc * string * str_item * patt
  30. | PaMod of loc * string
  31. | PaExc of loc * patt
and expr =
  1. | ExNil of loc
  2. | ExId of loc * ident
  3. | ExAcc of loc * expr * expr
  4. | ExAnt of loc * string
  5. | ExApp of loc * expr * expr
  6. | ExAre of loc * expr * expr
  7. | ExArr of loc * expr
  8. | ExSem of loc * expr * expr
  9. | ExAsf of loc
  10. | ExAsr of loc * expr
  11. | ExAss of loc * expr * expr
  12. | ExChr of loc * string
  13. | ExCoe of loc * expr * ctyp * ctyp
  14. | ExFlo of loc * string
  15. | ExFor of loc * patt * expr * expr * direction_flag * expr
  16. | ExFun of loc * match_case
  17. | ExIfe of loc * expr * expr * expr
  18. | ExInt of loc * string
  19. | ExInt32 of loc * string
  20. | ExInt64 of loc * string
  21. | ExNativeInt of loc * string
  22. | ExLab of loc * string * expr
  23. | ExLaz of loc * expr
  24. | ExLet of loc * rec_flag * binding * expr
  25. | ExLmd of loc * string * module_expr * expr
  26. | ExMat of loc * expr * match_case
  27. | ExNew of loc * ident
  28. | ExObj of loc * patt * class_str_item
  29. | ExOlb of loc * string * expr
  30. | ExOvr of loc * rec_binding
  31. | ExRec of loc * rec_binding * expr
  32. | ExSeq of loc * expr
  33. | ExSnd of loc * expr * string
  34. | ExSte of loc * expr * expr
  35. | ExStr of loc * string
  36. | ExTry of loc * expr * match_case
  37. | ExTup of loc * expr
  38. | ExCom of loc * expr * expr
  39. | ExTyc of loc * expr * ctyp
  40. | ExVrn of loc * string
  41. | ExWhi of loc * expr * expr
  42. | ExOpI of loc * ident * override_flag * expr
  43. | ExFUN of loc * string * expr
  44. | ExPkg of loc * module_expr
  45. | ExAtt of loc * string * str_item * expr
and module_type =
  1. | MtNil of loc
  2. | MtId of loc * ident
  3. | MtAlias of loc * ident
  4. | MtFun of loc * string * module_type * module_type
  5. | MtQuo of loc * string
  6. | MtSig of loc * sig_item
  7. | MtWit of loc * module_type * with_constr
  8. | MtOf of loc * module_expr
  9. | MtAtt of loc * string * str_item * module_type
  10. | MtAnt of loc * string
and sig_item =
  1. | SgNil of loc
  2. | SgCls of loc * class_type
  3. | SgClt of loc * class_type
  4. | SgSem of loc * sig_item * sig_item
  5. | SgDir of loc * string * expr
  6. | SgExc of loc * ctyp
  7. | SgExt of loc * string * ctyp * string meta_list
  8. | SgInc of loc * module_type
  9. | SgMod of loc * string * module_type
  10. | SgRecMod of loc * module_binding
  11. | SgMty of loc * string * module_type
  12. | SgOpn of loc * override_flag * ident
  13. | SgTyp of loc * rec_flag * ctyp
  14. | SgVal of loc * string * ctyp
  15. | SgAnt of loc * string
and with_constr =
  1. | WcNil of loc
  2. | WcTyp of loc * ctyp * ctyp
  3. | WcMod of loc * ident * ident
  4. | WcTyS of loc * ctyp * ctyp
  5. | WcMoS of loc * ident * ident
  6. | WcAnd of loc * with_constr * with_constr
  7. | WcAnt of loc * string
and binding =
  1. | BiNil of loc
  2. | BiAnd of loc * binding * binding
  3. | BiEq of loc * patt * expr
  4. | BiAnt of loc * string
and rec_binding =
  1. | RbNil of loc
  2. | RbSem of loc * rec_binding * rec_binding
  3. | RbEq of loc * ident * expr
  4. | RbAnt of loc * string
and module_binding =
  1. | MbNil of loc
  2. | MbAnd of loc * module_binding * module_binding
  3. | MbColEq of loc * string * module_type * module_expr
  4. | MbCol of loc * string * module_type
  5. | MbAnt of loc * string
and match_case =
  1. | McNil of loc
  2. | McOr of loc * match_case * match_case
  3. | McArr of loc * patt * expr * expr
  4. | McAnt of loc * string
and module_expr =
  1. | MeNil of loc
  2. | MeId of loc * ident
  3. | MeApp of loc * module_expr * module_expr
  4. | MeFun of loc * string * module_type * module_expr
  5. | MeStr of loc * str_item
  6. | MeTyc of loc * module_expr * module_type
  7. | MePkg of loc * expr
  8. | MeAtt of loc * string * str_item * module_expr
  9. | MeAnt of loc * string
and str_item =
  1. | StNil of loc
  2. | StCls of loc * class_expr
  3. | StClt of loc * class_type
  4. | StSem of loc * str_item * str_item
  5. | StDir of loc * string * expr
  6. | StExc of loc * ctyp * ident meta_option
  7. | StExp of loc * expr
  8. | StExt of loc * string * ctyp * string meta_list
  9. | StInc of loc * module_expr
  10. | StMod of loc * string * module_expr
  11. | StRecMod of loc * module_binding
  12. | StMty of loc * string * module_type
  13. | StOpn of loc * override_flag * ident
  14. | StTyp of loc * rec_flag * ctyp
  15. | StVal of loc * rec_flag * binding
  16. | StAnt of loc * string
and class_type =
  1. | CtNil of loc
  2. | CtCon of loc * virtual_flag * ident * ctyp
  3. | CtFun of loc * ctyp * class_type
  4. | CtSig of loc * ctyp * class_sig_item
  5. | CtAnd of loc * class_type * class_type
  6. | CtCol of loc * class_type * class_type
  7. | CtEq of loc * class_type * class_type
  8. | CtAtt of loc * string * str_item * class_type
  9. | CtAnt of loc * string
and class_sig_item =
  1. | CgNil of loc
  2. | CgCtr of loc * ctyp * ctyp
  3. | CgSem of loc * class_sig_item * class_sig_item
  4. | CgInh of loc * class_type
  5. | CgMth of loc * string * private_flag * ctyp
  6. | CgVal of loc * string * mutable_flag * virtual_flag * ctyp
  7. | CgVir of loc * string * private_flag * ctyp
  8. | CgAnt of loc * string
and class_expr =
  1. | CeNil of loc
  2. | CeApp of loc * class_expr * expr
  3. | CeCon of loc * virtual_flag * ident * ctyp
  4. | CeFun of loc * patt * class_expr
  5. | CeLet of loc * rec_flag * binding * class_expr
  6. | CeStr of loc * patt * class_str_item
  7. | CeTyc of loc * class_expr * class_type
  8. | CeAnd of loc * class_expr * class_expr
  9. | CeEq of loc * class_expr * class_expr
  10. | CeAtt of loc * string * str_item * class_expr
  11. | CeAnt of loc * string
and class_str_item =
  1. | CrNil of loc
  2. | CrSem of loc * class_str_item * class_str_item
  3. | CrCtr of loc * ctyp * ctyp
  4. | CrInh of loc * override_flag * class_expr * string
  5. | CrIni of loc * expr
  6. | CrMth of loc * string * override_flag * private_flag * expr * ctyp
  7. | CrVal of loc * string * override_flag * mutable_flag * expr
  8. | CrVir of loc * string * private_flag * ctyp
  9. | CrVvr of loc * string * mutable_flag * ctyp
  10. | CrAnt of loc * string
val loc_of_ctyp : ctyp -> loc
val loc_of_patt : patt -> loc
val loc_of_expr : expr -> loc
val loc_of_module_type : module_type -> loc
val loc_of_module_expr : module_expr -> loc
val loc_of_sig_item : sig_item -> loc
val loc_of_str_item : str_item -> loc
val loc_of_class_type : class_type -> loc
val loc_of_class_sig_item : class_sig_item -> loc
val loc_of_class_expr : class_expr -> loc
val loc_of_class_str_item : class_str_item -> loc
val loc_of_with_constr : with_constr -> loc
val loc_of_binding : binding -> loc
val loc_of_rec_binding : rec_binding -> loc
val loc_of_module_binding : module_binding -> loc
val loc_of_match_case : match_case -> loc
val loc_of_ident : ident -> loc
module Meta : sig ... end
class map : object ... end
class fold : object ... end
val map_expr : (expr -> expr) -> map
val map_patt : (patt -> patt) -> map
val map_ctyp : (ctyp -> ctyp) -> map
val map_str_item : (str_item -> str_item) -> map
val map_sig_item : (sig_item -> sig_item) -> map
val map_loc : (loc -> loc) -> map
val ident_of_expr : expr -> ident
val ident_of_patt : patt -> ident
val ident_of_ctyp : ctyp -> ident
val biAnd_of_list : binding list -> binding
val rbSem_of_list : rec_binding list -> rec_binding
val paSem_of_list : patt list -> patt
val paCom_of_list : patt list -> patt
val tyOr_of_list : ctyp list -> ctyp
val tyAnd_of_list : ctyp list -> ctyp
val tyAmp_of_list : ctyp list -> ctyp
val tySem_of_list : ctyp list -> ctyp
val tyCom_of_list : ctyp list -> ctyp
val tySta_of_list : ctyp list -> ctyp
val stSem_of_list : str_item list -> str_item
val sgSem_of_list : sig_item list -> sig_item
val crSem_of_list : class_str_item list -> class_str_item
val cgSem_of_list : class_sig_item list -> class_sig_item
val ctAnd_of_list : class_type list -> class_type
val ceAnd_of_list : class_expr list -> class_expr
val wcAnd_of_list : with_constr list -> with_constr
val meApp_of_list : module_expr list -> module_expr
val mbAnd_of_list : module_binding list -> module_binding
val mcOr_of_list : match_case list -> match_case
val idAcc_of_list : ident list -> ident
val idApp_of_list : ident list -> ident
val exSem_of_list : expr list -> expr
val exCom_of_list : expr list -> expr
val list_of_ctyp : ctyp -> ctyp list -> ctyp list
val list_of_binding : binding -> binding list -> binding list
val list_of_rec_binding : rec_binding -> rec_binding list -> rec_binding list
val list_of_with_constr : with_constr -> with_constr list -> with_constr list
val list_of_patt : patt -> patt list -> patt list
val list_of_expr : expr -> expr list -> expr list
val list_of_str_item : str_item -> str_item list -> str_item list
val list_of_sig_item : sig_item -> sig_item list -> sig_item list
val list_of_class_sig_item : class_sig_item -> class_sig_item list -> class_sig_item list
val list_of_class_str_item : class_str_item -> class_str_item list -> class_str_item list
val list_of_class_type : class_type -> class_type list -> class_type list
val list_of_class_expr : class_expr -> class_expr list -> class_expr list
val list_of_module_expr : module_expr -> module_expr list -> module_expr list
val list_of_module_binding : module_binding -> module_binding list -> module_binding list
val list_of_match_case : match_case -> match_case list -> match_case list
val list_of_ident : ident -> ident list -> ident list
val safe_string_escaped : string -> string
val is_irrefut_patt : patt -> bool
val is_constructor : ident -> bool
val is_patt_constructor : patt -> bool
val is_expr_constructor : expr -> bool
val ty_of_stl : (Loc.t * string * ctyp list) -> ctyp
val ty_of_sbt : (Loc.t * string * bool * ctyp) -> ctyp
val bi_of_pe : (patt * expr) -> binding
val pel_of_binding : binding -> (patt * expr) list
val binding_of_pel : (patt * expr) list -> binding
val sum_type_of_list : (Loc.t * string * ctyp list) list -> ctyp
val record_type_of_list : (Loc.t * string * bool * ctyp) list -> ctyp