module Text.IO (
readFile,
writeFile,
appendFile,
hGetLine,
hPutStr,
hPutStrLn
) where
import Lawless
import Prelude.Unicode ((∘))
import qualified Data.Text.IO as TIO
import Data.Text (Text)
import System.Path
import Control.Monad.IO.Class
import System.Path.IO (Handle)
readFile ∷ (MonadIO m) ⇒ AbsRelFile → m Text
readFile = liftIO ∘ TIO.readFile ∘ toString
writeFile ∷ (MonadIO m) ⇒ AbsRelFile → Text → m ()
writeFile f t = liftIO $ TIO.writeFile (toString f) $ t
appendFile ∷ (MonadIO m) ⇒ AbsRelFile → Text → m ()
appendFile f t = liftIO $ TIO.appendFile (toString f) t
hPutStr ∷ (MonadIO m) ⇒ Handle → Text → m ()
hPutStr h = liftIO ∘ TIO.hPutStr h
hPutStrLn ∷ (MonadIO m) ⇒ Handle → Text → m ()
hPutStrLn h = liftIO ∘ TIO.hPutStrLn h
hGetLine ∷ (MonadIO m) ⇒ Handle → m Text
hGetLine = liftIO ∘ TIO.hGetLine