package GuaCaml

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type comment = char Tree.tree
type upper_identifier = string
type lower_identifier = string
type abstract_identifier = string
type module_name = upper_identifier
type module_path = module_name list
type type_name_def = lower_identifier
type type_name_ref = module_path * type_name_def
type constr_name_def = upper_identifier
type field_name_def = lower_identifier
type atomic_type =
  1. | AT_identifier of type_name_ref
  2. | AT_abstract of abstract_identifier
  3. | AT_multi of product_type list * type_name_ref
  4. | AT_subtype of product_type
and single_instanciation_type = atomic_type * type_name_ref list
and product_type = single_instanciation_type list
type record_type = (field_name_def * product_type) list
type product_or_record_type =
  1. | PORT_product of product_type
  2. | PORT_record of record_type
type sum_type = (constr_name_def * product_or_record_type option) list
type named_type_definition =
  1. | NTR_Alias of product_or_record_type
  2. | NTR_Sum of sum_type
type named_type = {
  1. nt_params : abstract_identifier list;
  2. nt_name : type_name_def;
  3. nt_def : named_type_definition;
}
type named_type_rec = named_type list
type system_type = named_type_rec list
OCaml

Innovation. Community. Security.