[Haskell] Enum class

Sebastian Sylvan sebastian.sylvan at gmail.com
Sun Jan 9 00:51:02 EST 2005

On Fri, 07 Jan 2005 18:57:01 -0600, Jaime Nino <jaime at cs.uno.edu> wrote:

> where value is the last value of a.

> I have not found any functionality on Enum types to do this. In
> particular how to
> specify the last element of any Enum type, or how to determine the

> number of elements in an Enum type.

It looks as if you really want to use the type class Bounded as well.

You can use maxBound and minBound to find the last and first value of
a Bounded type.

If you impose the additional constraint Eq and Bounded you can write
next like so:

next :: (Enum a, Bounded a, Eq a) => a -> a
next x | x == maxBound = minBound
          | otherwise = succ x

Sebastian Sylvan
UIN: 44640862

More information about the Haskell mailing list