| sidebar_position |
|---|
1 |
Pre-ASUKA Alpha | Research-driven | Contributors Welcome
Ora is an experimental smart contract language and compiler focused on precise semantics, explicit memory regions, and verification-friendly design. The compiler is built in Zig and lowers through Ora MLIR to Sensei-IR (SIR) on the backend path to EVM bytecode.
This site has two complementary tracks:
- Practical docs for writing Ora and using the compiler today.
- Research docs that capture the academic and architectural foundations.
Ora is not a Solidity clone. A language for contracts where the compiler is a first-class research artifact. The design favors explicitness: regions, effects, and refinement constraints are surfaced and checked early.
Ora is in pre-release alpha on the ASUKA track. The front-end pipeline (lexing, parsing, type resolution, and Ora MLIR emission) is active and under constant iteration. Backend lowering to Sensei-IR (SIR) and EVM is active.
Expect breaking changes. Nothing here is production-ready.
We document research work in-progress as first-class artifacts:
- Getting Started to build the compiler and run your first file.
- Language Basics for core syntax and types.
- Imports and Modules for multi-file projects and
ora.toml. - Examples for working patterns and caveats.
- Compiler Field Guide for contributors and new compiler engineers.
- Research for the academic lens: formal verification, type system strategy, and compiler architecture.
Ora is a research-grade compiler that benefits from tests, docs, and minimal reproducers as much as from compiler changes. If you want to help, start with:
CONTRIBUTING.mdin the repo- the Compiler Field Guide
- small, well-scoped documentation fixes