Implemented now
The first compiler path crosses every major stage.
-
01
Parse Python
pycc_parserwraps the vendored Ruff Python parser and converts supported syntax intopycc_astnodes with source ranges. -
02
Lower to HIR
pycc_hirrepresents the implemented v0.1 frontend subset: expressions, assignments, functions, control flow, primitive values,range, and basic f-strings. -
03
Resolve and type-check
pycc_types::check_and_resolveenforces public annotations, rejectsAny, infers private helpers, validates expressions and control flow, and materializes concrete signatures before MIR. -
04
Cross the backend boundary
MIR and code generation cover the implemented v0.1 surface: typed arithmetic and comparisons, control flow, functions and recursion, module globals, primitive values, strings, basic f-strings, and type-aware
print. Known representation and lifetime gaps remain explicit in the roadmap. -
05
Generate and link
pycc_codegenuses LLVM to emit an object. The driver invokes the host toolchain to link a native executable with the minimal runtime.
Repository boundaries
Nine implementation crates exist today.
pyccCLI and orchestrationpycc_astCurrent source modelpycc_parserParser adapterpycc_hirv0.1 high-level IRpycc_typesStrict checking and inferencepycc_mirv0.1 typed mid-level IRpycc_codegenv0.1 LLVM backendpycc_rtMinimal runtimepycc_diagHuman and JSON diagnostics
The architecture specification also reserves
pycc_lexer, pycc_own,
pycc_std, and pycc_testkit. Those
boundaries are deliberate future work, not current modules
hidden behind marketing language.
Design contract
The target pipeline is richer than the current v0.1 implementation.
The implemented frontend already resolves and checks the v0.1 primitive subset. The target architecture extends that checked surface into fully typed SSA MIR, ownership and escape analysis, optimizations such as reference-count elision and monomorphization, and complete runtime and standard-library components linked into a standalone native binary for native and pure builds. Planned permitted CPython interop instead adds the pinned interpreter and dependency closure to an autonomous application bundle.
The v1 language contract is Python 3.14. Static restrictions must be expressed as documented diagnostics rather than new syntax.
Portability model
Five Tier-1 targets gate the project.
Linux x64 and arm64, macOS x64 and arm64, and Windows x64 are native CI targets. Same-OS, cross-architecture macOS compilation is proven; arbitrary cross-OS builds are not yet supported because target sysroots and link environments are not bundled.