rest-types-1.13: src/Rest/Types/Info.hs
{-# LANGUAGE
FlexibleInstances
, TypeSynonymInstances
#-}
-- | Module facilitating informative inspection of datatypes.
module Rest.Types.Info (Info (..)) where
import Data.Text (Text)
import Data.Typeable
-- | Type class representing information about the read/show function on a data
-- type.
class Typeable a => Info a where
describe :: proxy a -> String
example :: proxy a -> String
example _ = ""
instance Info String where
describe _ = "string"
instance Info Text where
describe _ = "string"
instance Info Int where
describe _ = "integer"
instance Info Integer where
describe _ = "integer"