Pattern that matches a list of elements.
class list pattern[readonly equality comparable element type]
extends base pattern[element type]
Check whether the given list can be a start of the sequence that matches this pattern.
implement boolean is viable prefix(readonly list[element type] the list)
if the list • size > element list • size
for var nonnegative index : 0; index < the list • size; index += 1
return false
return true
Returns the maximum number of the elements of a given list that matches the pattern,
or null if there is no prefix match.
This is a greedy match: it mtaches the longest prefix.
implement nonnegative or null match prefix(readonly list[element type] the list)
Gets the first non-empty match for this pattern.
implement range or null find first(readonly list[element type] the list, var nonnegative start index)