{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:
::install_github("moodymudskipper/flow") remotes
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.