Brick

Linguagem que compila para C.
Máxima performance. Zero overhead. Controle total.

package JOGO
using IO

block global = 256MB

interface Danificavel {
    fn tomar_dano(i32 dmg)
}

struct Jogador : Danificavel {
    i32 hp
    String nome

    fn tomar_dano(i32 dmg) {
        hp -= dmg
        if hp < 0 { hp = 0 }
        print("{0} tomou {1} de dano", nome, dmg)
    }
}

fn main() {
    Jogador p = Jogador(100, "Felipe") @jogo
    p.tomar_dano(20)
    jogo.reset()
}

Por que Brick?

Zero-Cost Abstractions

Compila para C puro com diretivas #line. Cada fn vira static inline — custo zero de chamada.

🧱

Memória por Blocos

Bump allocator (~3 ciclos). Sem malloc/free. Sem GC. Reset de bloco em ~5 ns.

🔄

Hot Reload Nativo

Troque código sem reiniciar. Swap atômico de ponteiros. Inotify + dlopen.

🔧

POO com Velocidade

Structs com métodos, interfaces com vtbl, herança, impl blocks — tudo zero-cost.

📦

Sistema de Pacotes

Projetos multi-arquivo, pacotes aninhados (MATH.VEC2), export/private, auto-resolução.

🛠️

Metaprogramação

macro com $, build {} compile-time, emit {} code gen, higiene, varargs.

🌐

Interoperabilidade C

include, link, extern fn, @system. Conversão automática String → *u8.

⚙️

Tipos de Largura Fixa

u8..u64, i8..i64, f32/f64. Bitfields (u4, i3). Overflow verificado na compilação.

🎨

Sistema de Tipos Rico

Arrays dinâmicos, ponteiros, structs, unions, enums, match com guards, defer, sizeof/alignof.

Pronto para construir com Brick?

Compile para código nativo. Controle sua memória. Fique no controle.

Começar → Ler Docs