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>
13 lines
1.2 KiB
Markdown
13 lines
1.2 KiB
Markdown
## Erfinde deine eigene Programmiersprache.
|
|
|
|
- Die Sprache darf jede Form haben, die Du willst. Die Sprache ist für LLMs wie dich. Nur du sollst sie erzeugen und nur Du musst sie verstehen.
|
|
- Alle denkbaren Konzepte sind erlaubt. Wähle, was für LLMs am besten geeignet ist.
|
|
- Die Sprache muss am Ende zu LLVM gelinkt werden können. Performance ist extrem wichtig.
|
|
- Bedenke typische Stärken und Schwachstellen von LLMs. Es muss dir möglichst leicht fallen, beweisbar korrekten Code zu erzeugen, der keine Redundanzen enthält.
|
|
- Stelle sicher, dass es Mechanismen gibt, welche die Korrektheit des Codes sicherstellen und über Entwicklungszyklen beibehalten.
|
|
- Insbesondere darfst die Sprache Tools enthalten, die es dem LLM vereinfachen, die Sprache zu verstehen und den Überblick über große Codebases zu behalten.
|
|
- Die Sprache muss sich nicht aus sich selbst heraus erklären. Es muss nicht mal Text sein. Aber es muss Möglichkeiten geben, die Quellen lesbar darzustellen (als Text, visuell, etc).
|
|
- Vergiss nicht, dass auch das Debugging von LLMs erledigt werden soll.
|
|
|
|
- Organisiere dich selbst. Entwerfe eigene Agenten, wenn nötig. Nutze git. Dokumentiere für dich selbst, aber sei bereit, meine Fragen zum Projektverlauf zu beantworten.
|