A minimal, modern language for quick thinking and compact code.What takes 50 lines in other languages often takes 5 in Flo.

Designed for readable, keyboard-only syntax, and fast prototyping.
See comparisons

Concise

Express logic with minimal lines, fewer ceremony tokens.

Readable

Whitespace-first, human-friendly intent and naming.

Portable

Text-only syntax, safe for any keyboard and terminal.

Syntax & Philosophy

Flo favors expressions, simple function definition, and readability. Below: common constructs (all ASCII characters).

Variables

x = 10
name = "Flo"

Functions

add a b = a + b
print add 2 3

Conditionals

abs x = if x < 0 then -x else x

Lists

arr = [1, 2, 3]
map arr | x -> x * 2

Cheatsheet

Quick reference of common Flo idioms. All examples use ASCII-only characters.

Ranges & loops

for i in 1..10 | print i
for x in [1,2,3] | print x

Mapping

map arr | x -> x * 2
filter arr | x -> x > 2

Inline functions

square = |x -> x * x
print square 5

Destructuring

(a,b) = (1,2)
print a, b

One-line I/O

print read_file "data.txt"
write_file "out.txt" "ok"

Comparisons

Side-by-side examples comparing common tasks in Flo vs Python, JavaScript, Ruby, and Go. Flo intentionally uses fewer lines and simpler syntax.

Python

def greet(name):
    return f"Hello, {name}"
print(greet("World"))

Flo

greet name = "Hello, " + name
print greet "World"

JavaScript

function sum(a,b){return a+b}
console.log(sum(1,2))

Flo

sum a b = a + b
print sum 1 2

Ruby

def map_sq(arr)
  arr.map { |x| x*x }
end
puts map_sq([1,2,3])

Flo

map arr | x -> x * x
print map [1,2,3] | x -> x * x

Go

func factorial(n int) int {
  if n <= 1 { return 1 }
  return n * factorial(n-1)
}
fmt.Println(factorial(5))

Flo

fact n = if n <= 1 then 1 else n * fact (n - 1)
print fact 5

C

#include 
int main(){int s=0;for(int i=1;i<=10;i++)s+=i;printf("%d\n",s);}

Flo

s = 0
for i in 1..10 | s = s + i
print s

Java

class Main{public static void main(String[]a){int s=0;for(int i=1;i<=10;i++)s+=i;System.out.println(s);}}

Flo

s = sum 1..10
print s

Bash

for i in 1 2 3 4 5; do echo $i; done

Flo

for x in [1,2,3,4,5] | print x

File IO (Python)

with open('data.txt') as f:
  print(f.read())

Flo

print read_file "data.txt"

Playground

Write Flo and press Run or use Ctrl/Cmd+Enter
Output
--