
Programe perto do metal. Mantenha a intenção visível.
Genéricos, módulos e asserções em um só fluxo nativo.
Testes em Flecha são código tipado comum, com declarações test de primeira classe. Importe módulos reutilizáveis, exercite algoritmos genéricos sobre fatias e confira os resultados com a biblioteca padrão de asserções.
Execute a suíte com flecha test e conte com as mesmas verificações do compilador usadas no código de produção.
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" );}Controle direto, apoiado pelas verificações do compilador.
Referências, fatias, alocação bruta em código inseguro, contratos de propriedade e análise de atribuição definida.
Tokenizer, parser, analisador semântico e pipeline de lowering projetados para explicar problemas no código-fonte.
Emita LLVM IR, objetos ou executáveis nativos do host. O runtime e a biblioteca padrão acompanham os arquivos de versão.
Da primeira compilação aos detalhes internos.
Comece com um compilador funcional, aprenda a sintaxe central e aprofunde-se nas notas de implementação e na especificação.