[Haskell-cafe] Positive integers

Henning Thielemann lemming at henning-thielemann.de
Fri Mar 24 07:23:00 EST 2006


On Fri, 24 Mar 2006, Malcolm Wallace wrote:

> Daniel McAllansmith <dagda at xtra.co.nz> wrote:
>
>> Unless I've missed it, there is no typeclass for positive integers in
>> GHC. Is there any particular reason it doesn't exist?
>>
>> Also, it seems Word would be a far better type in the likes of (!!),
>> length,  etc.  Is it just tradition that resulted in the use of Int?
>
> There is a good argument that what you really want here is the lazy
> infinite natural numbers.  Think Peano:
>
>    data Natural = Zero | Succ Natural
>
> The clear correspondance between lazy lists and the size/index of a lazy
> list makes this type fairly compelling.  It can be jolly useful,
> particularly with infinite streams, to be able to compute
>    (length xs > n)
> without forcing the evaluation of the list to more than n places.

Fortunately there are already List functions like genericLength and 
genericTake, which can handle such a number type. Shouldn't be Peano 
numbers part of the standard libraries?


More information about the Haskell-Cafe mailing list