
Build close to the metal. Keep intent in view.
Generics, modules, and assertions in one native workflow.
Flecha tests are ordinary typed code with first-class test declarations. Import reusable modules, exercise generic algorithms over slices, and verify results with the standard assertion library.
Run the suite with flecha test and get the same compiler checks as production code.
module algorithms_test;
@imports :: root::containers::algorithms :: lib::std::tests::testing :: lib::std::tests::asserts;
test index_of_finds_the_first_match(&testing::UnitTest t) { [5]i32 values = [10, 20, 30, 20, 40];
index, found := algorithms::index_of<i32>(values[:], 20); asserts::is_true(t, found, "index_of finds a present value");
usize expected = 1; asserts::equal<usize>( t, &expected, &index, "index_of returns the first match" );}Simple language. Safe systems. Native performance.
Flecha aims to remain substantially simpler than C++ and Rust without giving up memory safety or low-level control. A small set of mechanisms—explicit ownership, checked references and slices, deterministic cleanup, error values, and narrow unsafe boundaries—should compose into powerful libraries instead of requiring a new language feature for every domain.
Checked references, slices, move-only callable values, explicit closure captures, raw allocation in unsafe code, and ownership contracts.
Collections, text, bytes, encoding, hashing, cryptography, files, networking, processes, time, randomness, and tests ship with the toolchain.
Longbow builds native programs, resolves source packages, verifies immutable checksums, and records reproducible dependency graphs.
A language capable of carrying its own implementation.
Flecha is moving toward a self-hosted compiler written in Flecha, with native performance in the same class as an equivalent C++ implementation. Data formats, networking, async I/O, metaprogramming, cryptography, and demanding native integrations will help prove the language along the way.
This is a direction, not a frozen checklist. The destination is clear, while the language remains free to discover better ways to reach it.
Read the Flecha 1.0 visionFrom first build to language internals.
Start with a working compiler, learn the core syntax, then go as deep as the implementation notes and specification.