File: ssa-predicate.sml

package info (click to toggle)
mlton 20210117%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 58,464 kB
  • sloc: ansic: 27,682; sh: 4,455; asm: 3,569; lisp: 2,879; makefile: 2,347; perl: 1,169; python: 191; pascal: 68; javascript: 7
file content (22 lines) | stat: -rw-r--r-- 518 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
(*
 * How to represent a predicate so that various logical operations can
 * be performed.
 *
 * -- Allen (leunga@cs.nyu.edu)
 *)
functor SSAPredicate(T : MLTREE) : SSA_PREDICATE =
struct
   structure T = T

   datatype expr = FALSE | TRUE | IF of T.ty * T.Basis.cond * expr * expr

   fun toString   : expr -> string

   fun And        : expr * expr -> expr
   fun Or         : expr * expr -> expr
   fun Not        : expr -> expr

   fun isDisjoint : expr * expr -> bool
   fun implies    : expr * expr -> bool

end