Home

Awesome

flow

flow is a platform for safe, easy and productive programming of complex, multi-platform apps with a modern user interface.

The flow platform includes

flow has production quality targets for:

Hello world

import runtime;

main() {
	println("Hello world");
}

Meet flow

Installation

The easiest way to get started is to use VS Code with Dev Containers. See: VS Code dev containers. It can also be installed via the following steps:

  1. Make sure you have Git LFS installed.

  2. Check out this repository with something like

    git clone https://github.com/area9innovation/flow9

  3. Add flow9\bin to your path.

  4. Install Python 3, and make sure it is in your path.

  5. Install OpenJDK 11 or newer. It must be the 64 bit version. For example: https://jdk.java.net/java-se-ri/14

  6. Cd into the flow9 directory and compile and run the first program:

    c:/flow9> flowcpp demos/demos.flow

If this does not work, make sure you have Git LFS installed. You have to reclone the flow9 repository after installing Git LFS, or use git lfs pull.

See demos/demos.flow to read the code for this example.

Documentation

See doc/readme.markdown for further documentation about the language and platform, including more details on how to get started.

See flow9 Wiki for documentation on the Material library and main UI building blocks.

Community

There is a YouTube channel here:

https://www.youtube.com/channel/UC9lxa2X3hMFQKaKnn-sq2Pg

Here is a Discord server for discussions about flow:

https://discord.gg/9gGJu6KU

Tooling

Folders

License

The flow compiler is licensed under GNU General Public License version 2 or any later version. The flow standard library is released under the MIT license. For the license of other components, see LICENSE.txt.

Name

flow was started in 2010. This predates the 'flow' typechecker from Facebook. Thus, we elect to keep the name, since it came first, is a full platform and the risk of confusion seems small. However, should the need arise, then flow9 can also be used to refer to this language.

History