functor (Str : STRING) ->
sig
type char_ = Str.char_
type string_ = Str.t
val edit_distance : string_ -> string_ -> int
type automaton
val of_string : limit:int -> string_ -> automaton
val of_list : limit:int -> char_ list -> automaton
val debug_print :
(out_channel -> char_ -> unit) -> out_channel -> automaton -> unit
val match_with : automaton -> string_ -> bool
module Index :
sig
type 'b t
val empty : 'b t
val is_empty : 'a t -> bool
val add : 'b t -> string_ -> 'b -> 'b t
val cardinal : 'a t -> int
val remove : 'b t -> string_ -> 'b t
val retrieve : limit:int -> 'b t -> string_ -> 'b klist
val of_list : (string_ * 'b) list -> 'b t
val to_list : 'b t -> (string_ * 'b) list
val add_seq : 'a t -> (string_ * 'a) sequence -> 'a t
val of_seq : (string_ * 'a) sequence -> 'a t
val to_seq : 'a t -> (string_ * 'a) sequence
val add_gen : 'a t -> (string_ * 'a) gen -> 'a t
val of_gen : (string_ * 'a) gen -> 'a t
val to_gen : 'a t -> (string_ * 'a) gen
val fold : ('a -> string_ -> 'b -> 'a) -> 'a -> 'b t -> 'a
val iter : (string_ -> 'b -> unit) -> 'b t -> unit
val to_klist : 'b t -> (string_ * 'b) klist
end
end