News

For example, if you have a data type for expressions, you can define a function that evaluates an expression by matching it with different constructors, such as literal, variable, or operation.