Current section
Files
Jump to
Current section
Files
priv/System/IO.phi
-----------------------------------------------------------------------------
-- |
-- 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]