Skip to content

Cale

Cale is a systems language and compiler project that moves with the C ABI. It starts from a C-compatible lane, preserves source meaning through its IR pipeline, and grows toward debugger-backed semantic analysis.

Project Status

Cale today

Cale is a systems language and compiler project designed to coexist with the C ABI. It keeps the low-level environment that makes C useful, while moving dangerous defaults into compiler-visible semantics.

The project already has a C source to SIR, FIR, BCIR, and Sol pipeline. Lacail is growing as an independent debugger that consumes Cale artifacts instead of linking to Cale internals.

C ABI coexist

Designed around existing C and OS boundaries.

Compiler active

A lowering pipeline through SIR, FIR, BCIR, and Sol.

Lacail standalone

An artifact consumer debugger, not an internal Cale module.

Compiler Pipeline

Lowering source meaning without throwing it away

The homepage now presents Cale as a working compiler project. The pipeline section gives visitors a compact mental model before they enter the longer documentation.

01 C source input

Existing C source and ABI entry point

02 SIR source IR

Preserves source structure for later stages

03 FIR flow IR

Makes control and value flow more explicit

04 BCIR backend IR

Moves closer to backend lowering

05 Sol lowered IR

Connects to low-level execution meaning

Lacail Semantic Debugger

Stop like LLDB, explain more when Cale artifacts exist

Lacail is a standalone debugger project. It should read ordinary executables, object files, DWARF, and source maps, then add semantic traces and UB facts when Cale bundles are available.

Read Lacail docs
lacail explain-pc semantic trace
stop
break main -> pc 0x100003f80
source
main.c:42:17 value = lhs + rhs
symbol
main + 0x34
ub fact
signed overflow candidate
trace
FIR %sum -> BCIR v17 -> Sol r0

Releases

Binary releases will be based on GitHub Releases

This site is currently the project map and documentation home. Real downloads will be linked here when the release process is ready.

Release plan

Blog

Latest posts

View all