A modern, human-friendly, and secure programming language designed to make software development easy for everyone — from absolute beginners to expert developers.
- Easy to Learn: Natural syntax that feels like human thinking
- Memory Safe: Built with Rust for security and performance
- Human-Friendly: Clean, minimal syntax inspired by natural language
- Interactive REPL: Test code snippets instantly
- Cross-Platform: Works on Windows, macOS, and Linux
- Editor Support: Syntax highlighting for VS Code, Sublime Text, Vim/Neovim
-
Download the latest release:
- Go to Releases
- Download
flowlang-0.1.0-beta.tar.gzorflowlang-0.1.0-beta.zip - Extract the archive
-
Install FlowLang:
# Unix/Linux/macOS cd flowlang-0.1.0-beta ./install.sh # Windows install.bat
-
Install Editor Support:
cd editor-support ./install.sh -
Test Installation:
flowlang --help flowlang examples/hello.flow
- Rust 1.70+ installed on your system
- Git
git clone https://github.com/flowlang/flowlang.git
cd flowlang
cargo build --releaseThe compiled binary will be available at target/release/flowlang.
# Copy to system PATH
sudo cp target/release/flowlang /usr/local/bin/
# or for user-only installation
cp target/release/flowlang ~/.local/bin/# Run a FlowLang program
flowlang program.flow
# Run with verbose output
flowlang --verbose program.flow# Start the interactive REPL
flowlang --repl
# or
flowlang -rflowlang --help # Show help
flowlang --version # Show version
flowlang --repl # Start REPL
flowlang --verbose file.flow # Run with verbose output
flowlang --ast file.flow # Show AST (debug)
flowlang --bytecode file.flow # Show bytecode (debug)# Variables
let name be "FlowLang"
let version be 0.1
let is_beta be true
# Arrays
let numbers be [1, 2, 3, 4, 5]
let mixed be ["hello", 42, true]
# Objects
let person be {
name: "Alice",
age: 30,
active: true
}
# Function definition
def greet with name do
show "Hello, " + name + "!"
end
# Function with return value
def add with a, b do
return a + b
end
# Function calls
greet("Developer")
let result be add(5, 3)
# Conditionals
if version > 0 then
show "Beta version"
else
show "Development version"
end
# Loops
for i in 1 to 10 do
show i
end
for item in numbers do
show item
end
# This is a single-line comment
# Multi-line comments are just
# multiple single-line comments
FlowLang provides syntax highlighting and formatting support for popular editors:
Option 1: Install via VSIX (Recommended)
code --install-extension editor-support/vscode/flowlang-syntax-1.0.0.vsixOption 2: Automatic Installation
cd editor-support
./install.sh
# Select option 1 for VS Codecd editor-support
./install.sh
# Select option 2 for Sublime Textcd editor-support
./install.sh
# Select option 3 for Vim or option 4 for Neovim- ✅ Syntax Highlighting: Keywords, strings, numbers, comments
- ✅ Auto-indentation: Proper code formatting
- ✅ Bracket Matching: Automatic bracket completion
- ✅ File Recognition: Automatic detection of
.flowfiles - ✅ Theme Compatibility: Works with all editor themes
The examples/ directory contains sample FlowLang programs:
hello.flow- Hello World programfibonacci.flow- Fibonacci sequence generatorcalculator.flow- Simple calculatorfizzbuzz.flow- FizzBuzz implementationcollections.flow- Working with arrays and objects
# examples/hello.flow
def main do
show "Hello, FlowLang!"
end
main()
# examples/fibonacci.flow
def fibonacci with n do
if n <= 1 then
return n
else
return fibonacci(n-1) + fibonacci(n-2)
end
end
for i in 1 to 10 do
show "fib(" + i + ") = " + fibonacci(i)
end
flowlang/
├── src/ # Rust source code
│ ├── main.rs # CLI entry point
│ ├── lib.rs # Library entry point
│ ├── lexer.rs # Tokenizer
│ ├── parser.rs # Parser
│ ├── ast.rs # Abstract Syntax Tree
│ ├── interpreter.rs # Interpreter
│ └── stdlib.rs # Standard library
├── examples/ # Example FlowLang programs
├── editor-support/ # Editor integrations
│ ├── vscode/ # VS Code extension
│ ├── sublime-text/ # Sublime Text syntax
│ └── vim/ # Vim syntax
├── docs/ # Documentation
└── tests/ # Test suite
# Run all tests
cargo test
# Run with output
cargo test -- --nocapture
# Run specific test
cargo test test_name# Build optimized release
cargo build --release
# Create cross-platform release package
./scripts/build-release.shWe welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Clone your fork:
git clone https://github.com/yourusername/flowlang.git - Create a feature branch:
git checkout -b feature-name - Make your changes
- Run tests:
cargo test - Commit and push:
git commit -am "Add feature" && git push - Create a Pull Request
MIT License - see the LICENSE file for details.
- Documentation: docs/
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Package manager and module system
- Standard library expansion
- Language server protocol (LSP) support
- Debugger integration
- WebAssembly compilation target
- More editor integrations
FlowLang v0.1.0-beta - A programming language designed for humans ❤️