bamboo-2009.6.6: src/Bamboo/Helper/ByteString.hs
{-# LANGUAGE NoMonomorphismRestriction#-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE TypeSynonymInstances #-}
module Bamboo.Helper.ByteString where
import Data.Char (toLower)
import qualified Data.ByteString.Char8 as S
import qualified Data.ByteString.UTF8 as U
import qualified Data.ByteString.Char8 as S
import Bamboo.Helper.PreludeEnv
import qualified Data.ByteString as SB
import qualified Data.ByteString.UTF8 as SU
import qualified Data.ByteString.Lazy as LB
import qualified Data.ByteString.Lazy.UTF8 as LU
import qualified Prelude as P
import Data.Default
class SB a where
to_sb :: a -> SB.ByteString
instance SB SB.ByteString where
to_sb = P.id
instance SB LB.ByteString where
to_sb = LB.toChunks > SB.concat
instance SB String where
to_sb = SU.fromString
class LB a where
to_lb :: a -> LB.ByteString
instance LB LB.ByteString where
to_lb = P.id
instance LB SB.ByteString where
to_lb = return > LB.fromChunks
instance LB String where
to_lb = LU.fromString
class US a where
to_us :: a -> String
instance US String where
to_us = P.id
instance US LB.ByteString where
to_us = LU.toString
instance US SB.ByteString where
to_us = SU.toString
lower :: S.ByteString -> S.ByteString
lower = S.map toLower
isInfixOf :: S.ByteString -> S.ByteString -> Bool
isInfixOf = S.isInfixOf
read_bytestring :: String -> IO S.ByteString
read_bytestring = u2b > S.readFile
instance Default S.ByteString where
def = S.empty