Systems programming,
down to the bedrock.

Bedrock is an imperative, statically typed systems programming language built around simplicity, readability, and practicality, to provide the control of a systems language without the unecessary ceremony.

Memory is managed automatically through a region-based memory model. No new, no free, no garbage collector. Explicit low-level control stays available when you need it, behind unsafe blocks.

Familiar by design

An imperative core: procedures, functions, structs, and modules. No classes, no inheritance, no hidden control flow.

Regions, not GC

Scoped arenas are bulk-freed the instant their block exits. Lifetimes are checked at compile time by a simple escape rule.

Explicit failure

Errors and optional values live in the type system: File! can fail, ?User may be absent. Nothing fails silently.