module Stdlib.System.IO;

open import Stdlib.Data.Nat;
open import Stdlib.Data.String;
open import Stdlib.Data.Bool;
open import Stdlib.Data.Int using {Int};

builtin IO
axiom IO : Type;

infixl 1 >>;
builtin IO-sequence
axiom >> : IOIOIO;

builtin nat-print
axiom printNat : NatIO;

builtin string-print
axiom printString : StringIO;

builtin bool-print
axiom printBool : BoolIO;

builtin int-print
axiom printInt : IntIO;

builtin IO-readline
axiom readLn : (StringIO)IO;

printNatLn : NatIO;
printNatLn n := printNat n >> printString "\n";

printStringLn : StringIO;
printStringLn s := printString s >> printString "\n";

printBoolLn : BoolIO;
printBoolLn b := printBool b >> printString "\n";

printIntLn : IntIO;
printIntLn i := printInt i >> printString "\n";
Last modified on 2023-05-08 11:40 UTC