flowstdlib 0.130.0

The standard library of functions and flows for 'flow' programs
Documentation
# `flowstdlib` Library

`flowstdlib` is a standard library of functions and flows for `flow` programs to use.

## Modules
`flowstdlib` contains the following modules:
* [`control`]src/control/control.md
* [`data`]src/data/data.md
* [`fmt`]src/fmt/fmt.md
* [`math`]src/math/math.md

## Use by the Compiler
In order for the compiler to be able to find the library's `flow` and `function` definitions, the directory containing
this library must be in the default location (`$HOME/.flow/lib`), be part of `FLOW_LIB_PATH` or specified using an 
instance of the `-L` command line option to `flowc`,

NOTE: That flows are compiled down to a graph of functions at compile time, and do not exist at runtime.

## Building this library from Source
Libraries like `flowstdlib` are built using `flowc`, specifying the library root folder as the source url.

This builds a directory tree (in `target/{lib_name}`) of all required files for a portable library, including:-
* documentation files (.md MarkDown files, .dot graphs of flows, graphs rendered as .dot.svg SVG files)
* TOML definition files for flows and functions
* Function implementations compiled to a .wasm WASM file
* A `manifest.json` manifest of the libraries functions and where the implementations (.wasm files) can be found.
  This is used by the Runtime to be able to load it.

## Dual nature of flow libraries
Flow libraries such as `flowstdlib` have a dual nature. They can compiled and linked natively to a binary such
as `flowr`, or when compiled by `flowc` all the functions implementations are compiled to
`.wasm` WASM files.

## Native use by a Runtime
`flowr` offers the `-n/--native` option for the `flowstdlib` to be used natively. When used, functions it
contains will be run natively (machine code), as opposed to WASM implementations of the functions.

## WASM use by a Runtime
If the `-n/--native` option is not used, and the library manifest (`manifest.json`) is found by the flow
runner (e.g. `flowr`) at runtime (using default location, `FLOW_LIB_PATH` or `-L`), then the manifest is read and 
the functions WASM implementations found and loaded.

When a job is executed that requires one of these library functions, the WASM implementation is run.

## features
There are no features to enable.