packages feed

weeder-2.7.0: test/Spec/RangeEnum/RangeEnum.hs

{-# OPTIONS_GHC -Wno-missing-signatures #-}
module Spec.RangeEnum.RangeEnum where

data Planet = Mercury | Venus | Earth
  deriving (Enum, Bounded)

data Letter = A | B | C
  deriving (Enum, Bounded, Show)

data Shape = Circle | Square | Triangle
  deriving (Enum, Bounded)

data Colour = Red | Green | Blue
  deriving (Enum, Bounded)

planets = [minBound .. (maxBound :: Planet)]

letters = map f [minBound .. maxBound]
  where
    f :: Letter -> String
    f = show

shapes = [minBound .. maxBound] :: [Shape]

colours :: [Colour]
colours = [minBound .. maxBound] :: [Colour] -- breaks