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

-- | Simplifies dealing with different types for strings
--   
--   Provides a simple type class for converting values of different string
--   types into values of other string types.
@package string-conversions
@version 0.4.0.1

-- | A type class for converting strings. Supported types are:
--   
--   
--   
- String
--   
- strict ByteString
--   
- lazy ByteString
--   
- strict Text
--   
- lazy Text
--   
--   
--   Assumes UTF-8 encoding for both types of ByteStrings.
module Data.String.Conversions
class ConvertibleStrings a b
convertString :: ConvertibleStrings a b => a -> b
cs :: ConvertibleStrings a b => a -> b
type StrictByteString = ByteString
type SBS = ByteString
type LazyByteString = ByteString
type LBS = ByteString
type StrictText = Text
type ST = Text
type LazyText = Text
type LT = Text

-- | An associative operation.
--   
--   
Examples
--   
--   
--   >>> [1,2,3] <> [4,5,6]
--   [1,2,3,4,5,6]
--   
--   
--   
--   >>> Just [1, 2, 3] <> Just [4, 5, 6]
--   Just [1,2,3,4,5,6]
--   
--   
--   
--   >>> putStr "Hello, " <> putStrLn "World!"
--   Hello, World!
--   
(<>) :: Semigroup a => a -> a -> a
infixr 6 <>
instance Data.String.Conversions.ConvertibleStrings Data.String.Conversions.LazyByteString Data.String.Conversions.StrictByteString
instance Data.String.Conversions.ConvertibleStrings Data.String.Conversions.LazyByteString Data.String.Conversions.LazyByteString
instance Data.String.Conversions.ConvertibleStrings Data.String.Conversions.LazyByteString GHC.Internal.Base.String
instance Data.String.Conversions.ConvertibleStrings Data.String.Conversions.LazyByteString Data.String.Conversions.StrictText
instance Data.String.Conversions.ConvertibleStrings Data.String.Conversions.LazyByteString Data.String.Conversions.LazyText
instance Data.String.Conversions.ConvertibleStrings Data.String.Conversions.StrictByteString Data.String.Conversions.StrictByteString
instance Data.String.Conversions.ConvertibleStrings Data.String.Conversions.StrictByteString Data.String.Conversions.LazyByteString
instance Data.String.Conversions.ConvertibleStrings Data.String.Conversions.StrictByteString GHC.Internal.Base.String
instance Data.String.Conversions.ConvertibleStrings Data.String.Conversions.StrictByteString Data.String.Conversions.StrictText
instance Data.String.Conversions.ConvertibleStrings Data.String.Conversions.StrictByteString Data.String.Conversions.LazyText
instance Data.String.Conversions.ConvertibleStrings GHC.Internal.Base.String Data.String.Conversions.StrictByteString
instance Data.String.Conversions.ConvertibleStrings GHC.Internal.Base.String Data.String.Conversions.LazyByteString
instance Data.String.Conversions.ConvertibleStrings GHC.Internal.Base.String GHC.Internal.Base.String
instance Data.String.Conversions.ConvertibleStrings GHC.Internal.Base.String Data.String.Conversions.StrictText
instance Data.String.Conversions.ConvertibleStrings GHC.Internal.Base.String Data.String.Conversions.LazyText
instance Data.String.Conversions.ConvertibleStrings Data.String.Conversions.LazyText Data.String.Conversions.LazyByteString
instance Data.String.Conversions.ConvertibleStrings Data.String.Conversions.LazyText Data.String.Conversions.StrictByteString
instance Data.String.Conversions.ConvertibleStrings Data.String.Conversions.LazyText GHC.Internal.Base.String
instance Data.String.Conversions.ConvertibleStrings Data.String.Conversions.LazyText Data.String.Conversions.StrictText
instance Data.String.Conversions.ConvertibleStrings Data.String.Conversions.LazyText Data.String.Conversions.LazyText
instance Data.String.Conversions.ConvertibleStrings Data.String.Conversions.StrictText Data.String.Conversions.LazyByteString
instance Data.String.Conversions.ConvertibleStrings Data.String.Conversions.StrictText Data.String.Conversions.StrictByteString
instance Data.String.Conversions.ConvertibleStrings Data.String.Conversions.StrictText GHC.Internal.Base.String
instance Data.String.Conversions.ConvertibleStrings Data.String.Conversions.StrictText Data.String.Conversions.StrictText
instance Data.String.Conversions.ConvertibleStrings Data.String.Conversions.StrictText Data.String.Conversions.LazyText

-- | Monomorphic conversion functions that are useful when you wish to be
--   explicit about the conversion without writing a type signature or when
--   cs is ambiguous due to polymorphic inputs or outputs.
--   
--   All functions in this module have cs as their implementation.
module Data.String.Conversions.Monomorphic
toString :: ConvertibleStrings a String => a -> String
toStrictByteString :: ConvertibleStrings a StrictByteString => a -> StrictByteString
toSBS :: ConvertibleStrings a SBS => a -> SBS
toLazyByteString :: ConvertibleStrings a LazyByteString => a -> LazyByteString
toLBS :: ConvertibleStrings a LBS => a -> LBS
toStrictText :: ConvertibleStrings a StrictText => a -> StrictText
toST :: ConvertibleStrings a ST => a -> ST
toLazyText :: ConvertibleStrings a LazyText => a -> LazyText
toLT :: ConvertibleStrings a LT => a -> LT
fromString :: ConvertibleStrings String a => String -> a
fromStrictByteString :: ConvertibleStrings StrictByteString a => StrictByteString -> a
fromSBS :: ConvertibleStrings SBS a => SBS -> a
fromLazyByteString :: ConvertibleStrings LazyByteString a => LazyByteString -> a
fromLBS :: ConvertibleStrings LBS a => LBS -> a
fromStrictText :: ConvertibleStrings StrictText a => StrictText -> a
fromST :: ConvertibleStrings ST a => ST -> a
fromLazyText :: ConvertibleStrings LazyText a => LazyText -> a
fromLT :: ConvertibleStrings LT a => LT -> a
