Top 1K Features Creators Events Podcasts Books Extensions Interviews Blog Explorer CSV

Faber

< >

Faber is an open source programming language created in 2026 by Ian Zepp.

#1551on PLDB 0Years Old
Download source code:
git clone https://github.com/faberlang/faber
Homepage · Source Code · Docs

Faber (Faber Romanus) is an experimental, statically typed language designed to be written by language models and read by people. Every operator is a single glyph with one meaning, types come before names, and failure is a typed second channel. The same analysed program can be rendered in several reader languages (English, Latin and others). A reference interpreter defines the semantics, and code generators emit Rust, Go, TypeScript, Swift, Python, C and LLVM IR, each measured against it. Experimental through version 1.x.


Example from the web:
fn greet(string name) → string { return "Salve, §!"(name) } fn divide(int a, int b) → int ⇥ string { if b ≡ 0 then throw "division by zero" return a / b } main { let list<string> names ← ["Ana", "Ben"] for from names let name { print greet(name) } print divide(7, 0) ⊥ -1 }

Language features

Feature Supported Example Token
Exceptions ✓ fn divide(int a, int b) → int ⇥ string { if b ≡ 0 then throw "division by zero" return a / b }
Generics ✓ fn first(list items, T fallback) → T { return items.get(0) coalesce fallback }
Type Inference ✓ let _ answer ← 42
Static Typing ✓ fn add(int a, int b) → int { return a + b }
Functions ✓ fn add(int a, int b) → int { return a + b }
Integers ✓ let int answer ← 42
Line Comments ✓ # A comment #
Comments ✓ # A comment
Strings ✓ "Hello world" "
Print() Debugging ✓ print "Hello world" print
Semantic Indentation X

- Build the next great programming language · Add · Add Prompt · Issues · About · Search · Keywords · Livestreams · Labs · Resources · Acknowledgements

Built with Scroll v180.0.1