
Le dimanche 16 février 2014, 17:49:23 Henning Thielemann a écrit :
Introduce a new class method
class Bits a where
... -- | Value with all bits cleared bitZero :: a ...
modulo naming of 'bitZero'
(I'm hesitant to consume "zero" from the namespace as was suggested by Henning) Let me defend "zero": Functions in the module that contain "Bit" in the name (clearBit, setBit, testBit) access a single bit. All functions that access many bits do not contain "Bit" (rotate, shift, xor, popCount). I
Am 16.02.2014 17:42, schrieb Herbert Valerio Riedel: propose to import the "zero" function with qualification, as well as the other functions from the module.
I also propose to provide a default implementation of "zero", like "clearBit (bit 0) 0". This way, the "zero" method can be introduced without breaking existing code.
I'm in favour of that modified proposal, so +1 for a "zero" member of Bits. And if we fear problems with collisions, we could always name the member something like zeroValue or zeroBits.