[Haskell-beginners] Generate a list of all constructors

Francesco Ariis fa-ml at ariis.it
Sat Nov 14 19:12:38 UTC 2015


On Sat, Nov 14, 2015 at 07:56:45PM +0100, Kees Bleijenberg wrote:
> In this piece of code
> 
>  
> 
> data Color = RED | BLUE | YELLOW
> 
>  
> 
> allColors :: [Color]
> 
> allColors = [RED, BLUE, YELLOW]
> 
>  
> 
> I have to remeber that if I add a Color, I have to add the color in
> allColors too.  
> 
> Is there no better way to  add all possible colors in allColors?

Yes, if you make Color instance of Enum. E.g.:

    data Color = RED | BLUE | YELLOW deriving (Show, Enum)
    allColors = enumFrom RED


More information about the Beginners mailing list