import Text.Printf data Color = Red | Green | Blue | Rgb {r :: Int, g :: Int, b :: Int} to_hex :: Color -> String to_hex x = case x of Red -> "#0xFF0000" Green -> "#0x00FF00" Blue -> "#0x0000FF" Rgb r g b -> printf "#%02X%02X%02X" r g b main = print $ to_hex Rgb{r = 255, g = 255, b = 255}