package sexp_pretty

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Pretty-printing of S-expressions.

Warning! It is not recommended to use this library in critical code, and certainly not in a context where the sexp produced by that module are expected to be parsed again. There is no guarantee that the code won't raise. The scrutiny of review is low at the moment and some work would be required to bump it. Suitable for human readable sexps only. It was added to the base projection to allow expect tests to more easily generate more readable s-expressions, even when used in contexts that require base-projection only code.

module Config : module type of Config
module type S = sig ... end
include S with type sexp := Sexplib.Sexp.t
type 'a writer = Config.t -> 'a -> Sexplib.Sexp.t -> 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_buffer : Base.Buffer.t writer
val pp_out_channel : Caml.out_channel writer
val pretty_string : Config.t -> Sexplib.Sexp.t -> 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 : Sexplib.Sexp.t -> Base.string
module Normalize : sig ... end
val sexp_to_sexp_or_comment : Sexplib.Sexp.t -> Sexplib.Sexp.With_layout.t_or_comment