sequence.mli 595 Bytes
Newer Older
1
2
val nil_type: Types.descr
val nil_atom: Types.atom
3
4
5
6
7
8
val any: Types.descr
val seqseq: Types.descr

val concat: Types.descr -> Types.descr -> Types.descr
val flatten: Types.descr -> Types.descr
val map: (Types.descr -> Types.descr) -> Types.descr -> Types.descr
9
10
11
12
13
14
15
16
17
18
19
20


val star: Types.descr -> Types.descr
  (* For a type t, returns [t*] *)

val approx: Types.descr -> Types.descr
  (*  For a type t <= [Any*], returns the least type s such that:
      t <= [s*]
      
      In general, for an arbitrary type, returns the least type s such that:
      t <= (X where X = (s, X) |  Any \ (Any,Any))
  *)