Visualize as flow diagrams the logic of functions, expressions or scripts in a static way or when running a call, visualize the dependencies between functions or between modules in a shiny app, and more.

{flow} provides tools to visualize as flow diagrams the logic of functions, expressions or scripts and ease debugging.
Use cases are :
Install from CRAN with:
install.packages("flow")
Or install development version from github:
remotes::install_github("moodymudskipper/flow")
library(flow)
Using default nomnoml engine
flow_view(rle)

Using plantuml engine (make sure the {plantuml} package is installed).
flow_view(rle, engine = "plantuml")

flow_run() to display not only the diagram, but the logical path
taken by a specific callflow_compare_runs() display the logical path of 2 calls to see where
they divergeflow_debug()/flow_undebug() to use basically use flow_run() on a
function wherever it’s calledflow_view_vars() to display the dependencies between variables in a
functionflow_view_deps() to display recursively all the functions that your
function callsflow_view_uses() to display recursively all the functions that call
your functionflow_view_shiny() to display the modular structure of your shiny appflow_view_source_calls() to display dependency tree of scripts
sourcing each otherflow_doc() to build a package’s documentation using flow diagramsflow_test() to show what happens in your unit testsflow_embed() to embed diagrams in your documentation.See more in vignettes.
Make sure to check the vignettes for a detailed breakdown of all features.
{flow} is built on top of Javier Luraschi’s {nomnoml} package, and Rainer M Krug ’s {plantuml} package, the latter only available from github at the moment.