[Haskell-cafe] map (-2) [1..5]
brianh at metamilk.com
Thu Aug 17 18:42:29 EDT 2006
Jared Updike wrote:
>> I'd also argue that in maths the necessary brackets are implied by
>> the superscripting syntax
> ASCII text parsing issues aside, in math,
> -4 = ?
> (No you cannot ask if there is space between the 4 and the - symbol,
> or if I "meant" (-4)^2 or -(4^2), or if I wrote a negative sign or a
> subtract sign. I believe there is only one standard interpretation
Yes but my point is that -4^2 is not the same as
because the latter by convention means - (4^2).
In other words, superscripts bind tighter than prefix ops but prefix ops
bind tighter than infix.
>> they can only get in through the "back door" of evaluation
>> which just doesn't seem right.
> Constant folding can eliminate any runtime cost, so effectively 0 - 2
> ==> negative 2 at compile time. No problem.
An Int8 has the range -128 to +127 inclusive, so I'd have expected a problem
with the expression
negate (128 :: Int8)
However I see from
http://en.wikipedia.org/wiki/Two's_complement#The_weird_number that this
works because -128 === +128 ie
=== negate (-128) -- literal to typed value
=== (+128) -- negation
=== (-128) -- overflow ignored
Logic empowers us and Love gives us purpose.
Yet still phantoms restless for eras long past,
congealed in the present in unthought forms,
strive mightily unseen to destroy us.
More information about the Haskell-Cafe