package fmt

  1. Overview
  2. Docs
OCaml Format pretty-printer combinators

Install

Dune Dependency

Authors

Maintainers

Sources

fmt-0.9.0.tbz
sha512=66cf4b8bb92232a091dfda5e94d1c178486a358cdc34b1eec516d48ea5acb6209c0dfcb416f0c516c50ddbddb3c94549a45e4a6d5c5fd1c81d3374dec823a83b

CHANGES.md.html

v0.9.0 2021-10-22 Zagreb

  • Add alert messages to deprecation annotations (#47).

  • The solution using ephemerons introduced in v0.8.7 for attaching custom data to formatters has unreliable performance characteristics in some usage scenarios. Namely use of Fmt.styled with Fmt.[k]str heavy code as those rely on Format.{k,a}sprintf which allocate one formatter per call.

    Hence we subvert again the Format tag system to do dirty things. However since as of 4.08 tags became an extensible sum type we can keep our dirty things entirely internal.

    Thanks to Thomas Leonard for reporting and David Kaloper Meršinjak for further investigations (#52).

v0.8.10 2021-10-04 Zagreb

  • Require OCaml >= 4.08. This drops the dependency on the stdlib-shims and seq packages.

  • Add the [@@ocaml.deprecated] annotation to deprecated functions. Thanks to Antonin Décimo for the patch.

v0.8.9 2020-09-23 Zagreb

  • Fix Dump.{iter_bindings,hashtbl} which since 0.8.7 no longer prints seperators. Thanks to Edwin Török for the patch.

  • Open the result of Fmt.error_msg to make it easier to compose with other errors. Thanks to Thomas Leonard for the patch.

v0.8.8 2019-08-01 Zagreb

Fix build on 32-bit platforms.

v0.8.7 2019-07-21 Zagreb

  • Require OCaml 4.05.

  • Add Fmt.hex and friends. Support for hex dumping. Thanks to David Kaloper Meršinjak for the design and implementation..

  • Add Fmt.si_size to format integer magnitudes using SI prefixes.

  • Add Fmt.uint64_ns_span to format time spans.

  • Add Fmt.truncated to truncate your long strings.

  • Add Fmt.flush, has the effect of Format.pp_print_flush.

  • Add Fmt.[Dump.]{field,record} for records (#9).

  • Add Fmt.concat to apply a list of formatters to a value.

  • Add Fmt.{semi,sps}, separators.

  • Add Fmt.{error,error_msg} to format result values.

  • Add Fmt.failwith_notrace.

  • Add Fmt.( ++ ), alias for Fmt.append.

  • Add Fmt.Dump.string.

  • Add more ANSI tty formatting styles and make them composable.

  • Change Fmt.{const,comma,cut,sp}, generalize signature.

  • Change Fmt.append, incompatible signature. Use Fmt.(pair ~sep:nop) if you were using it (backward compatible with earlier versions of Fmt).

  • Deprecate Fmt.{strf,kstrf,strf_like} in favor of Fmt.{str,kstr,str_like}.

  • Deprecate Fmt.{always,unit} in favor of Fmt.any.

  • Deprecate Fmt.{prefix,suffix} (specializes Fmt.( ++ )).

  • Deprecate Fmt.styled_unit.

  • No longer subvert the Format tag system to do dirty things. Thanks to David Kaloper Meršinjak for the work.

v0.8.6 2019-04-01 La Forclaz (VS)

  • Add Fmt.{seq,Dump.seq} to format 'a Seq.t values. Thanks to Hezekiah M. Carty for the patch.

  • Handle Pervasives's deprecation via dependency on stdlib-shims.

  • Fmt.Dump.signal format signals added in 4.03.

  • Fix toplevel initialization for omod (#33).

  • Require at least OCaml 4.03 (drops dependency on result and uchar compatibility packages).

v0.8.5 2017-12-27 La Forclaz (VS)

  • Fix Fmt.{kstrf,strf_like} when they are partially applied and repeatedly called. Thanks to Thomas Gazagnaire for the report.

  • Add Fmt.comma.

  • Relax the Fmt.(invalid_arg, failwith) type signature. Thanks to Hezekiah M. Carty for the patch.

v0.8.4 2017-07-08 Zagreb

  • Add Fmt.{invalid_arg,failwith}. Thanks to Hezekiah M. Carty for the patch.

v0.8.3 2017-04-13 La Forclaz (VS)

  • Fix Fmt.exn_backtrace. Thanks to Thomas Leonard for the report.

v0.8.2 2017-03-20 La Forclaz (VS)

  • Fix META file.

v0.8.1 2017-03-15 La Forclaz (VS)

  • Fmt_tty.setup, treat empty TERM env var as dumb.

  • Add Fmt.Dump.uchar formatter for inspecting Uchar.t values.

v0.8.0 2016-05-23 La Forclaz (VS)

  • Build depend on topkg.

  • Relicense from BSD3 to ISC.

  • Tweak Fmt.Dump.option to indent like in sources.

  • Add Fmt.Dump.signal formatter for Sys signal numbers.

  • Add Fmt[.Dump].result, formatter for result values.

  • Add Fmt.{words,paragraphs} formatters on US-ASCII strings.

  • Add Fmt.exn[_backtrace]. Thanks to Edwin Török for suggesting.

  • Add Fmt.quote.

  • Rename Fmt.text_range to Fmt.text_loc and simplify output when range is a position.

v0.7.1 2015-12-03 Cambridge (UK)

  • Add optional cmdliner support. See the Fmt_cli module provided by the package fmt.cli.

v0.7.0 2015-09-17 Cambridge (UK)

First Release.