package term-tools

  1. Overview
  2. Docs
exception Invalid_pattern
type focused =
  1. | Focused
val _focused : focused
type unfocused =
  1. | Unfocused
val _unfocused : unfocused
type 'f focus_tag =
  1. | Focused_tag : focused focus_tag
  2. | Unfocused_tag : unfocused focus_tag
type ('f1, 'f2, 'f) join =
  1. | UU : (unfocused, unfocused, unfocused) join
  2. | FU : (focused, unfocused, focused) join
  3. | UF : (unfocused, focused, focused) join
  4. | FF : (focused, focused, focused) join
type (_, _) pattern_desc =
  1. | Patt_prim : 'p prim_pred * ('p, 'f) pattern_list -> ('p, 'f) pattern_desc
  2. | Patt_var : int option -> ('p, unfocused) pattern_desc
  3. | Patt_any : ('p, unfocused) pattern_desc
  4. | Patt_focus : ('p, unfocused) pattern -> ('p, focused) pattern_desc
and ('p, 'f) pattern = {
  1. patt_desc : ('p, 'f) pattern_desc;
  2. patt_uid : int;
}
and (_, _) pattern_list =
  1. | Patt_list_empty : ('p, unfocused) pattern_list
  2. | Patt_list_any : ('p, unfocused) pattern_list
  3. | Patt_list_cons : ('p, 'f1) pattern * ('p, 'f2) pattern_list * ('f1, 'f2, 'f) join -> ('p, 'f) pattern_list
and 'p prim_pred =
  1. | Patt_prim_equal of 'p
  2. | Patt_pred of 'p -> bool
val get_focus : 'f. ('p, 'f) pattern -> 'f focus_tag
val get_focus_list : 'f. ('p, 'f) pattern_list -> 'f focus_tag
module Make_raw (P : Intf.Signature) (T : Intf.Term_core with type prim = P.t and type t = P.t Term.term) (Z : Intf.Zipper with type term = T.t) : sig ... end
module Make (P : Intf.Signature) (T : Intf.Term_core with type prim = P.t and type t = P.t Term.term) (Z : Intf.Zipper with type term = T.t) : Intf.Pattern with type prim = P.t and type term = P.t Term.term and type 'a with_state := 'a Z.with_state and type zipper = Z.t
module Make_with_hash_consing (P : Intf.Signature) (T : Intf.Term_core with type prim = P.t and type t = P.t Term.term) (Z : Intf.Zipper with type term = T.t) : sig ... end
OCaml

Innovation. Community. Security.