Declarations for patterns: a pattern is a predicate on lists with extra operations.
package patterns
A pattern is a predicate on lists.
interface pattern
A reversible_pattern is a pattern that can be matched end-to-start.
interface reversible pattern
A matcher is a pattern with an associated parse procedure that generates a result.
interface matcher