Proposal: Determining whether a Bits instance is FiniteBits

Zemyla <[email protected]>
Newsgroups gmane.comp.lang.haskell.libraries
Message-ID <CAK7nUjh9yp-ys7xXxxP65J0dXb9UGujx+R3+Gw4n0zxHLqnDWw@mail.gmail.com>
Every Bits instance has to know that whether it's a FiniteBits
instance as well, due to bitSizeMaybe. Therefore, it should also be
able to tell a program that it is in fact a FiniteBits instance. There
should be a function added to Data.Bits.Bits:

withFiniteBits :: Bits a => a -> (FiniteBits a => r) -> r -> r

The default should be withFiniteBits _ _ x = x, at least for the next
several versions. bitSizeMaybe can be defined as

bitSizeMaybe x = withFiniteBits x (Just (finiteBitSize x)) Nothing

once everyone is on board with properly defining the value.
_______________________________________________
Libraries mailing list
[email protected]
http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.