-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | A Stringable type class, in the spirit of Foldable and Traversable
--   
--   <a>Data.Stringable</a> provides a type class with a set of functions
--   for converting to and from the most often used string-linke types in
--   Haskell.
@package stringable
@version 0.1.3

module Data.Stringable
class Stringable a where toText = pack . toString fromText = fromString . unpack toLazyText = pack . toString fromLazyText = fromString . unpack toByteString = encodeUtf8 . toText fromByteString = fromText . decodeUtf8 toLazyByteString = encodeUtf8 . toLazyText fromLazyByteString = fromLazyText . decodeUtf8 toFilePath = fromText . toText fromFilePath = fromText . either (error "Error in conversion") id . toText
toString :: Stringable a => a -> String
fromString :: Stringable a => String -> a
length :: Stringable a => a -> Int
toText :: Stringable a => a -> Text
fromText :: Stringable a => Text -> a
toLazyText :: Stringable a => a -> Text
fromLazyText :: Stringable a => Text -> a
toByteString :: Stringable a => a -> ByteString
fromByteString :: Stringable a => ByteString -> a
toLazyByteString :: Stringable a => a -> ByteString
fromLazyByteString :: Stringable a => ByteString -> a
toFilePath :: Stringable a => a -> FilePath
fromFilePath :: Stringable a => FilePath -> a
class Stringable a => CStringable a where withCStringable = withCString . toString withCStringLenable str f = withCStringLen (toString str) (uncurry f)
withCStringable :: CStringable a => a -> (CString -> IO b) -> IO b
withCStringLenable :: CStringable a => a -> (CString -> Int -> IO b) -> IO b
instance Data.Stringable.Stringable GHC.Base.String
instance Data.Stringable.Stringable Data.Text.Internal.Text
instance Data.Stringable.Stringable Data.Text.Internal.Lazy.Text
instance Data.Stringable.Stringable Data.ByteString.Internal.ByteString
instance Data.Stringable.Stringable Data.ByteString.Lazy.Internal.ByteString
instance Data.Stringable.Stringable Filesystem.Path.Internal.FilePath
instance Data.Stringable.CStringable GHC.Base.String
instance Data.Stringable.CStringable Data.Text.Internal.Text
instance Data.Stringable.CStringable Data.Text.Internal.Lazy.Text
instance Data.Stringable.CStringable Data.ByteString.Internal.ByteString
instance Data.Stringable.CStringable Data.ByteString.Lazy.Internal.ByteString
