Module Type
-
type alias= int; -
type private_= pri int; -
type constructor('a)= 'a; -
type arrow= int => int; -
type higher_order= (int => int) => int; -
type labeled= l:int => int; -
type optional= ?l:int => int; -
type labeled_higher_order= (l:int => int) => (?l:int => int) => int; -
type pair= (int, int); -
type parens_dropped= (int, int); -
type triple= (int, int, int); -
type nested_pair= ((int, int), int); -
type instance= constructor(int); -
type variant_e={a: int,}; -
type variant=
;|A|B(int)|Cfoo
|Dbar
|E(variant_e) -
type variant_c={a: int,}; -
type gadt(_)=
;|A : gadt(int)|B(int) : gadt(string)|C(variant_c) : gadt(unit) -
type degenerate_gadt=
;|A : degenerate_gadt -
type private_variant= pri
;|A -
type record={a: int,mutable b: int,c: int,foo
d: int,bar
e: a. 'a,}; -
type polymorphic_variant=[|`A|`B(int)|`C((int, unit))|`D]; -
type polymorphic_variant_extension=[|polymorphic_variant|`E]; -
type nested_polymorphic_variant=[|`A([ `B | `C ])]; -
type private_extenion#row; -
and private_extenion= pri[>|polymorphic_variant]; -
type object_= {. a: int, b: int, c: int, };
module type X = { ... };
-
type module_= (module X); -
type module_substitution= (module X with type t = int and type u = unit); -
type covariant(+'a); -
type contravariant(-'a); -
type bivariant(_)= int; -
type binary('a, 'b); -
type using_binary= binary(int, int); -
type name('custom); -
type constrained('a)= 'aconstraint 'a = int; -
type exact_variant('a)= 'aconstraint 'a = [ `A | `B(int) ]; -
type lower_variant('a)= 'aconstraint 'a = [> `A | `B(int) ]; -
type any_variant('a)= 'aconstraint 'a = [> ]; -
type upper_variant('a)= 'aconstraint 'a = [< `A | `B(int) ]; -
type named_variant('a)= 'aconstraint 'a = [< polymorphic_variant ]; -
type exact_object('a)= 'aconstraint 'a = {. a: int, b: int, }; -
type lower_object('a)= 'aconstraint 'a = {.. a: int, b: int, }; -
type poly_object('a)= 'aconstraint 'a = {. a: a. 'a, }; -
type double_constrained('a, 'b)= ('a, 'b)constraint 'a = int constraint 'b = unit; -
type as_= (int as 'a, 'a); -
type extensible=..;
-
type extensible +=Extension|Another_extension;