{-# LANGUAGE UndecidableInstances #-}
{-# LANGUAGE CPP #-}
#if __GLASGOW_HASKELL__ < 710
{-# LANGUAGE OverlappingInstances #-}
#endif
module Data.String.Class (
module Data.String.Class,
module X
) where
import Prelude
import Data.String as X (IsString (fromString))
import qualified Data.Text.Lazy as LText
import qualified Data.Text as Text
class ToString a where
toString :: a -> String
default toString :: Show a => a -> String
toString = show
instance ToString String where
toString = id
instance ToString LText.Text where
toString = LText.unpack
instance ToString Text.Text where
toString = Text.unpack
instance {-# OVERLAPPABLE #-} Show a => ToString a where
toString = show