The IO module provides simple ascii-io rendering options. It is modeled after the tuple formats, but does not attempt to outline the results. Instead, it is geared at speed, which also means that some functionality regarding the built-in types is duplicated from the atoms definitions.
MODULE io;
COMMAND io.export(X_0:bat[:any_2], X_1:str):void;
COMMENT "";
COMMAND io.import(X_0:bat[:any_2], X_1:str):void;
COMMENT "";
PATTERN io.print(X_0:any_1):void;
COMMENT "";
PATTERN io.print(X_0:any_1, X_1:any...):void;
COMMENT "";
PATTERN io.print(X_0:bat[:any_1]):void;
COMMENT "";
PATTERN io.print(X_0:bat[:any]...):void;
COMMENT "";
PATTERN io.printf(X_0:str):void;
COMMENT "";
PATTERN io.printf(X_0:str, X_1:any...):void;
COMMENT "";
PATTERN io.printf(X_0:streams, X_1:str):void;
COMMENT "";
PATTERN io.printf(X_0:streams, X_1:str, X_2:any...):void;
COMMENT "";
COMMAND io.setmallocsuccesscount(X_0:lng):void;
COMMENT "";
PATTERN io.stdin():bstream;
COMMENT "";
PATTERN io.stdout():streams;
COMMENT "";
MODULE streams;
UNSAFE COMMAND streams.blocked(X_0:streams):streams;
COMMENT "";
UNSAFE COMMAND streams.close(X_0:streams):void;
COMMENT "";
UNSAFE COMMAND streams.create(X_0:streams, X_1:int):bstream;
COMMENT "";
UNSAFE COMMAND streams.destroy(X_0:bstream):void;
COMMENT "";
UNSAFE COMMAND streams.flush(X_0:streams):void;
COMMENT "";
UNSAFE COMMAND streams.openRead(X_0:str):streams;
COMMENT "";
UNSAFE COMMAND streams.openReadBytes(X_0:str):streams;
COMMENT "";
UNSAFE COMMAND streams.openWrite(X_0:str):streams;
COMMENT "";
UNSAFE COMMAND streams.openWriteBytes(X_0:str):streams;
COMMENT "";
UNSAFE COMMAND streams.read(X_0:bstream, X_1:int):int;
COMMENT "";
UNSAFE COMMAND streams.readInt(X_0:streams):int;
COMMENT "";
UNSAFE COMMAND streams.readStr(X_0:streams):str;
COMMENT "";
UNSAFE COMMAND streams.writeInt(X_0:streams, X_1:int):void;
COMMENT "";
UNSAFE COMMAND streams.writeStr(X_0:streams, X_1:str):void;
COMMENT "";