[Haskell-cafe] 'Iterating a data type'

raeck at msn.com raeck at msn.com
Mon Dec 29 20:24:00 EST 2008


Are there anyway to express the "iterating" of a user-defined data type in 
Haskell?

For example, in

> data Shape = Square | Circle | Triangle

how can I 'iterate' them and apply them all to the same function without 
indicating them explicitly?
such as [func Square, func Circle, func Triangle].
Can I use a form similar to the following case in a list instead:

> Numbers = [1,2,3,4,5]

> [func x | x <- Numbers ]

Actually what I want is to obtain all the possible values of a data type 
(Shape).

Thank you very much!

Best wishes,

Raeck 



More information about the Haskell-Cafe mailing list