lustrec / src / delay_predef.ml @ 4f26dcf5
History | View | Annotate | Download (1.28 KB)
1 | a2d97a3e | ploc | (********************************************************************) |
---|---|---|---|
2 | (* *) |
||
3 | (* The LustreC compiler toolset / The LustreC Development Team *) |
||
4 | (* Copyright 2012 - -- ONERA - CNRS - INPT *) |
||
5 | (* *) |
||
6 | (* LustreC is free software, distributed WITHOUT ANY WARRANTY *) |
||
7 | (* under the terms of the GNU Lesser General Public License *) |
||
8 | (* version 2.1. *) |
||
9 | (* *) |
||
10 | (********************************************************************) |
||
11 | 22fe1c93 | ploc | |
12 | (** Base types and predefined operator types. *) |
||
13 | open Delay |
||
14 | |||
15 | let delay_zero () = new_univar () |
||
16 | |||
17 | let delay_un = |
||
18 | new_delay Dundef |
||
19 | |||
20 | ef34b4ae | xthirioux | let delay_nullary_poly_op = |
21 | let univ = new_univar () in |
||
22 | univ |
||
23 | |||
24 | 22fe1c93 | ploc | let delay_unary_poly_op = |
25 | let univ = new_univar () in |
||
26 | new_delay (Darrow (univ, univ)) |
||
27 | |||
28 | let delay_binary_poly_op = |
||
29 | let univ = new_univar () in |
||
30 | new_delay (Darrow (new_delay (Dtuple [univ;univ]), univ)) |
||
31 | |||
32 | let delay_ternary_poly_op = |
||
33 | let univ = new_univar () in |
||
34 | new_delay (Darrow (new_delay (Dtuple [univ;univ;univ]), univ)) |
||
35 | |||
36 | |||
37 | |||
38 | (* Local Variables: *) |
||
39 | (* compile-command:"make -C .." *) |
||
40 | (* End: *) |