module Haskell.Prim.IO where open import Haskell.Prim open import Haskell.Prim.Show open import Haskell.Prim.String postulate IO : ∀{a} → Set a → Set a FilePath = String postulate -- Input functions interact : (String → String) → IO ⊤ getContents : IO String getLine : IO String getChar : IO Char -- Output functions print : ⦃ Show a ⦄ → a → IO ⊤ putChar : Char → IO ⊤ putStr : String → IO ⊤ putStrLn : String → IO ⊤ -- Files readFile : FilePath → IO String writeFile : FilePath → String → IO ⊤ appendFile : FilePath → String → IO ⊤