package archetype

  1. Overview
  2. Docs
and container =
  1. | Aggregate
  2. | Partition
  3. | View
and type_r =
  1. | Tref of lident
  2. | Tcontainer of type_t * container
  3. | Ttuple of type_t list
  4. | Toption of type_t
  5. | Tset of type_t
  6. | Tlist of type_t
  7. | Tmap of type_t * type_t
  8. | Tbig_map of type_t * type_t
  9. | Tor of type_t * type_t
  10. | Tlambda of type_t * type_t
  11. | Tcontract of type_t
  12. | Tkeyof of type_t
  13. | Tticket of type_t
  14. | Tsapling_state of Core.big_int
  15. | Tsapling_transaction of Core.big_int
and type_t = type_r Location.loced * lident option
and logical_operator =
  1. | And
  2. | Or
  3. | Xor
  4. | Imply
  5. | Equiv
and comparison_operator =
  1. | Equal
  2. | Nequal
  3. | Gt
  4. | Ge
  5. | Lt
  6. | Le
and arithmetic_operator =
  1. | Plus
  2. | Minus
  3. | Mult
  4. | DivRat
  5. | DivEuc
  6. | Modulo
  7. | DivMod
  8. | ThreeWayCmp
  9. | ShiftLeft
  10. | ShiftRight
and unary_operator =
  1. | Uminus
  2. | Not
and assignment_operator =
  1. | ValueAssign
  2. | PlusAssign
  3. | MinusAssign
  4. | MultAssign
  5. | DivAssign
  6. | AndAssign
  7. | OrAssign
and quantifier =
  1. | Forall
  2. | Exists
and operator =
  1. | Logical of logical_operator
  2. | Cmp of comparison_operator
  3. | Arith of arithmetic_operator
  4. | Unary of unary_operator
val lident_to_yojson : lident -> Yojson.Safe.t
val container_to_yojson : container -> Yojson.Safe.t
val type_r_to_yojson : type_r -> Yojson.Safe.t
val type_t_to_yojson : type_t -> Yojson.Safe.t
val logical_operator_to_yojson : logical_operator -> Yojson.Safe.t
val comparison_operator_to_yojson : comparison_operator -> Yojson.Safe.t
val arithmetic_operator_to_yojson : arithmetic_operator -> Yojson.Safe.t
val unary_operator_to_yojson : unary_operator -> Yojson.Safe.t
val assignment_operator_to_yojson : assignment_operator -> Yojson.Safe.t
val quantifier_to_yojson : quantifier -> Yojson.Safe.t
val operator_to_yojson : operator -> Yojson.Safe.t
val show_lident : lident -> Ppx_deriving_runtime.string
val show_container : container -> Ppx_deriving_runtime.string
val show_type_r : type_r -> Ppx_deriving_runtime.string
val show_type_t : type_t -> Ppx_deriving_runtime.string
val show_logical_operator : logical_operator -> Ppx_deriving_runtime.string
val show_comparison_operator : comparison_operator -> Ppx_deriving_runtime.string
val show_arithmetic_operator : arithmetic_operator -> Ppx_deriving_runtime.string
val show_unary_operator : unary_operator -> Ppx_deriving_runtime.string
val show_assignment_operator : assignment_operator -> Ppx_deriving_runtime.string
val show_quantifier : quantifier -> Ppx_deriving_runtime.string
val show_operator : operator -> Ppx_deriving_runtime.string
type pattern_unloc =
  1. | Pwild
  2. | Pref of pname Location.loced * lident list
and pname =
  1. | PIdent of Ident.ident
  2. | PCons
  3. | PNil
  4. | PSome
  5. | PNone
  6. | PLeft
  7. | PRight
and var_label =
  1. | VLBefore
  2. | VLIdent of lident
and var_vset =
  1. | VSAdded
  2. | VSUnmoved
  3. | VSRemoved
and for_ident_unloc =
  1. | FIsimple of lident
  2. | FIdouble of lident * lident
and transfer_t =
  1. | TTsimple of expr * expr
  2. | TTcontract of expr * expr * lident * type_t * expr
  3. | TTentry of expr * lident * expr
  4. | TTself of expr * lident * expr list
  5. | TToperation of expr
and expr_unloc =
  1. | Eterm of var_vset option * var_label option * lident
  2. | Eliteral of literal
  3. | Earray of expr list
  4. | Erecord of record_item list
  5. | Etuple of expr list
  6. | Edot of expr * lident
  7. | Esqapp of expr * expr
  8. | Emulticomp of expr * (comparison_operator Location.loced * expr) list
  9. | Eapp of function_ * expr list
  10. | Emethod of expr * lident * expr list
  11. | Etransfer of transfer_t
  12. | Edorequire of expr * expr
  13. | Edofailif of expr * expr
  14. | Efail of expr
  15. | Eassign of assignment_operator * expr * expr
  16. | Eif of expr * expr * expr option
  17. | Efor of lident option * for_ident * expr * expr
  18. | Eiter of lident option * lident * expr option * expr * expr
  19. | Ewhile of lident option * expr * expr
  20. | Eseq of expr * expr
  21. | Eletin of lident * type_t option * expr * expr * expr option
  22. | Evar of lident * type_t option * expr
  23. | Ematchwith of expr * branch list
  24. | Efold of expr * lident * expr
  25. | Emap of expr * lident * expr
  26. | Erecupdate of expr * (lident * expr) list
  27. | Equantifier of quantifier * lident * quantifier_kind * expr
  28. | Eassert of lident
  29. | Elabel of lident
  30. | Ereturn of expr
  31. | Eoption of option_
  32. | Eor of or_
  33. | Elambda of type_t option * lident * type_t option * expr
  34. | Eentrypoint of type_t * expr * expr
  35. | Eunpack of type_t * expr
  36. | Eself of lident
  37. | Eany
  38. | Enothing
  39. | Eunit
  40. | Einvalid
and branch = pattern list * expr
and scope =
  1. | Added
  2. | After
  3. | Before
  4. | Fixed
  5. | Removed
  6. | Stable
and quantifier_kind =
  1. | Qcollection of expr
  2. | Qtype of type_t
and option_ =
  1. | OSome of expr
  2. | ONone of type_t option
and or_ =
  1. | Oleft of type_t option * type_t * expr
  2. | Oright of type_t * type_t option * expr
and function_ =
  1. | Fident of lident
  2. | Foperator of operator Location.loced
and literal =
  1. | Lint of Core.big_int
  2. | Lnat of Core.big_int
  3. | Ldecimal of string
  4. | Ltz of string
  5. | Lmtz of string
  6. | Lutz of string
  7. | Laddress of string
  8. | Lstring of string
  9. | Lbool of bool
  10. | Lduration of string
  11. | Ldate of string
  12. | Lbytes of string
  13. | Lpercent of string
and record_item = (assignment_operator * lident) option * expr
and lident_typ = lident * type_t * extension list option
and label_expr = (lident * expr) Location.loced
and label_exprs = label_expr list
and extension_unloc =
  1. | Eextension of lident * expr list
    (*

    extension

    *)
and exts = extension list option
and field_unloc =
  1. | Ffield of lident * type_t * expr option * exts
    (*

    field

    *)
and args = lident_typ list
and invariants = (lident * expr list) list
and specification_item_unloc =
  1. | Vpredicate of lident * args * expr
  2. | Vdefinition of lident * type_t * lident * expr
  3. | Vvariable of lident * type_t * expr option
  4. | Veffect of expr
  5. | Vassert of lident * expr * invariants * lident list
  6. | Vfails of (lident * lident * type_t * expr) list
  7. | Vpostcondition of lident * expr * invariants * lident list * postkind option
and postkind =
  1. | PKPost
  2. | PKInv
and specification_item = specification_item_unloc Location.loced
and specification_unloc = specification_item list * exts
and security_arg_unloc =
  1. | Sident of lident
  2. | Sdot of lident * lident
  3. | Slist of security_arg list
  4. | Sapp of lident * security_arg list
  5. | Sbut of lident * security_arg
  6. | Sto of lident * security_arg
and security_item_unloc = lident * lident * security_arg list
and security_unloc = security_item list * exts
and s_function = {
  1. name : lident;
  2. args : args;
  3. ret_t : type_t option;
  4. spec : specification option;
  5. body : expr;
  6. getter : bool;
}
and entry_properties = {
  1. accept_transfer : bool;
  2. calledby : (expr * exts) option;
  3. require : ((lident * expr * expr option) list * exts) option;
  4. failif : ((lident * expr * expr option) list * exts) option;
  5. spec_fun : specification option;
  6. functions : s_function Location.loced list;
}
and transition = (lident * (expr * exts) option * (expr * exts) option) list
and parameter = (lident * type_t * expr option * bool) Location.loced
and parameters = parameter list Location.loced option
and variable_kind =
  1. | VKvariable
  2. | VKconstant
and enum_kind =
  1. | EKenum of lident
  2. | EKstate
and declaration_unloc =
  1. | Darchetype of lident * parameters * exts
  2. | Dvariable of variable_decl
  3. | Denum of enum_kind * enum_decl
  4. | Dasset of asset_decl
  5. | Drecord of record_decl
  6. | Dentry of entry_decl
  7. | Dtransition of transition_decl
  8. | Dextension of extension_decl
  9. | Dnamespace of namespace_decl
  10. | Dfunction of s_function
  11. | Dspecification of specification
  12. | Dspecasset of lident * label_exprs
  13. | Dspecfun of specfun
  14. | Dspecvariable of lident * label_exprs
  15. | Dsecurity of security
  16. | Dtype of lident * type_t
  17. | Dinvalid
and specfun_kind =
  1. | SKentry
  2. | SKfunction
  3. | SKgetter
and variable_decl = lident * type_t * expr option * variable_kind * label_exprs * exts
and enum_decl = (lident * type_t list * enum_option list) list * exts
and asset_decl = lident * field list * field list * asset_option list * asset_post_option list * asset_operation option * exts
and record_decl = lident * field list * expr option * exts
and entry_decl = lident * args * entry_properties * (expr * exts) option * exts
and transition_decl = lident * args * (lident * type_t) option * expr * entry_properties * transition * exts
and extension_decl = lident * expr list
and namespace_decl = lident * declaration list
and asset_option =
  1. | AOidentifiedby of lident list
  2. | AOsortedby of lident
  3. | AOtoBigMap
and asset_post_option =
  1. | APOstates of lident
  2. | APOconstraints of label_exprs
  3. | APOinit of expr list
and enum_option =
  1. | EOinitial
  2. | EOspecification of label_exprs
and asset_operation_enum =
  1. | AOadd
  2. | AOremove
  3. | AOupdate
and asset_operation =
  1. | AssetOperation of asset_operation_enum list * expr option
and archetype_unloc =
  1. | Marchetype of declaration list
  2. | Mextension of lident * declaration list * declaration list
include sig ... end
class virtual +'a map : object ... end
include sig ... end
class virtual +'a iter : object ... end
include sig ... end
class virtual +'a reduce : object ... end
include sig ... end
class virtual +'a reduce2 : object ... end
val pattern_unloc_to_yojson : pattern_unloc -> Yojson.Safe.t
val pname_to_yojson : pname -> Yojson.Safe.t
val pattern_to_yojson : pattern -> Yojson.Safe.t
val var_label_to_yojson : var_label -> Yojson.Safe.t
val var_vset_to_yojson : var_vset -> Yojson.Safe.t
val for_ident_unloc_to_yojson : for_ident_unloc -> Yojson.Safe.t
val for_ident_to_yojson : for_ident -> Yojson.Safe.t
val transfer_t_to_yojson : transfer_t -> Yojson.Safe.t
val expr_unloc_to_yojson : expr_unloc -> Yojson.Safe.t
val branch_to_yojson : branch -> Yojson.Safe.t
val scope_to_yojson : scope -> Yojson.Safe.t
val quantifier_kind_to_yojson : quantifier_kind -> Yojson.Safe.t
val option__to_yojson : option_ -> Yojson.Safe.t
val or__to_yojson : or_ -> Yojson.Safe.t
val function__to_yojson : function_ -> Yojson.Safe.t
val literal_to_yojson : literal -> Yojson.Safe.t
val record_item_to_yojson : record_item -> Yojson.Safe.t
val expr_to_yojson : expr -> Yojson.Safe.t
val lident_typ_to_yojson : lident_typ -> Yojson.Safe.t
val label_expr_to_yojson : label_expr -> Yojson.Safe.t
val label_exprs_to_yojson : label_exprs -> Yojson.Safe.t
val extension_unloc_to_yojson : extension_unloc -> Yojson.Safe.t
val extension_to_yojson : extension -> Yojson.Safe.t
val exts_to_yojson : exts -> Yojson.Safe.t
val field_unloc_to_yojson : field_unloc -> Yojson.Safe.t
val field_to_yojson : field -> Yojson.Safe.t
val args_to_yojson : args -> Yojson.Safe.t
val invariants_to_yojson : invariants -> Yojson.Safe.t
val specification_item_unloc_to_yojson : specification_item_unloc -> Yojson.Safe.t
val postkind_to_yojson : postkind -> Yojson.Safe.t
val specification_item_to_yojson : specification_item -> Yojson.Safe.t
val specification_unloc_to_yojson : specification_unloc -> Yojson.Safe.t
val specification_to_yojson : specification -> Yojson.Safe.t
val security_arg_unloc_to_yojson : security_arg_unloc -> Yojson.Safe.t
val security_arg_to_yojson : security_arg -> Yojson.Safe.t
val security_item_unloc_to_yojson : security_item_unloc -> Yojson.Safe.t
val security_item_to_yojson : security_item -> Yojson.Safe.t
val security_unloc_to_yojson : security_unloc -> Yojson.Safe.t
val security_to_yojson : security -> Yojson.Safe.t
val s_function_to_yojson : s_function -> Yojson.Safe.t
val entry_properties_to_yojson : entry_properties -> Yojson.Safe.t
val transition_to_yojson : transition -> Yojson.Safe.t
val parameter_to_yojson : parameter -> Yojson.Safe.t
val parameters_to_yojson : parameters -> Yojson.Safe.t
val variable_kind_to_yojson : variable_kind -> Yojson.Safe.t
val enum_kind_to_yojson : enum_kind -> Yojson.Safe.t
val declaration_unloc_to_yojson : declaration_unloc -> Yojson.Safe.t
val specfun_kind_to_yojson : specfun_kind -> Yojson.Safe.t
val specfun_to_yojson : specfun -> Yojson.Safe.t
val variable_decl_to_yojson : variable_decl -> Yojson.Safe.t
val enum_decl_to_yojson : enum_decl -> Yojson.Safe.t
val asset_decl_to_yojson : asset_decl -> Yojson.Safe.t
val record_decl_to_yojson : record_decl -> Yojson.Safe.t
val entry_decl_to_yojson : entry_decl -> Yojson.Safe.t
val transition_decl_to_yojson : transition_decl -> Yojson.Safe.t
val extension_decl_to_yojson : extension_decl -> Yojson.Safe.t
val namespace_decl_to_yojson : namespace_decl -> Yojson.Safe.t
val asset_option_to_yojson : asset_option -> Yojson.Safe.t
val asset_post_option_to_yojson : asset_post_option -> Yojson.Safe.t
val enum_option_to_yojson : enum_option -> Yojson.Safe.t
val declaration_to_yojson : declaration -> Yojson.Safe.t
val asset_operation_enum_to_yojson : asset_operation_enum -> Yojson.Safe.t
val asset_operation_to_yojson : asset_operation -> Yojson.Safe.t
val archetype_unloc_to_yojson : archetype_unloc -> Yojson.Safe.t
val archetype_to_yojson : archetype -> Yojson.Safe.t
val show_pattern_unloc : pattern_unloc -> Ppx_deriving_runtime.string
val show_pattern : pattern -> Ppx_deriving_runtime.string
val show_var_label : var_label -> Ppx_deriving_runtime.string
val show_var_vset : var_vset -> Ppx_deriving_runtime.string
val show_for_ident_unloc : for_ident_unloc -> Ppx_deriving_runtime.string
val show_for_ident : for_ident -> Ppx_deriving_runtime.string
val show_transfer_t : transfer_t -> Ppx_deriving_runtime.string
val show_expr_unloc : expr_unloc -> Ppx_deriving_runtime.string
val show_branch : branch -> Ppx_deriving_runtime.string
val show_quantifier_kind : quantifier_kind -> Ppx_deriving_runtime.string
val show_option_ : option_ -> Ppx_deriving_runtime.string
val show_function_ : function_ -> Ppx_deriving_runtime.string
val show_literal : literal -> Ppx_deriving_runtime.string
val show_record_item : record_item -> Ppx_deriving_runtime.string
val show_lident_typ : lident_typ -> Ppx_deriving_runtime.string
val show_label_expr : label_expr -> Ppx_deriving_runtime.string
val show_label_exprs : label_exprs -> Ppx_deriving_runtime.string
val show_extension_unloc : extension_unloc -> Ppx_deriving_runtime.string
val show_extension : extension -> Ppx_deriving_runtime.string
val show_field_unloc : field_unloc -> Ppx_deriving_runtime.string
val show_invariants : invariants -> Ppx_deriving_runtime.string
val show_specification_item_unloc : specification_item_unloc -> Ppx_deriving_runtime.string
val show_postkind : postkind -> Ppx_deriving_runtime.string
val show_specification_item : specification_item -> Ppx_deriving_runtime.string
val show_specification_unloc : specification_unloc -> Ppx_deriving_runtime.string
val show_specification : specification -> Ppx_deriving_runtime.string
val show_security_arg_unloc : security_arg_unloc -> Ppx_deriving_runtime.string
val show_security_arg : security_arg -> Ppx_deriving_runtime.string
val show_security_item_unloc : security_item_unloc -> Ppx_deriving_runtime.string
val show_security_item : security_item -> Ppx_deriving_runtime.string
val show_security_unloc : security_unloc -> Ppx_deriving_runtime.string
val show_security : security -> Ppx_deriving_runtime.string
val show_s_function : s_function -> Ppx_deriving_runtime.string
val show_entry_properties : entry_properties -> Ppx_deriving_runtime.string
val show_transition : transition -> Ppx_deriving_runtime.string
val show_parameter : parameter -> Ppx_deriving_runtime.string
val show_parameters : parameters -> Ppx_deriving_runtime.string
val show_variable_kind : variable_kind -> Ppx_deriving_runtime.string
val show_enum_kind : enum_kind -> Ppx_deriving_runtime.string
val show_declaration_unloc : declaration_unloc -> Ppx_deriving_runtime.string
val show_specfun_kind : specfun_kind -> Ppx_deriving_runtime.string
val show_specfun : specfun -> Ppx_deriving_runtime.string
val show_variable_decl : variable_decl -> Ppx_deriving_runtime.string
val show_enum_decl : enum_decl -> Ppx_deriving_runtime.string
val show_asset_decl : asset_decl -> Ppx_deriving_runtime.string
val show_record_decl : record_decl -> Ppx_deriving_runtime.string
val show_entry_decl : entry_decl -> Ppx_deriving_runtime.string
val show_transition_decl : transition_decl -> Ppx_deriving_runtime.string
val show_extension_decl : extension_decl -> Ppx_deriving_runtime.string
val show_namespace_decl : namespace_decl -> Ppx_deriving_runtime.string
val show_asset_option : asset_option -> Ppx_deriving_runtime.string
val show_asset_post_option : asset_post_option -> Ppx_deriving_runtime.string
val show_enum_option : enum_option -> Ppx_deriving_runtime.string
val show_declaration : declaration -> Ppx_deriving_runtime.string
val show_asset_operation_enum : asset_operation_enum -> Ppx_deriving_runtime.string
val show_asset_operation : asset_operation -> Ppx_deriving_runtime.string
val show_archetype_unloc : archetype_unloc -> Ppx_deriving_runtime.string
val show_archetype : archetype -> Ppx_deriving_runtime.string
val tref : ?loc:Location.t -> ?a:lident -> Ident.ident -> type_t
val tunit : type_t
val tstring : type_t
val tnat : type_t
val tint : type_t
val trational : type_t
val tbool : type_t
val trole : type_t
val taddress : type_t
val tdate : type_t
val ttez : type_t
val tduration : type_t
val tsignature : type_t
val tkey : type_t
val tkey_hash : type_t
val tbytes : type_t
val tchain_id : type_t
val toperation : type_t
val tbls12_381_fr : type_t
val tbls12_381_g1 : type_t
val tbls12_381_g2 : type_t
val tnever : type_t
val mk_tcontainer : ?loc:Location.t -> ?a:lident -> type_t -> container -> type_t
val mk_ttuple : ?loc:Location.t -> ?a:lident -> type_t list -> type_t
val mk_toption : ?loc:Location.t -> ?a:lident -> type_t -> type_t
val mk_tset : ?loc:Location.t -> ?a:lident -> type_t -> type_t
val mk_tlist : ?loc:Location.t -> ?a:lident -> type_t -> type_t
val mk_tmap : ?loc:Location.t -> ?a:lident -> type_t -> type_t -> type_t
val mk_tor : ?loc:Location.t -> ?a:lident -> type_t -> type_t -> type_t
val mk_tcontract : ?loc:Location.t -> ?a:lident -> type_t -> type_t
val mk_tkeyof : ?loc:Location.t -> ?a:lident -> type_t -> type_t
val mk_tticket : ?loc:Location.t -> ?a:lident -> type_t -> type_t
val mk_sapling_state : ?loc:Location.t -> ?a:lident -> Core.big_int -> type_t
val mk_sapling_transaction : ?loc:Location.t -> ?a:lident -> Core.big_int -> type_t
val mk_eliteral : ?loc:Location.t -> literal -> expr_unloc Location.loced
val eint : int -> expr_unloc Location.loced
val enat : int -> expr_unloc Location.loced
val ebtz : string -> expr_unloc Location.loced
val emtz : string -> expr_unloc Location.loced
val eutz : string -> expr_unloc Location.loced
val epercent : string -> expr_unloc Location.loced
val edecimal : string -> expr_unloc Location.loced
val eaddress : string -> expr_unloc Location.loced
val estring : string -> expr_unloc Location.loced
val eduration : string -> expr_unloc Location.loced
val edate : string -> expr_unloc Location.loced
val ebytes : string -> expr_unloc Location.loced
val eterm : ?loc:Location.t -> ?temp:var_label -> ?delta:var_vset -> lident -> expr_unloc Location.loced
val earray : ?loc:Location.t -> expr list -> expr_unloc Location.loced
val erecord : ?loc:Location.t -> record_item list -> expr_unloc Location.loced
val etuple : ?loc:Location.t -> expr list -> expr_unloc Location.loced
val esqapp : ?loc:Location.t -> expr -> expr -> expr_unloc Location.loced
val eapp : ?loc:Location.t -> function_ -> expr list -> expr_unloc Location.loced
val emethod : ?loc:Location.t -> expr -> lident -> expr list -> expr_unloc Location.loced
val etransfer : ?loc:Location.t -> transfer_t -> expr_unloc Location.loced
val edorequire : ?loc:Location.t -> expr -> expr -> expr_unloc Location.loced
val edofailif : ?loc:Location.t -> expr -> expr -> expr_unloc Location.loced
val efail : ?loc:Location.t -> expr -> expr_unloc Location.loced
val eif : ?loc:Location.t -> ?e:expr -> expr -> expr -> expr_unloc Location.loced
val efor : ?loc:Location.t -> ?lbl:lident -> for_ident -> expr -> expr -> expr_unloc Location.loced
val eiter : ?loc:Location.t -> ?lbl:lident -> ?min:expr -> lident -> expr -> expr -> expr_unloc Location.loced
val ewhile : ?loc:Location.t -> ?lbl:lident -> expr -> expr -> expr_unloc Location.loced
val eseq : ?loc:Location.t -> expr -> expr -> expr_unloc Location.loced
val eletin : ?loc:Location.t -> ?t:type_t -> ?o:expr -> lident -> expr -> expr -> expr_unloc Location.loced
val evar : ?loc:Location.t -> ?t:type_t -> lident -> expr -> expr_unloc Location.loced
val ematchwith : ?loc:Location.t -> expr -> branch list -> expr_unloc Location.loced
val erecupdate : ?loc:Location.t -> expr -> (lident * expr) list -> expr_unloc Location.loced
val eassert : ?loc:Location.t -> lident -> expr_unloc Location.loced
val elabel : ?loc:Location.t -> lident -> expr_unloc Location.loced
val ereturn : ?loc:Location.t -> expr -> expr_unloc Location.loced
val eoption : ?loc:Location.t -> option_ -> expr_unloc Location.loced
val eentrypoint : ?loc:Location.t -> type_t -> expr -> expr -> expr_unloc Location.loced
val eunpack : ?loc:Location.t -> type_t -> expr -> expr_unloc Location.loced
val eany : ?loc:Location.t -> 'a -> expr_unloc Location.loced
val enothing : ?loc:Location.t -> 'a -> expr_unloc Location.loced
val einvalid : ?loc:Location.t -> 'a -> expr_unloc Location.loced
val mk_s_function : lident -> args -> type_t option -> specification option -> expr -> bool -> s_function
val mk_entry_properties : ?accept_transfer:bool -> ?calledby:(expr * exts) -> ?require:((lident * expr * expr option) list * exts) -> ?failif:((lident * expr * expr option) list * exts) -> ?spec_fun:specification -> ?functions:s_function Location.loced list -> 'a -> entry_properties
val mk_transition_item : lident -> (expr * exts) option -> (expr * exts) option -> lident * (expr * exts) option * (expr * exts) option
val mk_variable_decl : ?dv:expr -> ?le:label_exprs -> ?exts:extension list -> lident -> type_t -> variable_kind -> variable_decl
val mk_enum_decl : ?exts:extension list -> (lident * type_t list * enum_option list) list -> enum_decl
val mk_asset_decl : ?fs:field list -> ?sfs:field list -> ?aos:asset_option list -> ?apos:asset_post_option list -> ?ao:asset_operation -> ?exts:extension list -> lident -> asset_decl
val mk_record_decl : ?fs:field list -> ?pos:expr -> ?exts:extension list -> lident -> record_decl
val mk_entry_decl : ?args:args -> ?body:(expr * exts) -> ?exts:extension list -> lident -> entry_properties -> entry_decl
val mk_transition_decl : ?args:args -> ?te:(lident * type_t) -> ?trs:transition -> ?exts:extension list -> lident -> expr -> entry_properties -> transition_decl
val mk_extension_decl : ?es:expr list -> lident -> extension_decl
val mk_namespace_decl : ?ds:declaration list -> lident -> namespace_decl
val mk_asset_option_identifiedby : lident list -> asset_option
val mk_asset_option_sortedby : lident -> asset_option
val mk_asset_option_to_big_map : asset_option
val mk_asset_post_option_states : lident -> asset_post_option
val mk_asset_post_option_constraints : label_exprs -> asset_post_option
val mk_asset_post_option_init : expr list -> asset_post_option
val mk_enum_option_initial : 'a -> enum_option
val mk_enum_option_specification : label_exprs -> enum_option
val mk_assetoperation : asset_operation_enum list -> expr option -> asset_operation
val mk_darchetype : ?parameters:parameter list Location.loced -> ?exts:extension list -> ?loc:Location.t -> lident -> declaration_unloc Location.loced
val mk_specification : ?loc:Location.t -> specification -> declaration_unloc Location.loced
val mk_specvariable : ?loc:Location.t -> lident -> label_exprs -> declaration_unloc Location.loced
val mk_invalid : ?loc:Location.t -> unit -> declaration_unloc Location.loced
val mk_archetype : ?decls:declaration list -> ?loc:Location.t -> unit -> archetype_unloc Location.loced
OCaml

Innovation. Community. Security.