Module Sexp_pretty.Sexp_with_layout

type sexp
type 'a writer = Config.t ‑> 'a ‑> sexp ‑> Base.unit
val pp_formatter : Caml.Format.formatter writer

pp_formatter conf fmt sexp will mutate the fmt with functions such as set_formatter_tag_functions

val pp_formatter' : next:(Base.unit ‑> sexp Base.option) ‑> Config.t ‑> Caml.Format.formatter ‑> Base.unit
val pp_buffer : Base.Buffer.t writer
val pp_out_channel : Caml.out_channel writer
val pp_blit : (Base.stringBase.unitBase.Blit.sub writer
val pretty_string : Config.t ‑> sexp ‑> Base.string

pretty_string needs to allocate. If you care about performance, using one of the pp_* functions above is advised.

val sexp_to_string : sexp ‑> Base.string