[Haskell-cafe] Natural Numbers: Best implementation?

Wolfgang Jeltsch g9ks157k at acme.softbase.org
Fri Mar 13 04:25:48 EDT 2009


Am Freitag, 13. März 2009 04:53 schrieb Brandon S. Allbery KF8NH:
> On 2009 Mar 12, at 22:54, Mark Spezzano wrote:
> > I was wondering what the best way to implement Natural number would
> > be. Is there a package which already does this?
>
> type-level on Hackage.

I think, the original poster wanted value-level naturals, not type-level 
naturals.

> > 2.  Use the type
> > data Natural = Zero | Succ !Natural
>
> One of the reasons people use type-level naturals is to get laziness;
> you've made this strict.  Is there a reason?

Do you really mean type-level naturals? The following is a definition of 
value-level naturals:

    data Natural = Zero | Succ Natural

Type-level naturals would be defined like this:

    data Zero

    data Succ nat

Best wishes,
Wolfgang


More information about the Haskell-Cafe mailing list