module Air.Data.PlainShow where
import Data.Text (Text, unpack)
class (Show a) => PlainShow a where
plainShow :: a -> String
instance PlainShow String where
plainShow x = x
instance PlainShow Char where
plainShow x = [x]
instance PlainShow Text where
plainShow = unpack
instance (Show a) => PlainShow a where
plainShow = show
newtype PlainShowWrapper a = PlainShowWrapper {unPlainShowWrapper :: a }
deriving (Eq)
instance (PlainShow a) => Show (PlainShowWrapper a) where
show (PlainShowWrapper x) = plainShow x