Zero Dokümantasyonu
Kısa ve örneklerle anlatılan Zero kaynağı. Kavramı oku, kodu gör, sonra Coddy yolculuğunda uygula.
Başlangıç
- Zero NedirZero, Vercel Labs'ın geliştirdiği deneysel bir sistem programlama dilidir. Sadece insanların değil, AI ajanlarının da birinci sınıf kullanıcı olduğu bir dil olarak tasarlanmıştır. İşte ne olduğu ve neden var olduğu.
- Zero KurulumuZero compiler ve toolchain'ini tek bir curl komutuyla kurun. Nasıl kurulacağını, PATH'e nasıl ekleneceğini ve `zero --version` ile kurulumun nasıl doğrulanacağını anlatıyoruz.
- Hello, Worldİlk Zero programınız — kanonik hello-world örneğinin her parçası ne anlama geliyor, `zero run` ile nasıl çalıştırılır ve neden beş satırlık bir program bile baştan `World`, `raises` ve `check` kullanır.
- Zero CLI`zero` komut satırı aracının kısa turu: günlük kullanacağınız subcommand'lar, her birinin ne ürettiği ve `--json` bayrağının her komutu ajanlar için makine tarafından okunabilir bir feed'e nasıl dönüştürdüğü.
- Zero PaketleriBir Zero paketinin yapısı: `zero.json` manifest'i, `src/` dizini ve tek bir kaynak ağacından executable, library ve test üretmeyi sağlayan target sistemi.
Dil temelleri
- Let BağlamalarıZero'da `let` nasıl çalışır: yerel bağlamalar bildirme, tip çıkarımı ve explicit annotation'lar ve Zero'nun neden birden çok anahtar kelime yerine tek bir bağlama formu kullandığı.
- Primitive TiplerZero'nun hazır olarak sunduğu yerleşik tipler: her genişlikteki signed ve unsigned integer'lar, float'lar, boolean'lar, karakterler, string'ler ve boş tip Void.
- FonksiyonlarZero'da fonksiyonlar nasıl çalışır: `fun` anahtar kelimesi, tipli parametreler, dönüş tipleri, `pub` visibility modifier'ı ve fonksiyon imzasında `raises`'in rolü.
- If/ElseZero'da `if` ve `else` nasıl çalışır: boolean koşullar, dal gövdeleri, truthy coercion'un yokluğu ve daha zengin dallanma için `match` ile birlikte nasıl kullanılır.
- While DöngüleriBugün Zero'da `while` döngüleri nasıl çalışıyor: koşul, döngü gövdesi, erken dilde `for` ve `do-while`'ın yokluğu ve döngülerin explicit effect'lerle ilişkisi.
Veri modelleme
- Shape (Struct'lar)Shape'ler Zero'nun struct benzeri product type'larıdır. Nasıl tanımlandıklarını, değerlerin nasıl oluşturulduğunu, alanların nasıl okunduğunu ve fonksiyonlardan nasıl geçirildiklerini resmi örneklerle anlatıyoruz.
- GenericsZero'da generic'ler nasıl çalışır: fonksiyonlar ve shape'lerde type parametreleri tanımlama, generic fonksiyon çağırma ve uzun parametrelendirmeleri temiz isimlere dönüştüren type-alias deseni.
- Enum'larZero'da `enum` nasıl çalışır: sabit bir isimlendirilmiş variant kümesini tanımlama, değerleri karşılaştırma ve `enum` (sade etiketler) ile `choice` (tagged union'lar) arasındaki sınır.
- Choice ve MatchZero'da `choice` bir tagged union'u nasıl bildirir ve `match` variant'ları üzerinde nasıl exhaustive dallanır — Zero'nun sum type ve pattern matching versiyonu.
Etkiler ve hatalar
- World CapabilityZero'nun global stdout'u, ambient filesystem'i, implicit network'ü yoktur. Dış dünyaya dokunan her şey `main`'e geçirilen bir `World` capability üzerinden akar. İşte neden ve nasıl.
- Raises ve CheckZero fonksiyonları başarısızlık modlarını `raises` ile bildirir ve çağıranlar bunları `check` ile kabul eder. Sistem nasıl çalışır, neden sessiz throw yok ve `World` capability ile nasıl etkileşir.
Ajan araçları
- JSON DiagnosticsZero'nun compiler'ı, kararlı hata kodları ve yapılandırılmış onarım planlarıyla makine tarafından okunabilir JSON diagnostic'ler üretir. Format, neden var olduğu ve bir ajanın bunları nasıl tükettiği.
- Agent-First TasarımZero tek bir soru etrafında inşa edildi: AI ajanlarının ilk günden birinci sınıf kullanıcı olduğu bir programlama dili nasıl görünür? İşte prensipler ve takaslar.