groot-0.0.1.0: src/Groot/Data/Text/Display.hs
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE OverloadedStrings #-}
module Groot.Data.Text.Display
( Display (..)
) where
import Control.Monad.IO.Class
import Data.Text (Text)
import qualified Data.Text as T
import qualified Data.Text.IO as T
import Network.AWS.Data.Text
class ToText a => Display a where
display :: MonadIO m => a -> m ()
displayLn :: MonadIO m => a -> m ()
displayLn d = do
display d
liftIO $ T.putStrLn ""
instance Display Char where
display = liftIO . print
{-# INLINE display #-}
instance Display Text where
display = liftIO . T.putStr
{-# INLINE display #-}
instance Display String where
display = display . T.pack
{-# INLINE display #-}