Module Meta.Make
Parameters
Signature
include S with type 'a t = 'a S.t
val (<*>) : 'a t -> 'b t -> ('a * 'b) t
val (<|>) : 'a t -> 'a t -> 'a t
val (*>) : unit t -> 'a t -> 'a t
val (<*) : 'a t -> unit t -> 'a t
val fix : ('a t -> 'a t) -> 'a t
val fail : string -> 'a t
val pure : compare:('a -> 'a -> int) -> 'a -> 'a t
val take : int -> string t
val const : string -> string t
val while0 : (char -> bool) -> string t
val while1 : (char -> bool) -> string t
val sequence : 'a t list -> 'a list t
val choice : 'a t list -> 'a t
val option : 'a t -> 'a option t
val between : unit t -> unit t -> 'a t -> 'a t
val count : int -> 'a t -> 'a list t
val rep0 : 'a t -> 'a list t
val rep1 : 'a t -> 'a list t
val sep_by0 : sep:unit t -> 'a t -> 'a list t
val sep_by1 : sep:unit t -> 'a t -> 'a list t
val end_by0 : sep:unit t -> 'a t -> 'a list t
val end_by1 : sep:unit t -> 'a t -> 'a list t