The ListVariable Objects
The ListVariable objects are typically used in patterns where the parent object of the ListVariable is a monoid. Their purpose is to allow matching against a expressions with a variable number of parameters. Patterns with list variables can be used to find a particular pattern anywhere in the list of parameters of an expression.
The ListVariable Object
The ListVariable object indicates to the pattern matching process that the variable inside the ListVariable can be matched to zero, one, or more parameters of the parent object. For more details and examples, see Pattern Matching to Monoids.
The ListVariableParamList Object
This object behaves exactly the same way as the ListVariable object except that it forces the expression into the form of a ParameterList before the pattern match occurs in all cases even when the parent object is a monoid. There are use cases where this simplifies the processing, but this isn’t commonly used. For more details and examples, see Pattern Matching to Monoids.