{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE TypeSynonymInstances #-} -- | Extra functions and classes for dealing with Strings. module Data.String.Extra where import Data.Char -- | Lower case a string. lower :: String -> String lower = map toLower -- | Upper case a string. upper :: String -> String upper = map toUpper -- | Trim a string. trim :: [Char] -> [Char] trim = reverse . dropWhile isSpace . reverse . dropWhile isSpace -- | A class for converting to strings. class ToString a where toString :: a -> String instance ToString String where toString = id