[Haskell-cafe] Please explain behavior of setBit

2005-11-12 Thread Murray Gross
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

Re: [Haskell-cafe] Please explain behavior of setBit

2005-11-12 Thread Lemmih
On 11/13/05, Murray Gross [EMAIL PROTECTED] wrote: 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? If only

Re: [Haskell-cafe] Please explain behavior of setBit

2005-11-12 Thread Murray Gross
On Sun, 13 Nov 2005, Lemmih wrote: 'setBit (bit 0) 4' = 'setBit 1 4' = (binary) 10001 = (dec) 17 OK, what you are saying is that I have misinterpreted the behavior of bit, which I thought only did a conversion, but in fact sets the zero-th bit of a bit string. I have checked that this is in