Fuyu is a statically typed, concurrent, functional programming language for building reliable concurrent software. Running on the BEAM, it combines immutable data, scalable concurrency, type inference, pattern matching, higher-order functions, and traits in a concise declarative syntax.
Givens
Givens are values that the compiler automatically wires through a program based on context, which enable controllable and configurable approaches to polymorphism.
Scalable concurrency
Compile to native code and run on Fuyu's own lightweight runtime, which can spawn hundreds of thousands of concurrent tasks. Concurrency is highly scalable, letting you tackle massive workloads.
Static typing
Every expression's type is verified at compile time. Inconsistent types cause the compiler to reject the program, eliminating an entire class of runtime errors before the code ever runs.
Type inference
Write concise code without repetitive annotations. While function signatures stay explicit, the compiler automatically infers the types of all other expressions, preserving safety with minimal visual noise.
Declarative style
Use pattern matching and algebraic effects to describe what to do, not how to do it. Let the compiler help you by checking exhaustiveness, managing side-effects, and generating optimized code.
Immutability
Immutability ensures that values never change after creation, giving you referential transparency and making programs easier to reason about, test, and refactor.