Learn UNLAMBDA with Real Code Examples
Updated Nov 26, 2025
Architecture
Programs consist entirely of combinator applications
Execution is performed by recursively applying combinators
No state or mutable variables
I/O handled via dedicated combinators
Evaluation follows normal order (call-by-name) semantics
Rendering Model
Programs are sequences of combinator applications
Evaluation occurs via left-associative function application
Output handled with `.` operator
Input handled with `,` operator
Conditional and looping logic via combinators
Architectural Patterns
Recursive combinator evaluation
I/O combinators embedded in expressions
Program as a single expression tree
No mutable state or variables
Turing-complete via combinatory constructs
Real World Architectures
Command-line interpreter execution
Online REPL for experimentation
Academic and recreational projects
Esoteric programming competitions
Demonstrations of Turing-completeness
Design Principles
Extreme minimalism
Combinatory logic-based computation
Function application as primary operation
No variables or named functions
Emphasis on theoretical and educational use
Scalability Guide
Small: simple programs like printing text
Medium: small algorithms and recursion examples
Large: complex combinator-based algorithms
Enterprise: mostly theoretical or educational purposes
Global: share programs online for community learning
Migration Guide
Source code `.ul` can be moved between interpreters
Ensure syntax is compatible with target interpreter
Test program behavior after migration
Document combinator usage for clarity
Update I/O handling if environment changes