v0.1 Preview

Controle de baixo nível. Garantias que o compilador explica.

Arandu é uma linguagem experimental de sistemas para quem quer controle sobre memória, execução e binários sem abrir mão de diagnósticos compreensíveis.

main.aru
import io

func main(): int {
  let message: str = "hello, arandu"
  io.println(message)
  return 0
}

O fluxo

Do arquivo `.aru` ao binário nativo.

Cada etapa do compilador deixa visível onde o programa está e o que já foi verificado.

01

main.aru

seu arquivo-fonte simples e legível.

02

lexer

reconhece palavras-chave, literais e operadores.

03

parser + CST

organiza os tokens e preserva a estrutura.

04

type checking

verifica nomes, tipos, retornos e usos.

05

AMIR

representação intermediária para análise.

06

Cranelift

gera código para o host ou um artefato nativo.

Hoje

Uma base pequena, mas executável.

A Arandu já pode ser explorada como linguagem e como ferramenta.

$ _01

Projetos e CLI

`new`, `doctor`, `check`, `run` e `build` formam o fluxo básico.

{ }02

Tipos e diagnósticos

Resolução de nomes, type checking, spans e mensagens apontam o problema.

03

Execução nativa

Cranelift fornece JIT para `run` e artefatos nativos para `build`.

‹/›04

Ferramentas de editor

O LSP oferece diagnósticos, hover, conclusão, referências, rename, símbolos e format.

O modelo

Os valores têm uma história clara.

A linguagem torna as decisões importantes visíveis cedo.

let / mut
Imutabilidade por padrão; mudança declarada.
own / ref
Transferência de posse ou empréstimo.
Option<T>
Ausência representada no tipo.
Result<T, E>
Sucesso e falha como dados explícitos.

Roadmap

A base é atual. A ambição é maior.

A Arandu ainda é experimental, mas a ambição é clara: memória, tipos, execução e ferramentas devem compartilhar o mesmo modelo mental.