content: {-# LANGUAGE ConstraintKinds #-}
  module RIO.Prelude.Renames
    ( sappend
    , LByteString
    , LText
    , UVector
    , SVector
    , GVector
    , toStrictBytes
    , fromStrictBytes
    , yieldThread
    ) where
  
  import Prelude
  import qualified Data.ByteString          as B
  import qualified Data.ByteString.Lazy     as BL
  import qualified Data.Vector.Generic      as GVector
  import qualified Data.Vector.Storable     as SVector
  import qualified Data.Vector.Unboxed      as UVector
  import qualified Data.Text.Lazy           as TL
  import qualified Data.Semigroup
  import UnliftIO (MonadIO)
  import qualified UnliftIO.Concurrent (yield)
  
  sappend :: Data.Semigroup.Semigroup s => s -> s -> s
  sappend = (Data.Semigroup.<>)
  
  type UVector = UVector.Vector
  type SVector = SVector.Vector
  type GVector = GVector.Vector
  
  type LByteString = BL.ByteString
  type LText = TL.Text
  
  toStrictBytes :: LByteString -> B.ByteString
  toStrictBytes = BL.toStrict
  
  fromStrictBytes :: B.ByteString -> LByteString
  fromStrictBytes = BL.fromStrict
  
  yieldThread :: MonadIO m => m ()
  yieldThread = UnliftIO.Concurrent.yield
  {-# INLINE yieldThread #-}
  