You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
cryptol> :t \a b c d -> a == b || b == c
[error]
The fixities of (at <interactive>:1:15--1:17, (==)) and
(at <interactive>:1:25--1:27, (==)) are not compatible.
You may use explicit parenthesis to disambiguate
It is very weird to read a noun phrase starting with "at"; the operator is the important bit and it should come first. Also the last sentence should use plural "parentheses" and have a period.
I would prefer this:
[error]
The fixities of (==) (at <interactive>:1:15--1:17) and
(==) (at <interactive>:1:25--1:27) are not compatible.
You may use explicit parentheses to disambiguate.
The text was updated successfully, but these errors were encountered:
Actually, it would be even better to print not just the operators, but also the fixities/precedence levels in the error message itself. Maybe something like:
[error] at <interactive>:1:15--1:17 and <interactive>:1:25--1:27
The fixities of (==) (precedence 20, non-associative) and
(==) (precedence 20, non-associative) are not compatible.
You may use explicit parentheses to disambiguate.
@yav suggested using a bulleted list to make the error message easier to read. As of eb7b74a, the error message looks like this:
Cryptol> True == False != True
[error] at <interactive>:1:6--1:8 and <interactive>:1:15--1:17
The fixities of
• (==) (precedence 20, non-associative)
• (!=) (precedence 20, non-associative)
are not compatible.
You may use explicit parentheses to disambiguate.
For example:
It is very weird to read a noun phrase starting with "at"; the operator is the important bit and it should come first. Also the last sentence should use plural "parentheses" and have a period.
I would prefer this:
The text was updated successfully, but these errors were encountered: