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
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to