Zero-Dokumentation
Kompakte, beispielorientierte Zero-Referenz. Konzept lesen, Code ansehen, dann in einem Coddy-Lernweg üben.
Erste Schritte
- Was ist ZeroZero ist eine experimentelle Systems-Programmiersprache von Vercel Labs, die so entworfen ist, dass KI-Agenten erstklassige Nutzer sind – nicht nur Menschen. Was Zero ist und warum es existiert.
- Zero installierenInstalliere den Zero-Compiler und die Toolchain mit einem einzigen curl-Befehl. So installierst du Zero, hängst es an deinen PATH und prüfst die Installation mit `zero --version`.
- Hello, WorldDein erstes Zero-Programm – was jedes Stück des klassischen Hello-World bedeutet, wie du es mit `zero run` ausführst und warum schon ein Fünfzeiler `World`, `raises` und `check` benutzt.
- Zero CLIEine Tour durch das `zero`-Kommandozeilen-Tool: die Subkommandos, die du täglich brauchst, was jedes ausgibt und wie der `--json`-Flag jedes Kommando in einen maschinenlesbaren Feed für Agenten verwandelt.
- Zero-PaketeWie ein Zero-Paket aufgebaut ist: das `zero.json`-Manifest, das `src/`-Verzeichnis und das Targets-System, mit dem ein Paket aus demselben Quellbaum Executables, Bibliotheken und Tests erzeugen kann.
Sprachgrundlagen
- Let-BindingsWie `let` in Zero funktioniert: lokale Bindings deklarieren, Typinferenz und explizite Annotationen, und warum Zero mit einer einzigen Binding-Form statt vieler Schlüsselwörter auskommt.
- Primitive TypenDie eingebauten Typen, die Zero dir von Haus aus mitgibt: vorzeichenbehaftete und vorzeichenlose Integer aller Breiten, Floats, Booleans, Zeichen, Strings und der leere Typ Void.
- FunktionenWie Funktionen in Zero funktionieren: das `fun`-Schlüsselwort, typisierte Parameter, Rückgabetypen, der `pub`-Sichtbarkeitsmodifikator und die Rolle von `raises` in der Funktionssignatur.
- If/ElseWie `if` und `else` in Zero funktionieren: boolesche Bedingungen, Branch-Bodies, das Fehlen impliziter Wahrheitswerte und wie sich Konditionale neben `match` für reichhaltigere Verzweigung einfügen.
- While-SchleifenWie `while`-Schleifen in Zero heute funktionieren: die Bedingung, der Schleifen-Body, das Fehlen von `for` und `do-while` in der frühen Sprache und was Schleifen mit expliziten Effekten zu tun haben.
Datenmodellierung
- Shape (Structs)Shapes sind Zeros struct-artige Produkttypen. So deklarierst du sie, baust Werte, liest Felder und reichst sie durch Funktionen – mit Beispielen aus den offiziellen Samples.
- GenericsWie Generics in Zero funktionieren: Typparameter an Funktionen und Shapes deklarieren, generische Funktionen aufrufen und das Typ-Alias-Muster, das aus langen Parametrisierungen saubere Namen macht.
- EnumsWie `enum` in Zero funktioniert: eine feste Menge benannter Varianten deklarieren, Werte vergleichen und die Grenze zwischen `enum` (reine Tags) und `choice` (Tagged Unions).
- Choice & MatchWie `choice` in Zero eine Tagged Union deklariert und wie `match` erschöpfend über ihre Varianten verzweigt – Zeros Version von Summentypen und Pattern Matching.
Effekte und Fehler
- World-CapabilityZero hat kein globales stdout, keinen ambient verfügbaren Dateisystemzugriff, kein implizites Netzwerk. Alles, was die Außenwelt berührt, läuft über eine `World`-Capability, die an `main` übergeben wird. Hier ist das Warum und Wie.
- Raises & CheckZero-Funktionen deklarieren ihre Fehlerarten mit `raises` und Aufrufer bestätigen sie mit `check`. So funktioniert das System, warum es kein stilles Werfen gibt und wie es mit der `World`-Capability zusammenspielt.
Agent-Tooling
- JSON-DiagnostikZeros Compiler gibt maschinenlesbare JSON-Diagnostik mit stabilen Fehlercodes und strukturierten Repair-Plänen aus. Hier das Format, warum es existiert und wie ein Agent es konsumiert.
- Agent-First-DesignZero ist um eine einzige Frage herum gebaut: Wie sieht eine Programmiersprache aus, wenn KI-Agenten von Tag eins an erstklassige Nutzer sind? Hier sind die Prinzipien und die Trade-offs.