Project

General

Profile

Download (968 Bytes) Statistics
| Branch: | Tag: | Revision:
1
open Utils
2
(* open Types *)
3

    
4
module Make(T: Types.S) : sig
5
  (* see https://stackoverflow.com/a/37307124 *)
6
  include module type of struct include T end
7
  val type_int: t
8
  val type_real: t
9
  val type_bool: t
10
  val type_string: t
11
  val type_clock: t -> t
12
  val type_const: ident -> t
13
  val type_enum: ident list -> t
14
  val type_struct: (ident * t) list -> t
15
  val type_arrow: t -> t -> t
16
  val type_array: Dimension.t -> t -> t
17
  val type_static: Dimension.t -> t -> t
18
end
19

    
20
(* include Types.S *)
21
val type_int: Types.t
22
val type_bool: Types.t
23
val type_real: Types.t
24
val type_const: ident -> Types.t
25
val type_static: Dimension.t -> Types.t -> Types.t
26
val type_bin_poly_op: Types.t
27
val type_unary_poly_op: Types.t
28
val type_bin_int_op: Types.t
29
val type_bin_bool_op: Types.t
30
val type_bin_comp_op: Types.t
31
val type_unary_bool_op: Types.t
32
val type_tuple: Types.t list -> Types.t
33
val type_arrow: Types.t -> Types.t -> Types.t
34
val type_array: Dimension.t -> Types.t -> Types.t
(99-99/111)