to-string-instances-0.2: Data/String/ToString/Instances.hs
{-# LANGUAGE CPP #-}
{-# LANGUAGE NoImplicitPrelude #-}
--------------------------------------------------------------------------------
-- |
-- Module : Data.String.ToString.Instances
-- Copyright : (c) 2009 Bas van Dijk
-- License : BSD3 (see the file LICENSE)
-- Maintainer : v.dijk.bas@gmail.com
-- Stability : Stable
--
-- This module exports the following instances for the 'ToString' class:
--
-- * 'ByteString'
--
-- * 'Doc'
--
-- * 'Text'
--
-- Note that the instances can be enabled or disabled based on cabal flags.
--
--------------------------------------------------------------------------------
module Data.String.ToString.Instances where
import Data.String.ToString (ToString, toString)
#ifdef BYTESTRING
import qualified Data.ByteString.Char8
#endif
#ifdef DOC
import qualified Text.PrettyPrint
#endif
#ifdef TEXT
import qualified Data.Text
import qualified Data.Text.Lazy
#endif
--------------------------------------------------------------------------------
-- ToString instances
--------------------------------------------------------------------------------
#ifdef BYTESTRING
instance ToString Data.ByteString.Char8.ByteString where
toString = Data.ByteString.Char8.unpack
#endif
#ifdef DOC
instance ToString Text.PrettyPrint.Doc where
toString = Text.PrettyPrint.render
#endif
#ifdef TEXT
instance ToString Data.Text.Text where
toString = Data.Text.unpack
instance ToString Data.Text.Lazy.Text where
toString = Data.Text.Lazy.unpack
#endif
-- The End ---------------------------------------------------------------------