Kawa has a number of useful tools for controlling input and output:
A programmable reader.
A powerful pretty-printer.