Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

lustrec / src / delay_predef.ml @ e9350b02

History | View | Annotate | Download (1.28 KB)

1
(********************************************************************)
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

    
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
let delay_nullary_poly_op =
21
  let univ = new_univar () in
22
  univ
23

    
24
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: *)