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

aditya siram aditya.siram at gmail.com
Sat May 9 03:07:10 EDT 2009


Cool, that's really interesting! So is it accurate to say "predicated"
datatypes [1] such as Int and String are provided by Haskell but you cannot
create them or specialize on a subset of them? And there are really only two
types of datatypes, tags [2] and the "predicated" types. Compound datatypes
are just a combination of the two.

-deech


[1] By predicated I mean a datatype that would actually cause a compiler
error ( not a runtime error ) if a method returned an out-of-bounds value.
[2] By  tags I mean the data constructors, but I find it easier to think of
them as tags because they can appear alone, eg. data Coins = Penny | Nickel
| Dime | Quarter
where nothing is being constructed.

On Fri, May 8, 2009 at 5:06 PM, Magnus Therning <magnus at therning.org> 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.
>
> /M
>
> --
> Magnus Therning                        (OpenPGP: 0xAB4DFBA4)
> magnus@therning.org          Jabber: magnus@therning.org
> http://therning.org/magnus         identi.ca|twitter: magthe
>
>
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://www.haskell.org/mailman/listinfo/beginners
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/beginners/attachments/20090509/1c242a87/attachment.htm


More information about the Beginners mailing list