file io File io will use methods on a file object. some are obvious like binary read/write once we have records and text once we have string buffers. An interesting aspect is sprintf functionality, which isn't necessarily file related at all. In C the format provides - min width and alignment - precision aka max width of some part - data type: int long pointer float etc - conversion style: caps base padchar some of these can come from numeric args. In ocean there is a conversion interface that accepts width, precision and style. Only things with this interface can be formatted. Interface can be called directly. It returns a string with same interface Format string can contain same info and method will be called on each arg as appropriate. So a value can be formatted twice, once by explicit call to method once by implicit. function can register a compile-time handler to verify the format string Everything from % to a space is processed. - leading - means left justify - 0 means 0 pad - N means min width - .M means precision - $P means which arg - remainder is style