[Haskell-beginners] A Quantity Type - Integer without the Negative #'s

Magnus Therning magnus at therning.org
Sat May 9 12:30:02 EDT 2009


Daniel Carrera wrote:
> Magnus Therning wrote:
>> aditya siram wrote:
>>> Hi all,
>>> Is there a datatype in Haskell that can be used to represent only 
>>> quantities >= 0?  I got bitten by a bug because I forgot to reject an 
>>> amount that was below zero after applying a decrementing operator. A 
>>> simple unit test would have caught this, but I was wondering if there 
>>> was some way of getting the type system to ensure this.
>>
>> Maybe Word32 (or one of it's siblings) would do?  It's basically the 
>> same as 'unsigned int' in C, so it can under- and over-flow.
> 
> What's under-flow?

Negative overflow:

   > let one = 1 :: Word8
   > one - 2
   255

/M

-- 
Magnus Therning                        (OpenPGP: 0xAB4DFBA4)
magnus@therning.org          Jabber: magnus@therning.org
http://therning.org/magnus         identi.ca|twitter: magthe

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: OpenPGP digital signature
Url : http://www.haskell.org/pipermail/beginners/attachments/20090509/2dd40e5a/signature.bin


More information about the Beginners mailing list