A programming language that compiles to C.
Maximum performance. Explicit memory. Native hot reload.
An OOP language with clean syntax that compiles directly to C. Designed for games, real-time systems, and any domain where performance and memory control matter.
Your .brc code becomes readable C — then gcc turns it into a native binary. No VM, no interpreter, no overhead.
No garbage collector, no stack for user data. Everything lives in named blocks you control. Reset a block — all allocations go with it.
Swap code without stopping your program. Powered by dlopen + inotify. Edit, save, see results instantly.
i8/i16/i32/i64, u8/u16/u32/u64, f32/f64, usize/isize. Compile-time overflow checking, literal suffixes, and type promotion rules.
Interfaces, fixed-width types, blocks — all working together.
package DEMO using IO block global = 256MB interface Drawable { fn draw() } struct Circle { u32 id String name f32 radius fn Circle(u32 i, String n, f32 r) { id = i name = n radius = r } fn draw() { print("Circle #{0} radius={1}", id, radius) } } fn main() { Circle c = Circle(1u32, "Small", 5.0f32) @global c.draw() }
Everything you need for high-performance systems programming — nothing you don't.
Structs with methods, constructors, inheritance, and interface support. Clean GDScript-inspired syntax that compiles to C.
Declare named memory blocks (8KB – 256MB+). All allocations go into blocks. No malloc/free per object — just block.reset().
Edit code while it runs. dlopen + inotify detect changes, reload .so files, remap functions. Zero downtime iteration.
i8..i64, u8..u64, f32/f64, usize/isize. Full compile-time overflow checking, widening rules, and literal suffixes.
Step through your original .brc code, not the generated C. #line directives map every line back.
Ncurses dashboard showing block memory usage and allocations in real time. brick --visualize file.brc.
Syntax highlighting, LSP, and a memory-view panel that plots block allocations. Debug your memory layout visually.
Write once, compile anywhere C goes — Linux, macOS, Windows. Pure C runtime with POSIX dlopen.
Block memory isn't just safe — it's brutally fast.
From zero to running in four steps.
Get the repository and enter the project directory.
git clone https://github.com/nonunknown777/brick.git cd brick
Brick uses SCons. Build the compiler and runtime in one command.
scons
Create a .brc file with structs, methods, and blocks.
touch game.brc
Use the brick CLI — no manual gcc needed.
build/brick run game.brc
From source to binary — the compilation pipeline.
Learn the language, the runtime, and the toolchain.
Complete syntax, types, packages, and memory model reference.
Installation, first project, and common patterns explained simply.
How the compiler, runtime, and tools fit together.
Bump allocator tuning, SIMD, alignment, and benchmarks.
Live code swapping architecture and usage.
Documentação completa em português.