package pprint
Install
Dune Dependency
Authors
Maintainers
Sources
md5=db30436804a95f4106757f3da3b9cd18
sha512=cdc822e546b83a5db4782adcd45301530c659088b74b9134483d97bbcfe6c8f0a9f7cac320189f0417502cf3697f2bcf75b5d35dbb7dfb6d4bb6b5ab7dd61fdd
CHANGES.md.html
Changes
2020/03/16
New functions
PPrint.OCaml.flowing_list
andPPrint.OCaml.flowing_array
.
2020/02/26
Change the behavior of
PPrint.ToFormatter
to useFormat.pp_print_text
internally. This means that a newline character causes a call toFormat.pp_force_newline
; a space character causes a call toFormat.pp_print_space
; and every other character is printed usingFormat.pp_print_char
.Switch to
dune
.Avoid a few compilation warnings.
2018/05/23
Add a
line
field to thestate
record, which can be read by the code that implements custom documents. Add arange
combinator that allows retrieving the start and end points of a (sub)document in the output. (Suggested by Victor Gomes.)
2017/10/03
Update the code and build options to use
-safe-string
. This means that the library now requires OCaml 4.02 or later, and is compatible with 4.06.
2015/03/16
Moved to github and changed the license to LGPL with an exception.
2014/04/25
Minor changes in the implementation of
string
andsubstring
. Initially committed on 2014/03/24, but left out of the 20140424 release due to a goof-up.
2014/04/11
Changed the behavior of
align
, which was not consistent with its documentation.align
now sets the indentation level to the current column. In particular, this means thatalign (align d)
is equivalent toalign d
, which was not the case previously. Thanks to Dmitry Grebeniuk for reporting this issue.
2014/04/03
The library is now extensible (in principle). A
custom
document constructor allows the user to define her own documents, as long as they fit the manner in which the current rendering engine works.The
compact
rendering engine is now tail-recursive too.
2014/03/21
Minor optimisation in the smart constructor
group
.
2014/03/13
New (simpler) pretty-printing engine. The representation of documents in memory is slightly larger; document construction is perhaps slightly slower, while rendering is significantly faster. (Construction dominates rendering.) The rendering speed is now guaranteed to be independent of the width parameter. The price to pay for this simplification is that the primitive document constructors
column
andnesting
are no longer supported. The API is otherwise unchanged.
2013/01/31
First official release of PPrint.