Quick StartTryGuideAPICommunityBlogGitHub

Standard Library

Below is the API for the OCaml standard library. It's directly copied over from the OCaml Manual, formatted to the Reason syntax and styled accordingly. The API docs are work-in-progress; we'll be polishing these gradually!

If you're targeting JavaScript, the API docs for BuckleScript includes all of below, plus JS-specific APIs.

sig

  type mapper = {
    attribute :
      Ast_mapper.mapper -> Parsetree.attribute -> Parsetree.attribute;
    attributes :
      Ast_mapper.mapper ->
      Parsetree.attribute list -> Parsetree.attribute list;
    case : Ast_mapper.mapper -> Parsetree.case -> Parsetree.case;
    cases : Ast_mapper.mapper -> Parsetree.case list -> Parsetree.case list;
    class_declaration :
      Ast_mapper.mapper ->
      Parsetree.class_declaration -> Parsetree.class_declaration;
    class_description :
      Ast_mapper.mapper ->
      Parsetree.class_description -> Parsetree.class_description;
    class_expr :
      Ast_mapper.mapper -> Parsetree.class_expr -> Parsetree.class_expr;
    class_field :
      Ast_mapper.mapper -> Parsetree.class_field -> Parsetree.class_field;
    class_signature :
      Ast_mapper.mapper ->
      Parsetree.class_signature -> Parsetree.class_signature;
    class_structure :
      Ast_mapper.mapper ->
      Parsetree.class_structure -> Parsetree.class_structure;
    class_type :
      Ast_mapper.mapper -> Parsetree.class_type -> Parsetree.class_type;
    class_type_declaration :
      Ast_mapper.mapper ->
      Parsetree.class_type_declaration -> Parsetree.class_type_declaration;
    class_type_field :
      Ast_mapper.mapper ->
      Parsetree.class_type_field -> Parsetree.class_type_field;
    constructor_declaration :
      Ast_mapper.mapper ->
      Parsetree.constructor_declaration -> Parsetree.constructor_declaration;
    expr : Ast_mapper.mapper -> Parsetree.expression -> Parsetree.expression;
    extension :
      Ast_mapper.mapper -> Parsetree.extension -> Parsetree.extension;
    extension_constructor :
      Ast_mapper.mapper ->
      Parsetree.extension_constructor -> Parsetree.extension_constructor;
    include_declaration :
      Ast_mapper.mapper ->
      Parsetree.include_declaration -> Parsetree.include_declaration;
    include_description :
      Ast_mapper.mapper ->
      Parsetree.include_description -> Parsetree.include_description;
    label_declaration :
      Ast_mapper.mapper ->
      Parsetree.label_declaration -> Parsetree.label_declaration;
    location : Ast_mapper.mapper -> Location.t -> Location.t;
    module_binding :
      Ast_mapper.mapper ->
      Parsetree.module_binding -> Parsetree.module_binding;
    module_declaration :
      Ast_mapper.mapper ->
      Parsetree.module_declaration -> Parsetree.module_declaration;
    module_expr :
      Ast_mapper.mapper -> Parsetree.module_expr -> Parsetree.module_expr;
    module_type :
      Ast_mapper.mapper -> Parsetree.module_type -> Parsetree.module_type;
    module_type_declaration :
      Ast_mapper.mapper ->
      Parsetree.module_type_declaration -> Parsetree.module_type_declaration;
    open_description :
      Ast_mapper.mapper ->
      Parsetree.open_description -> Parsetree.open_description;
    pat : Ast_mapper.mapper -> Parsetree.pattern -> Parsetree.pattern;
    payload : Ast_mapper.mapper -> Parsetree.payload -> Parsetree.payload;
    signature :
      Ast_mapper.mapper -> Parsetree.signature -> Parsetree.signature;
    signature_item :
      Ast_mapper.mapper ->
      Parsetree.signature_item -> Parsetree.signature_item;
    structure :
      Ast_mapper.mapper -> Parsetree.structure -> Parsetree.structure;
    structure_item :
      Ast_mapper.mapper ->
      Parsetree.structure_item -> Parsetree.structure_item;
    typ : Ast_mapper.mapper -> Parsetree.core_type -> Parsetree.core_type;
    type_declaration :
      Ast_mapper.mapper ->
      Parsetree.type_declaration -> Parsetree.type_declaration;
    type_extension :
      Ast_mapper.mapper ->
      Parsetree.type_extension -> Parsetree.type_extension;
    type_kind :
      Ast_mapper.mapper -> Parsetree.type_kind -> Parsetree.type_kind;
    value_binding :
      Ast_mapper.mapper -> Parsetree.value_binding -> Parsetree.value_binding;
    value_description :
      Ast_mapper.mapper ->
      Parsetree.value_description -> Parsetree.value_description;
    with_constraint :
      Ast_mapper.mapper ->
      Parsetree.with_constraint -> Parsetree.with_constraint;
  }
  val default_mapper : Ast_mapper.mapper
  val tool_name : unit -> string
  val apply : source:string -> target:string -> Ast_mapper.mapper -> unit
  val run_main : (string list -> Ast_mapper.mapper) -> unit
  val register_function :
    (string -> (string list -> Ast_mapper.mapper) -> unit) Pervasives.ref
  val register : string -> (string list -> Ast_mapper.mapper) -> unit
  val map_opt : ('a -> 'b) -> 'a option -> 'b option
  val extension_of_error : Location.error -> Parsetree.extension
  val attribute_of_warning : Location.t -> string -> Parsetree.attribute
  val add_ppx_context_str :
    tool_name:string -> Parsetree.structure -> Parsetree.structure
  val add_ppx_context_sig :
    tool_name:string -> Parsetree.signature -> Parsetree.signature
  val drop_ppx_context_str :
    restore:bool -> Parsetree.structure -> Parsetree.structure
  val drop_ppx_context_sig :
    restore:bool -> Parsetree.signature -> Parsetree.signature
  val set_cookie : string -> Parsetree.expression -> unit
  val get_cookie : string -> Parsetree.expression option
end