Import Debian changes 20180207-1
[hcoop/debian/mlton.git] / mlton / ssa / n-point-lattice.sig
CommitLineData
7f918cf1
CE
1(* Copyright (C) 2009 Matthew Fluet.
2 * Copyright (C) 1999-2005 Henry Cejtin, Matthew Fluet, Suresh
3 * Jagannathan, and Stephen Weeks.
4 * Copyright (C) 1997-2000 NEC Research Institute.
5 *
6 * MLton is released under a BSD-style license.
7 * See the file MLton-LICENSE for details.
8 *)
9
10signature N_POINT_LATTICE_STRUCTS =
11 sig
12 (* pretty print names *)
13 val names: string list
14 end
15
16signature N_POINT_LATTICE =
17 sig
18 include N_POINT_LATTICE_STRUCTS
19
20 type t
21
22 val <= : t * t -> unit (* force rhs to be up-ed if lhs is *)
23 val == : t * t -> unit (* force lhs and rhs to be the same *)
24 val isN: t * int -> bool
25 val layout: t -> Layout.t
26 val makeN: t * int -> unit
27 val new: unit -> t (* a new 0 *)
28 val up: t -> unit
29 (* handler will be run once iff value becomes gte N *)
30 val whenN: t * int * (unit -> unit) -> unit
31 end