alicelang
Alice
Alice is a native-oriented language bootstrap focused on a friendly end-block syntax, static types, ownership inference, and a verified ownership MIR.
Current executable boundary
The Crystal compiler implements the architecture through M2:
- newline-aware lexer and recovery-oriented recursive-descent/Pratt parser;
- AST for functions, sum types, expressions, patterns, blocks, calls, and
if/match; - module-local names, basic type checking, declaration checks, and closed-variant match diagnostics;
- frozen inferred parameter modes (
BorrowReadandMovein this slice); - public
.aliinterfaces containing canonical exported signatures, ownership modes, and SHA-256 digests; - explicit ownership MIR with moves, borrows, calls, drops, cleanup-relevant local state, returns, and bounds-check representation;
- independent MIR verification of moved/dropped values and aliasing conflicts.
The stable backend boundary is documented in architecture/07-stable-mir.md. Before LLVM begins, the repository also provides deterministic local package resolution/.alb bundles, the portable C embedding ABI, actor-send ownership enforcement, and lifecycle-safe C/JNI/CPython/BEAM bridge foundations.
Run
crystal spec
crystal run src/alice.cr -- check path/to/program.alice
crystal run src/alice.cr -- mir path/to/program.alice
crystal run src/alice.cr -- resolve .
crystal run src/alice.cr -- bundle . compiler.alb
./scripts/verify_pre_llvm.sh
The compiler exits non-zero and emits labelled stable diagnostics when parsing, typing, or MIR verification fails.
Repository
alicelang
Owner
Statistic
- 0
- 0
- 0
- 0
- 0
- about 5 hours ago
- August 18, 2026
License
Links
Synced at
Tue, 18 Aug 2026 01:05:08 GMT
Languages