Dominic Steinitz wrote: > Can anyone explain this? Hugs doesn't complain. > > Prelude> :set --version > The Glorious Glasgow Haskell Compilation System, version 5.04.1 > > test.hs:5: > No instance for (Num Bool) > arising from the instance declaration at test.hs:5 > In the instance declaration for `Bits Bool' > > module Main(main) where > > import Bits > > instance Bits Bool where > complement False = True > complement True = False
GHC's definition of Bits requires that instances of Bits are also instances of Num. This constraint is required for the default implementations of bit and testBit: bit i = 1 `shift` i x `testBit` i = (x .&. bit i) /= 0 -- Glynn Clements <[EMAIL PROTECTED]> _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell