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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
(* sample mli showing everything that 'with fields' introduces *)
(*
NOTES:
- (1) this file was hand generated and can therefore get out of sync with
the actual interface of the generated code.
- (2) The file generated_test.mli does not have this problem as it is
generated by ocamlp4o from the file test.mli
- (3) The types we list here are actually more general than those in
generated_test.mli (see make_creator, for example)
*)
type ('a, 'b) t =
{ dir : 'a * 'b
; quantity : ('a, 'b) t
; price : int * 'a
; mutable cancelled : bool (* symbol : string; *)
}
[@@deriving fields ~getters ~setters]
type foo =
{ a : [ `Bar | `Baz of string ]
; b : int
}
[@@deriving fields ~getters ~setters]
module Private_in_mli : sig
type ('a, 'b) t = private
{ dir : 'a * 'b
; quantity : ('a, 'b) t
; price : int * 'a
; mutable cancelled : bool (* symbol : string; *)
}
[@@deriving fields ~getters ~setters]
end
module Private_in_ml : sig
type ('a, 'b) t = ('a, 'b) Private_in_mli.t = private
{ dir : 'a * 'b
; quantity : ('a, 'b) t
; price : int * 'a
; mutable cancelled : bool (* symbol : string; *)
}
[@@deriving fields ~getters ~setters]
end
|