module type S =sig..end
type event
type +'a t
'a.val empty : 'a tval add : event list -> 'a -> 'a t -> 'a tadd events x bindings binds events to x. It raises
Invalid_argument if events is empty.val remove : event list -> 'a t -> 'a tremove events bindings unbinds events. It raises
Invalid_argument if events is empty.val fold : (event list -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'bfold f set acc executes f on all sequence of set,
accumulating a value.val bindings : 'a t -> (event list * 'a) listbindings set returns all bindings of set.type 'a resolver
'a when a matching sequence is found.type 'a pack
val pack : ('a -> 'b) -> 'a t -> 'b packpack f set creates a pack.val resolver : 'a pack list -> 'a resolverresolver packs creates a resolver from a list of pack.type 'a result =
| |
Accepted of |
(* |
The sequence is terminated and associated to the given
value.
| *) |
| |
Continue of |
(* |
The sequence is not terminated.
| *) |
| |
Rejected |
(* |
None of the sequences is prefixed by the one.
| *) |
val resolve : event -> 'a resolver -> 'a resultresolve event resolver tries to resolve event using
resolver.