Dokumentacja Zero
Zwięzła dokumentacja Zero oparta na przykładach. Przeczytaj o zagadnieniu, zobacz kod i przećwicz go na ścieżce Coddy.
Getting Started
- Czym jest ZeroZero to eksperymentalny język programowania systemowego od Vercel Labs, zaprojektowany tak, by agenci AI byli pełnoprawnymi użytkownikami, a nie tylko ludzie. Oto czym jest i po co powstał.
- Instalacja ZeroZainstaluj kompilator i narzędzia Zero jednym poleceniem curl. Zobacz, jak go zainstalować, dodać do PATH i sprawdzić instalację poleceniem `zero --version`.
- Hello, WorldTwój pierwszy program w Zero: co oznacza każdy element kanonicznego hello world, jak go uruchomić przez `zero run` i dlaczego nawet pięciolinijkowy program używa już `World`, `raises` i `check`.
- CLI ZeroPrzegląd narzędzia wiersza poleceń `zero`: podpolecenia, których używa się na co dzień, co każde z nich zwraca i jak flaga `--json` zamienia każde polecenie w czytelne maszynowo dane dla agentów.
- Pakiety ZeroJak zbudowany jest pakiet Zero: manifest `zero.json`, katalog `src/` i system celów, dzięki któremu jeden pakiet tworzy pliki wykonywalne, biblioteki i testy z tego samego drzewa źródeł.
Language Basics
- Wiązania letJak działa `let` w Zero: deklarowanie lokalnych wiązań, wnioskowanie typów i jawne adnotacje oraz dlaczego Zero używa jednej formy wiązania zamiast kilku słów kluczowych.
- Typy prosteWbudowane typy, które Zero daje od razu: liczby całkowite ze znakiem i bez znaku w każdej szerokości, liczby zmiennoprzecinkowe, wartości logiczne, znaki, teksty i pusty typ Void.
- FunkcjeJak działają funkcje w Zero: słowo kluczowe `fun`, parametry z typami, typy zwracane, modyfikator widoczności `pub` i rola `raises` w sygnaturze funkcji.
- If/elseJak działają `if` i `else` w Zero: warunki logiczne, ciała gałęzi, brak niejawnego rzutowania na wartość logiczną i to, jak instrukcje warunkowe uzupełniają `match` przy bogatszych rozgałęzieniach.
- Pętle whileJak działają dziś pętle `while` w Zero: warunek, ciało pętli, brak `for` i `do-while` we wczesnej wersji języka oraz związek pętli z jawnymi efektami.
Data Modeling
- Shape (struktury)Shape to typy produktowe Zero podobne do struktur. Zobacz, jak je deklarować, tworzyć wartości, czytać pola i przekazywać je przez funkcje, na przykładach z oficjalnych próbek.
- GenerykiJak działają generyki w Zero: deklarowanie parametrów typu w funkcjach i shape, wywoływanie funkcji generycznych oraz wzorzec aliasu typu, który zamienia długie parametryzacje w krótkie nazwy.
- EnumJak działa `enum` w Zero: deklarowanie stałego zbioru nazwanych wariantów, porównywanie wartości i granica między `enum` (zwykłe etykiety) a `choice` (unie z etykietami).
- Choice i matchJak `choice` deklaruje w Zero unię z etykietami i jak `match` wyczerpująco rozgałęzia się po jej wariantach: wersja typów sumowych i dopasowania wzorców w Zero.
Effects & Errors
- Capability WorldZero nie ma globalnego stdout, wszechobecnego systemu plików ani niejawnej sieci. Wszystko, co dotyka świata zewnętrznego, przechodzi przez capability `World` przekazywaną do `main`. Oto dlaczego i jak to działa.
- Raises i CheckFunkcje w Zero deklarują możliwe błędy przez `raises`, a kod wywołujący potwierdza je przez `check`. Zobacz, jak działa ten system, dlaczego nie ma cichego rzucania wyjątków i jak współpracuje z capability `World`.
Agent Tooling
- Diagnostyka JSONKompilator Zero zwraca czytelną maszynowo diagnostykę w JSON ze stabilnymi kodami błędów i ustrukturyzowanymi planami naprawy. Oto format, powód jego istnienia i sposób, w jaki korzysta z niego agent.
- Agent-first designZero zbudowano wokół jednego pytania: jak wygląda język programowania, w którym agenci AI są pełnoprawnymi użytkownikami od pierwszego dnia? Oto zasady i kompromisy.