package boltzgen

  1. Overview
  2. Docs
val verbose : int ref
type compo_type =
  1. | Name of string * compo_type list
    (*

    Denotes a type expr with arguments, i.e., 'a list

    *)
  2. | Abstract of string
    (*

    Denotes a polymorphic type, i.e., 'a

    *)
  3. | Fun of compo_type list * compo_type
    (*

    Denotes a function, i.e., 'a -> 'b

    *)
  4. | Prod of compo_type list
    (*

    Denotes a tuple, i.e., 'a * 'b * ... 'z

    *)

A type for OCaml type

type func = {
  1. name : string;
  2. intypes : compo_type list;
  3. outtype : compo_type;
}

A type for named functions

val ano_func : func -> compo_type
val deano_func : string -> compo_type -> func
type sum_type_def = (string * compo_type option * float option) list
type def_type_elem =
  1. | Sum of sum_type_def
  2. | Alias of compo_type
  3. | Record of (string * compo_type) list
type def_type = string * string list * def_type_elem

Defines a named type with name, list of arguments, and definition

type hidden_type

Abstract type for any OCaml value

Pretty printer

type Format.stag +=
  1. | Named_type_stag of compo_type
  2. | Prod_stag of compo_type
  3. | Graph_stag
val pp_compo : ?use_boltz_id:bool -> Format.formatter -> compo_type -> unit
val pp_type_of_out : Format.formatter -> compo_type -> unit
val pp_func : ?use_boltz_id:bool -> ?pval:bool -> Format.formatter -> func -> unit
val pp_def : Format.formatter -> def_type -> unit
OCaml

Innovation. Community. Security.