package term-tools

  1. Overview
  2. Docs

Parameters

module P : Intf.Signature
module T : Intf.Term_core with type prim = P.t and type t = P.t Term.term
module Z : Intf.Zipper with type term = T.t

Signature

type prim = P.t
type zipper = Z.t
type 'a with_state = 'a Z.with_state
type t =
  1. | Ex_patt : (prim, 'f) pattern -> t
type matching = t list
type plist =
  1. | Ex_patt_list : (prim, 'f) pattern_list -> plist
type term = T.t
val fold_range : (int -> 'a -> 'a) -> 'a -> int -> 'a
val arity : Z.t -> int
val get_zippers_of_focuses : (prim, focused) pattern -> zipper -> zipper list -> zipper list
val get_zippers_of_focuses_list : (prim, focused) pattern_list -> zipper -> int -> zipper list -> zipper list
val pattern_matches_aux : 'f. (prim, 'f) pattern -> term -> bool
val list_matches : 'f. (prim, 'f) pattern_list -> term array -> int -> bool
val pattern_matches : t -> term -> bool
exception Found of t * zipper
val first_match_aux : matching -> zipper -> (t * zipper) option
val all_matches_aux : matching -> zipper -> (t * zipper) list -> (t * zipper) list
val refine_focused : t -> zipper -> zipper list
val all_matches : matching -> Z.term Z.with_state -> zipper list
val first_match : matching -> Z.term Z.with_state -> zipper list
val uid_gen : unit -> int
val ex_patt : (prim, 'a) pattern_desc -> t
val prim : prim -> plist -> t
val prim_pred : (prim -> bool) -> plist -> t
val any_var : t
val var : int -> t
val any : t
val focus : t -> t
val list_any : plist
val list_empty : plist
val list_cons : t -> plist -> plist
val (@.) : t -> plist -> plist
val pp_patt : 'f. Format.formatter -> (prim, 'f) pattern -> unit
val pp_patt_list : 'f. Format.formatter -> (prim, 'f) pattern_list -> unit
val pp : Format.formatter -> t -> unit
val uid : t -> int
OCaml

Innovation. Community. Security.