{-# LANGUAGE TemplateHaskell #-} module Data.MakeEnum.Options( OptionsT(..), Options, defaultOptions ) where import Language.Haskell.TH data OptionsT f = Options { forall (f :: * -> *). OptionsT f -> f String newEnumName :: f String , forall (f :: * -> *). OptionsT f -> f String fromFunctionName :: f String , forall (f :: * -> *). OptionsT f -> f String toFunctionName :: f String , forall (f :: * -> *). OptionsT f -> String -> String ctorNameModifier :: String -> String , forall (f :: * -> *). OptionsT f -> [Name] deriveClasses :: [Name] } type Options = OptionsT Maybe defaultOptions :: Options defaultOptions :: Options defaultOptions = Maybe String -> Maybe String -> Maybe String -> (String -> String) -> [Name] -> Options forall (f :: * -> *). f String -> f String -> f String -> (String -> String) -> [Name] -> OptionsT f Options Maybe String forall a. Maybe a Nothing Maybe String forall a. Maybe a Nothing Maybe String forall a. Maybe a Nothing String -> String forall a. a -> a id [''Eq, ''Ord, ''Show]