package safa

  1. Overview
  2. Docs
type ('a, 'k) node
type ('a, 'k) mem
val init : ('a -> int) -> ('a -> 'a -> bool) -> ('a, 'k) mem
val constant : ('a, 'k) mem -> 'a -> ('a, 'k) node
val unary : ('b, 'k) mem -> ('a -> 'b) -> ('a, 'k) node -> ('b, 'k) node
val binary : ('c, 'k) mem -> ('a -> 'b -> 'c) -> ('a, 'k) node -> ('b, 'k) node -> ('c, 'k) node
val hide : ('a, 'k) mem -> 'k -> (('a, 'k) node -> ('a, 'k) node -> ('a, 'k) node) -> ('a, 'k) node -> ('a, 'k) node
val walk : ((('a, 'k) node -> unit) -> ('a, 'k) node -> unit) -> ('a, 'k) node -> unit
val partial_apply : ('a, 'k) mem -> ('k -> bool option) -> ('a, 'k) node -> ('a, 'k) node
type (!'a, !'k) unifier = (('k * bool) list -> 'a -> 'a -> unit) -> ('a, 'k) node -> ('a, 'k) node -> unit
val unify_naive : bool -> ('a, 'k) unifier
val unify_dsf : bool -> ('a, 'k) unifier
type key = char
type formula = (bool, key) node
val neg : formula -> formula
val dsj : formula -> formula -> formula
val cnj : formula -> formula -> formula
val xor : formula -> formula -> formula
val iff : formula -> formula -> formula
val bot : formula
val top : formula
val var : key -> formula
val rav : key -> formula
val witness : (bool, 'k) node -> ('k * bool) list
val times : ('a, 'k) mem -> ('a, 'k) node -> (bool, 'k) node -> ('a, 'k) node -> ('a, 'k) node
val print_formula : int -> formula Common.formatter
type (!'a, !'k) descr = private
  1. | V of 'a
  2. | N of 'k * ('a, 'k) node * ('a, 'k) node
val head : ('a, 'k) node -> ('a, 'k) descr
val tag : ('a, 'k) node -> int
val hash : ('a, 'k) node -> int
val node : ('a, 'k) mem -> 'k -> ('a, 'k) node -> ('a, 'k) node -> ('a, 'k) node
val reset_caches : unit -> unit
OCaml

Innovation. Community. Security.