Dokumentasi Zero
Referensi Zero yang ringkas dan penuh contoh. Baca konsepnya, lihat kodenya, lalu praktikkan di perjalanan Coddy.
Memulai
- Apa Itu ZeroZero adalah bahasa pemrograman sistem eksperimental dari Vercel Labs yang dirancang agar agen AI menjadi pengguna utama, bukan hanya manusia. Inilah penjelasan tentang Zero dan alasan bahasa ini dibuat.
- Install ZeroInstall compiler dan toolchain Zero dengan satu perintah curl. Inilah cara meng-install-nya, menambahkannya ke PATH, dan memastikan instalasinya berhasil dengan `zero --version`.
- Hello, WorldProgram Zero pertamamu: arti setiap bagian dari hello world standar, cara menjalankannya dengan `zero run`, dan kenapa program lima baris pun sudah memakai `World`, `raises`, dan `check`.
- CLI ZeroTur singkat tool command line `zero`: subcommand yang kamu pakai sehari-hari, output dari masing-masing, dan cara flag `--json` mengubah setiap perintah menjadi output yang bisa dibaca mesin oleh agen.
- Package ZeroStruktur sebuah package Zero: manifest `zero.json`, folder `src/`, dan sistem target yang membuat satu package bisa menghasilkan executable, library, dan test dari kode sumber yang sama.
Dasar Bahasa
- Binding letCara kerja `let` di Zero: mendeklarasikan binding lokal, inferensi tipe dan anotasi tipe eksplisit, serta kenapa Zero hanya memakai satu bentuk binding, bukan beberapa kata kunci.
- Tipe PrimitifTipe bawaan yang langsung tersedia di Zero: integer bertanda dan tak bertanda dengan berbagai lebar, float, boolean, karakter, string, dan tipe kosong Void.
- FungsiCara kerja fungsi di Zero: kata kunci `fun`, parameter bertipe, tipe kembalian, modifier visibilitas `pub`, dan peran `raises` di signature fungsi.
- If/ElseCara kerja `if` dan `else` di Zero: kondisi boolean, isi cabang, tidak adanya konversi truthy, dan bagaimana percabangan ini dipakai bersama `match` untuk percabangan yang lebih kaya.
- While LoopCara kerja `while` loop di Zero saat ini: kondisi, isi perulangan, belum adanya `for` dan `do-while` di versi awal bahasa ini, dan hubungan perulangan dengan efek yang eksplisit.
Pemodelan Data
- Shape (Struct)Shape adalah product type ala struct di Zero. Inilah cara mendeklarasikannya, membuat nilainya, membaca field-nya, dan mengirimnya lewat fungsi, dengan contoh dari sampel resmi.
- GenericCara kerja generic di Zero: mendeklarasikan parameter tipe pada fungsi dan shape, memanggil fungsi generic, dan pola alias tipe yang mengubah parameterisasi panjang menjadi nama yang rapi.
- EnumCara kerja `enum` di Zero: mendeklarasikan sekumpulan varian bernama yang tetap, membandingkan nilai, dan batas antara `enum` (label biasa) dan `choice` (tagged union).
- Choice & MatchCara `choice` mendeklarasikan tagged union di Zero dan cara `match` membuat percabangan menyeluruh atas variannya: versi Zero untuk sum type dan pattern matching.
Effect & Error
- Capability WorldZero tidak punya stdout global, filesystem yang selalu tersedia, atau jaringan implisit. Semua yang menyentuh dunia luar mengalir lewat capability `World` yang dikirim ke `main`. Inilah alasan dan caranya.
- Raises & CheckFungsi Zero menyatakan cara mereka bisa gagal dengan `raises`, dan pemanggil mengakuinya dengan `check`. Inilah cara kerja sistemnya, kenapa tidak ada throw diam-diam, dan bagaimana sistem ini berinteraksi dengan capability `World`.
Tooling untuk Agen AI
- Diagnostik JSONCompiler Zero menghasilkan diagnostik JSON yang bisa dibaca mesin, dengan kode error yang stabil dan rencana perbaikan terstruktur. Inilah formatnya, alasan keberadaannya, dan cara agen memakainya.
- Desain untuk AgenZero dibangun di atas satu pertanyaan: seperti apa bahasa pemrograman kalau agen AI menjadi pengguna utama sejak hari pertama? Inilah prinsip-prinsipnya dan kompromi yang diambil.