-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathtype_abstract.mli
28 lines (21 loc) · 1.04 KB
/
type_abstract.mli
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
(**
Abstract types helpers.
An abstract type in the sense of the typerep library is a type whose representation is
unknown. Such a type has only a name that can be used to provide and register custom
implementation of generics. This is typically a type obtained with the following syntax
extension:
{[
type t with typerep(abstract)
]}
The following functors are meant to be used by the code generator, however they could
also be useful while writing low level typerep code manually.
*)
module Make0 (X : Named_intf.S0) : Typerepable.S with type t := X.t
module Make1 (X : Named_intf.S1) : Typerepable.S1 with type 'a t := 'a X.t
module Make2 (X : Named_intf.S2) : Typerepable.S2 with type ('a, 'b) t := ('a, 'b) X.t
module Make3 (X : Named_intf.S3) :
Typerepable.S3 with type ('a, 'b, 'c) t := ('a, 'b, 'c) X.t
module Make4 (X : Named_intf.S4) :
Typerepable.S4 with type ('a, 'b, 'c, 'd) t := ('a, 'b, 'c, 'd) X.t
module Make5 (X : Named_intf.S5) :
Typerepable.S5 with type ('a, 'b, 'c, 'd, 'e) t := ('a, 'b, 'c, 'd, 'e) X.t