{-# LANGUAGE TypeSynonymInstances #-} -------------------------------------------------------------------------------- -- | -- Module : Data.String.ToString -- Copyright : (c) 2009 Bas van Dijk -- License : BSD3 (see the file LICENSE) -- Maintainer : v.dijk.bas@gmail.com -- Stability : Stable -- -------------------------------------------------------------------------------- module Data.String.ToString ( ToString , toString , fromToString ) where import Data.String (IsString, fromString) class ToString s where -- | Convert a string-like type to a 'String'. toString :: s -> String instance ToString String where toString = id instance ToString Char where toString = (:[]) -- | General coercion between string-like types. fromToString :: (IsString s2, ToString s1) => s1 -> s2 fromToString = fromString . toString