Enumerate operator type support
This commit is contained in:
parent
054e7fe844
commit
f2e9c9afe1
@ -149,13 +149,23 @@ String literals are at most 1000 characters long.
|
|||||||
|
|
||||||
Arrays are at most `LONG_MAX` elements long.
|
Arrays are at most `LONG_MAX` elements long.
|
||||||
|
|
||||||
|
### Operators
|
||||||
|
|
||||||
|
The following table enumerates which types an operator supports.
|
||||||
|
In the case of a binary operator, both sides must be of the same type.
|
||||||
|
|
||||||
|
| Operator | Supported Types |
|
||||||
|
| ----------------- | ---------------------- |
|
||||||
|
| `-` `+` `*` `/` | `int`, `float` |
|
||||||
|
| `<` `<=` `>` `>=` | `int`, `float` |
|
||||||
|
| `==` `!=` | `bool`, `int`, `float` |
|
||||||
|
| `!` `&&` `||` | `bool` |
|
||||||
|
|
||||||
### Special Semantics
|
### Special Semantics
|
||||||
|
|
||||||
#### Boolean
|
#### Boolean
|
||||||
|
|
||||||
`bool` is considered a first-class citizen, distinct from `int`.
|
`bool` is considered a first-class citizen, distinct from `int`.
|
||||||
|
|
||||||
The operators `!`, `&&`, and `||` can only be used with Booleans.
|
|
||||||
Short-circuit evaluation is *not* supported.
|
Short-circuit evaluation is *not* supported.
|
||||||
|
|
||||||
An expression used as a condition (for `if` or `while`) is expected to be of type `bool`.
|
An expression used as a condition (for `if` or `while`) is expected to be of type `bool`.
|
||||||
|
Loading…
Reference in New Issue
Block a user