Project Components and Structure

Here is a summary of the project components, their purpose and a link to their README.md:

  • flowcore - A set of core structs and traits used by flowr and flowc plus code to fetch content from file/http and resolve library (lib://) references.
  • flowmacro - A macro used to help write function implementation code that compile natively and to wasm
  • flowc - The flowc flow compiler binary is a CLI built around flowrclib that takes a number of command line arguments and source files or URLs and compiles the flow or library referenced.
    • flowrclib is the library for compiling flow program and library definitions from toml files, producing generated output projects that can be run by flowrcli or flowrgui.
  • flowrlib - The flow runner library that loads and executes compiled flows.
  • flowr - The flowr flow runner binary that can be used to run and debug flows compiled with a flow compiler such as flowc.
  • flowrex - flowrex is a minimal flow job executor, intended for use across the network associated with flowrcli or flowgui (above).
  • flowstdlib - the flow "standard library" which contains a set of functions that can be used by flows being defined by the user
  • examples - A set of examples flows that can be run