[ANN] ppx_minidebug 1.0.0: explore logs of type-annotated let-bindings, code branches

I’m happy to announce version 1.0 of ppx_minidebug. It is inspired by dariusf/ppx_debug: Tools for record-and-replay debugging, but rather than parsing .cmt files it relies on user-provided type annotations.

  • It can highlight paths to a regular expression-based search term.
  • It has options to trim down the size of generated logs and split logs into multiple files.
  • It uses c-cube/printbox as a backend (plus a minimal, flushing backend) – offering HTML and Markdown output with foldable trees.
  • It supports both deriving.show and deriving sexp “frontends” – in the latter case, it can turn large values into foldable trees.
  • It can log control flow structures (match / function branches, loops, anonymous functions).
  • It propagates types top-down, merges types and decomposes patterns, making it easier to provide types for desired values.

ppx_minidebug: Formatted logs of type-annotated let-bound values, function arguments and results, if and match branches taken. Optionally, as collapsible HTML or Markdown trees with highlights. (github.com)

Inline test examples: ppx_minidebug/test/test_expect_test.ml