-- | Computing file extensions for a value.
module System.Build.Extensions(
                                Extensions,
                                exts,
                                exts'
                              ) where

class Extensions e where
  -- Return all the file extensions associated with the given value.
  exts :: e -> [String]

-- | Return all the file extensions associated with the given value and prepend a single dot.
exts' :: (Extensions e) => e -> [String]
exts' = map ('.':) . exts