Learn R Programming

flow

{flow} provides tools to visualize as flow diagrams the logic of functions, expressions or scripts and ease debugging.

Use cases are :

  • Deciphering other people’s code
  • Getting more comfortable with our own code by easing a visual understanding of its structure
  • Documentation
  • Debugging
  • Inspect unit test results
  • Providing a higher level view of an algorithm to collaborators
  • Education

Installation

Install from CRAN with:

install.packages("flow")

Or install development version from github:

remotes::install_github("moodymudskipper/flow")

Example

library(flow)

Using default nomnoml engine

flow_view(rle)

Using plantuml engine (make sure the {plantuml} package is installed).

flow_view(rle, engine = "plantuml")

Additional functions

  • flow_run() to display not only the diagram, but the logical path taken by a specific call
  • flow_compare_runs() display the logical path of 2 calls to see where they diverge
  • flow_debug()/flow_undebug() to use basically use flow_run() on a function wherever it’s called
  • flow_view_vars() to display the dependencies between variables in a function
  • flow_view_deps() to display recursively all the functions that your function calls
  • flow_view_uses() to display recursively all the functions that call your function
  • flow_view_shiny() to display the modular structure of your shiny app
  • flow_view_source_calls() to display dependency tree of scripts sourcing each other
  • flow_doc() to build a package’s documentation using flow diagrams
  • flow_test() to show what happens in your unit tests
  • flow_embed() to embed diagrams in your documentation.

See more in vignettes.

Notes

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.

Copy Link

Version

Install

install.packages('flow')

Monthly Downloads

326

Version

0.2.0

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Antoine Fabri

Last Published

June 6th, 2023

Functions in flow (0.2.0)

flow_doc

Draw Flow Diagrams for an Entire Package
flow_debugonce

Deprecated
flow_view_deps

Show dependency graph of a function
flow_view_source_calls

Draw diagram of source dependencies
flow_view_uses

Show graph of callers of a function
flow_view_vars

Draw the dependencies of variables in a function
flow_draw

Draw Diagram From Debugger
flow_embed

Embed chart in roxygen doc
flow_debug

Debug With Flow Diagrams
flow_test

Build Report From Tests
flow_view_shiny

Visualize a shiny app's dependency graph
flow_view

View function as flow chart
flow-package

flow: View and Browse Code Using Flow Diagrams