evaluate abstract method
Returns whether the selector matches the given semantics.
The semantics define which variables evaluate to true or false. When
passed a variable name it should return the value of that variable.
Implementation
bool evaluate(bool Function(String variable) semantics);