Typo is a programming language built purely on TypeScript’s type system — no functions, no runtime, no actual execution in the traditional sense. Just... types.
Typo is an experimental project that explores the idea of treating TypeScript types as the building blocks for a programming language. This includes:
- ✅ Arithmetic operations (Addition, Subtraction, Multiplication)
- ✅ Branching logic (IfElse)
- ✅ Booleans & Logic operators (And, Or, Negate)
- ✅ Negative & positive number support
- ✅ Variables via type inference
- ✅ Simulated output with Print
- ✅ Basic "computation block" with scoping using function arguments
All of this is accomplished using TypeScript’s advanced type capabilities like conditional types, recursive types, literal type inference, and template literal types.
Note: This is not meant for production use — it’s a fun, brain-twisting exploration of what's possible with types only.
While helping a friend reinstall Windows, I opened the TypeScript Playground to pass the time. A couple of random lines of code later, an idea sparked — what if I could create a full language just using types?
Two hours later, Typo was born.
You define your program inside a function-like type. Each line can define a variable, perform a computation, or simulate a print.