some : ('a -> bool) -> 'a list -> 'a * 'a list

Parses any single item satisfying a predicate.

If p is a predicate on input tokens of some kind, some p is a parser that parses and returns any first token satisfying the predicate p, and raises Noparse on a first token not satisfying p.

The call some p never fails.

This is one of a suite of combinators for manipulating ``parsers''. A parser is simply a function whose OCaml type is some instance of :('a)list -> 'b * ('a)list. The function should take a list of objects of type :'a (e.g. characters or tokens), parse as much of it as possible from left to right, and return a pair consisting of the object derived from parsing (e.g. a term or a special syntax tree) and the list of elements that were not processed.

++, |||, >>, a, atleast, elistof, finished, fix, leftbin, listof, many, nothing, possibly, rightbin.