----------------------------------------------------------------------------- -- | -- Module : System.IO -- Copyright : (c) 2020-2021 EMQ Technologies Co., Ltd. -- License : BSD-style (see the LICENSE file) -- -- Maintainer : Feng Lee, feng@emqx.io -- Yang M, yangm@emqx.io -- Stability : experimental -- Portability : portable -- -- The System IO module. -- ----------------------------------------------------------------------------- module System.IO ( openFile , readFile , writeFile , appendFile , withFile , consultFile , module System.IO.Printf , module System.IO.Types ) where import Control.Monad (IO) import Data.Term (Term) import Data.Unit (Unit) import System.IO.Printf (print, println, printf) import System.IO.Types (FilePath, IODevice, IOMode(..)) import System.File as File openFile :: FilePath -> IOMode -> IO IODevice openFile = File.open foreign import readFile :: FilePath -> IO Binary foreign import writeFile :: FilePath -> Binary -> IO () foreign import appendFile :: FilePath -> Binary -> IO () foreign import withFile :: forall r. FilePath -> IOMode -> (IODevice -> IO r) -> IO r -- Read Erlang terms foreign import consultFile :: FilePath -> IO [Term]