Here is my trivial program:

import Bits

main = putStr (show(bit 0::Int)++" "++show (mybit 0))

mybit:: Int -> Int

mybit x = setBit (bit 0) x

The output (with GHC-5) is

1 1

My question: Why is (bit 0) equal to 1 and not 0? That first bit is set

regardless of the value of x (I have tried several), although in each

case, the bit I expect to be set is also set (e.g., mybit 4 yields 17).

Thanks in advance for assistance.

Murray Gross

_______________________________________________

Haskell-Cafe mailing list

[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe