The Semantic Analyzer now uses a multi-pass DAG resolution system to enforce strict visibility boundaries across files.
import "math"
from "utils" take { helper as my_helper }
pub fun add(a: int, b: int) -> int { return a + b; }
Stay up to date with the latest features, releases, and guides from the Ferrite core team.
Maintenance release focusing on project documentation. We have fully published the 21-chapter Engineering Knowledge Base (EKB) detailing the compiler architecture, memory models, and future MLIR roadmap.
Ferrite scales up! We've introduced a robust module system with import, from, take, and pub keywords, isolating scopes and enabling 100k+ line codebases without symbol pollution.
The Semantic Analyzer now uses a multi-pass DAG resolution system to enforce strict visibility boundaries across files.
import "math"
from "utils" take { helper as my_helper }
pub fun add(a: int, b: int) -> int { return a + b; }
The Ferrite compiler can now run entirely in your browser via WebAssembly! We embedded the standard library using include_str! to eliminate OS filesystem dependencies.
Our Windows installation experience has been rewritten. The setup wizard now properly publishes vendor parameters, configures environment paths, and resolves standard SDK files directly.
Ferrite's compiler type check has been hardened. We've introduced explicit interfaces called Traits, which can be custom-implemented on structural Groups to support clean code architectures.
Introduced the where clause for Trait and Shape bounds, allowing functions to enforce tensor dimensionalities natively during the unification pass.
The biggest update in Ferrite history. We discarded the Bytecode VM and transitioned to strict static typing, compiling directly to LLVM IR for bare-metal machine learning performance.
Ferrite now guarantees zero implicit type coercion. Shape mismatch bugs are caught entirely at compile-time.
Replaced the tree-walking interpreter with a custom Stack-Based Bytecode VM. Introduced lexical closures, enum guard clauses, and skip/stop loops control.
The first public release of the Ferrite language, running on a dynamic Tree-Walking Interpreter written in Rust.