X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=inline;f=helm%2Fsoftware%2Fcomponents%2Fng_tactics%2FzipTree.mli;h=bed576157d099558613c0507d138a455057c13b6;hb=3c77b701737ef41c39a5d08d76ca9071e5b1bdd7;hp=6a6c4d67f4a51d3dbb1ef937eb664680c319ba10;hpb=7daf77fac7dc562c3b0a363c7bf4f84d39de4280;p=helm.git diff --git a/helm/software/components/ng_tactics/zipTree.mli b/helm/software/components/ng_tactics/zipTree.mli index 6a6c4d67f..bed576157 100644 --- a/helm/software/components/ng_tactics/zipTree.mli +++ b/helm/software/components/ng_tactics/zipTree.mli @@ -11,34 +11,27 @@ (* $Id: nCic.ml 9058 2008-10-13 17:42:30Z tassi $ *) -val repeat : ('a -> 'a option) -> 'a -> 'a +type ('s,'g) tree = Node of 's * ('g * ('s,'g) tree) list | Nil +type ('a,'s,'g) position -module type Elem = sig type t val pp : t -> string end ;; +val start : ('s,'g) tree -> ('a,'s,'g) position -module type ZipTree = sig - type t - type tree = Node of (t * tree) list - type position +val up : ('a,'s,'g) position -> ('b,'s,'g) position option +val down : ('a,'s,'g) position -> ('b,'s,'g) position option +val left : ('a,'s,'g) position -> ('b,'s,'g) position option +val right : ('a,'s,'g) position -> ('b,'s,'g) position option - val start : tree -> position +val is_top : ('a,'s,'g) position -> bool - val up : position -> position option - val down : position -> position option - val left : position -> position option - val right : position -> position option +val root: ('a,'s,'g) position -> ('s,'g) tree - val root: position -> tree - val previsit: ('a -> t -> 'a) -> 'a -> position -> 'a +val get: ('a,'s,'g) position -> 's * 'g +val set: 's -> 'g -> ('a,'s,'g) position -> ('a,'s,'g) position - val get: position -> t - val set: t -> position -> position +val inject: ('s,'g) tree -> ('a,'s,'g) position -> ('a,'s,'g) position +val eject: ('a,'s,'g) position -> ('s,'g) tree - val inject: tree -> position -> position - val eject: position -> tree +val dump: ('g -> string) -> ('s -> string -> Format.formatter -> unit) -> + ('a,'s,'g) position -> Format.formatter -> unit - val dump: position -> Format.formatter -> unit - -end - -module Make(T : Elem) : ZipTree with type t = T.t