A small language with big opinions.
FlowLang installs from a single setup file. You get the IDE, interpreter, and package manager—no compilers, no SDKs, no extra steps.
func greet(name) {
std.print("hello, ")
std.print(name)
}
let who = "flowlang"
greet(who)
Install FlowLang
FlowLang is distributed as a single installer.
1. Download the FlowLang installer
2. Run it
3. Launch "FlowLang IDE" from your desktop or start menu
After installation you get:
- FlowLang IDE — graphical editor and runner
- FlowLang Interpreter — command‑line runner (optional)
- Package Manager — connected to this website’s registry
No extra setup:
- No compiler required
- No SDKs or environment variables
- Everything the language needs ships inside the installer
Advanced users can still build from source, but normal users just install and start writing FlowLang.
Core syntax
Basics
Variables, arithmetic, and printing:
let x = 10
let y = x * 2
if y > 10 {
print("big")
} else {
print("small")
}
Functions
Reusable logic with func and return:
func add(a, b) {
return a + b
}
print(add(2, 3))
Using packages
Install from the registry
From the IDE:
- Open Packages → Browse…
- Search for a package by name
- Click Install
From the command line (optional):
flowlang pkg install my-math-lib
flowlang pkg list
flowlang pkg remove my-math-lib
What a package is
A FlowLang package is a single .flowpkg file that contains:
manifest.txt— name, version, description- One or more
.flowsource files
The installer configures the package manager to talk to this site’s registry.
Upload a package
Create your package
On your machine (after installing FlowLang):
my-math-lib/
manifest.txt
src/
math.flow
manifest.txt example:
name: my-math-lib
version: 1.0.0
author: your-name
description: Extra math helpers
entry: src/math.flow
Then bundle it into a .flowpkg file (your tooling or a simple script can zip it).
Upload to the registry
Use this form to publish your .flowpkg so anyone can install it via the IDE or CLI.
The server will validate your manifest and make the package available in the registry.