2fbcdba0b1
Erste lauffähige Iteration. examples/sum.ail.json wird zu nativem Binary kompiliert und druckt 55 (Summe 1..10) als End-to-End-Test. Architektur: - ailang-core: hashbares JSON-AST + canonical-form + pretty-printer - ailang-check: monomorpher HM-Subset + Effekt-Set-Tracking - ailang-codegen: LLVM-IR-Text-Emitter (kein libllvm-link) - ail: CLI mit check/manifest/render/describe/emit-ir/build/builtins Designentscheidungen sind in docs/DESIGN.md dokumentiert; der Verlauf in docs/JOURNAL.md. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
748 B
748 B
JOURNAL
Chronologische Notizen für mich. Nicht jede Änderung; nur Entscheidungen, Hindernisse, Beobachtungen, die zukünftige Iterationen brauchen.
2026-05-07 — Tag 0
- Repo initialisiert. Auftrag in
CLAUDE.md: LLM-native Sprache, LLVM-Backend. - Designentscheidungen festgehalten in
docs/DESIGN.md. - Toolchain:
rustc 1.94,llvm-config 22.1.3,clangvorhanden. - Entschieden gegen
inkwellzugunsten LLVM-IR-Text-Emit. Begründung im DESIGN.md. - Workspace-Layout:
crates/ailang-core— AST, Type, Hash, JSON-Schemacrates/ailang-check— Typchecker (kommt später)crates/ailang-codegen— Lowering + LLVM IR Emitcrates/ail— CLI
- MVP-Ziel:
examples/sum.ail.json→ Binary, das 55 druckt.