The docs at
give a NB mentioning that (abs minBound == minBound) is possible for fixed-width types.
This holds, for example, at Int. It is also the case that (negate minBound == minBound).
Two questions:
1) This behavior surprised me. Does it surprise enough people to include a warning in the Haddock for abs and negate? IE Here.
2) Is this a common behavior in other languages? My tinkering with gcc suggests it does not support the value -2^63, but instead bottoms out at (-2^63+1).
Thanks.