The i/o for ParaFlow right now goes through these functions. print(var v) Print the contents of any variable, including arrays or structures. (Uses run-time type info to figure out how to print). Prints to stdout. prin(var v) Like print but with no line feed at end. punt(string message) Abort program after printing message to error output. fileOpen(string fileName, string mode) into (file f) Return an open file handle. Mode is like C: "w" for write, "r" for write, "a" for append. Once a file is open the following methods can be applied: f.writeString(string s) Writes all characters in string to file. f.readLine() into string s Read a line into string. This includes the newline. At EOF will return empty string, which is treated as false inside of a conditional. f.readBytes(int count) into string s Read in count number of bytes and put them in string s. At EOF will return enpty string. Near EOF may return a string shorter than count bytes. f.close() Closes file. Generally not necessary since file will close automatically when file object falls out of scope. Definitely need to add more i/o functions. I want to think about it a bit, and hopefully end up with something nice. Some stuff I'm thinking of is: f.print(var v) acts like print but to a file. v.scan(f) Reads in variable in some format f.print put it out in. pipeOpen(string commandLine, string mode) into (file f) This puts together a pipe line that is either readable or writable depending on mode. f.seek(long pos) seeks to given position from start of file. Only used for certain files. f.tell() into long pos Returns current position in file. stringOpen(string s) into (file f) Wraps a file interface around string. netOpen(string url) into (file f) Wrap a read-pipe interface around http or ftp address. tcpOpen(string host, int port) into (file f) Put tcp/ip connection into read/write pipe.