Found on crate .
cargo install cirru_parser
use cirru_parser::{parse};
parse("defn f (x)\n x"); // returns Result<Vec<Cirru>, String>
use writer:
use cirru_parser::{format, CirruWriterOptions, escape_cirru_leaf}
let writer_options = CirruWriterOptions { use_inline: false };
format(tree, writer_options); // tree is Vec<Cirru>
escape_cirru_leaf("a b");
MIT