Language Reference
Execution and Feature Status
A compact status matrix for what Kira parses, semantically checks, and runs today.
Status Matrix
| Feature | Parsed | Checked | VM | LLVM | Hybrid |
|---|---|---|---|---|---|
@Main entrypoint | Yes | Yes | Yes | Yes | Yes |
@Runtime / @Native | Yes | Yes | @Runtime only | Yes | Yes |
function declarations | Yes | Yes | Yes | Yes | Yes |
| integer, float, string, and boolean runtime values | Yes | Yes | Yes | Yes | Yes |
local let | Yes | Yes | Yes | Yes | Yes |
| member access | Yes | Yes | Yes | Yes | Yes |
| integer, float, and boolean operators in the lowered subset | Yes | Yes | Yes | Yes | Yes |
| array literals, indexing, and indexed assignment | Yes | Yes | Yes | Yes | Yes |
if / else if / for / while / break / continue / switch | Yes | Yes | Yes | Yes | Yes |
enum declarations, enum construction, and exhaustive match | Yes | Yes | Yes | Yes | Yes |
Foundation Result through import Foundation | Yes | Yes | Yes | Yes | Yes |
@Printable print dispatch through onPrint() | Yes | Yes | Yes | Yes | Yes |
conditional ?: in the lowered scalar/pointer subset | Yes | Yes | Yes | Yes | Yes |
| construct forms and builder blocks | Yes | Yes | check-oriented only | check-oriented only | check-oriented only |
@FFI.Extern declarations | Yes | Yes | No | Yes | Yes |
| callback-typed FFI calls | Yes | Yes | No | Yes | Yes |
builtin print | Yes | Yes | Yes for scalars, pointers, arrays, and named struct values | Yes for ordinary executable values, including named structs and array summaries | Yes for ordinary executable values, including named structs and array summaries |
| named struct construction | Yes | Yes | Yes | Yes | Yes |
| callable values through locals and fields | Yes | Yes | Yes | Yes | Yes |
Reading the Matrix
This table is intentionally conservative.
Yesmeans the repo has direct support and proof for that stage.partialmeans the syntax and semantic model exist, but the manual does not claim broad runnable coverage.check-oriented onlymeans the feature is part of the implemented frontend and semantic validation surface, not a claim about today's executable lowering.
For the current repo state, VM, LLVM/native, and hybrid share the same ordinary executable lowering surface for the checked-in parity and interop corpus.
Ownership Status
The current ownership implementation is intentionally specific:
borrow,borrow mut,move, andcopysyntax exists- missing-move, use-after-move, and move-twice diagnostics are checked in semantics
- VM, LLVM/native, and hybrid all carry ownership metadata
- returned borrows are rejected today instead of being accepted with incomplete lifetime checking
- non-trivial
copylowering is not implemented yet and is diagnosed instead