You need Git to clone the repo.
From your command line:
git clone https://github.com/andrewdavidmackenzie/flow.git
make and a rust toolchain (cargo, rustc, clippy) to build from source
(I suggest using rustup).
Once you have those, you can install the remaining pre-requisites using:
These include libraries like
ssl and tools like
graphviz to build the book.
make config target should install them all for you. It should work on
linux variants using
yum package managers (PRs to Makefile are welcome for other linux package managers).
To build and test (including running the examples and checking their output is correct) as well as building the book and ensuring all links are value, use:
The first time you build (using
make all), it will take a long time.
This is due the function implementations in the
flowstdlib standard library being compiled to WASM.
After the first build, dependencies are tracked by the
flowc compiler and implementations are only re-compiled when required.
The book is rebuilt as part of every PR and Merge to master to ensure it is not broken. The book is rebuild and deployed here on every release.
The Project is structured into a number of rust crates that form part of a rust cargo "workspace".
Currently, two binaries are built:
flowc the flow compiler two flow runners
See the Project Components and Structure section of the book for more details.
I organize all issues in a Github Project and chose things to work on from the "Next" column. I have only marked a couple of issues with "help wanted" label but I can do more if there is interest. If in doubt reach out to me by email, or GitHub issue.