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>
18 lines
748 B
Markdown
18 lines
748 B
Markdown
# 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`, `clang` vorhanden.
|
|
- Entschieden gegen `inkwell` zugunsten LLVM-IR-Text-Emit. Begründung im DESIGN.md.
|
|
- Workspace-Layout:
|
|
- `crates/ailang-core` — AST, Type, Hash, JSON-Schema
|
|
- `crates/ailang-check` — Typchecker (kommt später)
|
|
- `crates/ailang-codegen` — Lowering + LLVM IR Emit
|
|
- `crates/ail` — CLI
|
|
- MVP-Ziel: `examples/sum.ail.json` → Binary, das 55 druckt.
|