package ocaml-base-compiler

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Representation and manipulation of a type, but not class nor module type.

This module has an implementation although it declares only types. This is because other modules use the let module construct or access it so it is needed as a real module.

module Name = Odoc_name
type private_flag = Asttypes.private_flag =
  1. | Private
  2. | Public
type record_field = {
  1. rf_name : string;
  2. rf_mutable : bool;
  3. rf_type : Types.type_expr;
  4. mutable rf_text : Odoc_types.info option;
}

Description of a record type field.

type constructor_args =
  1. | Cstr_record of record_field list
  2. | Cstr_tuple of Types.type_expr list
type variant_constructor = {
  1. vc_name : string;
  2. vc_args : constructor_args;
  3. vc_ret : Types.type_expr option;
  4. mutable vc_text : Odoc_types.info option;
}

Description of a variant type constructor.

type type_kind =
  1. | Type_abstract
  2. | Type_variant of variant_constructor list
  3. | Type_record of record_field list
  4. | Type_open
    (*

    The various kinds of type.

    *)
type object_field = {
  1. of_name : string;
  2. of_type : Types.type_expr;
  3. mutable of_text : Odoc_types.info option;
}
type type_manifest =
  1. | Other of Types.type_expr
  2. | Object_type of object_field list
type t_type = {
  1. ty_name : Name.t;
  2. mutable ty_info : Odoc_types.info option;
  3. ty_parameters : (Types.type_expr * Types.Variance.t) list;
  4. ty_kind : type_kind;
  5. ty_private : private_flag;
  6. ty_manifest : type_manifest option;
  7. mutable ty_loc : Odoc_types.location;
  8. mutable ty_code : string option;
}

Representation of a type.