# or

`(`or` EXPRESSION EXPRESSION EXPRESSION ...)`
An `or` expression contains two or more expressions. They are evaluated from left to right. If the first expression evaluates to true, the `or` expression immediately evaluates to true. If the first expression evaluates to false, the next expression is considered. If all expressions evaluate to false, the `or` expression evaluates to false. If any of the expressions evaluate to a value other than true or false, it is an error.
Reductions:
`(or false ... true e ...)``-->` true
`(or false ...)``-->` false
`(or false ... v_1 e ...)``e-->` `or: question result is not true or false`
where `v_1` is not `true`, and `v_1` is not `false`

Beginning Student Language