תיעוד Zero
מדריך עיון תמציתי ל-Zero, מבוסס דוגמאות. קוראים את המושג, רואים את הקוד, ואז מתרגלים אותו במסלול של Coddy.
Getting Started
- מה זה ZeroZero היא שפת תכנות מערכות ניסיונית של Vercel Labs, שעוצבה כך שסוכני AI יהיו משתמשים מרכזיים ולא רק בני אדם. כאן תמצאו מה היא ולמה היא קיימת.
- התקנת Zeroמתקינים את הקומפיילר ואת ערכת הכלים של Zero בפקודת curl אחת. כך מתקינים, מוסיפים ל-PATH ומוודאים שההתקנה הצליחה עם `zero --version`.
- Hello, Worldתוכנית ה-Zero הראשונה שלכם: מה המשמעות של כל חלק ב-hello world הקנוני, איך מריצים אותו עם `zero run`, ולמה אפילו תוכנית של חמש שורות כבר משתמשת ב-`World`, ב-`raises` וב-`check`.
- Zero CLIסיור בכלי שורת הפקודה `zero`: פקודות המשנה שתשתמשו בהן ביום-יום, מה כל אחת מהן מפיקה, ואיך הדגל `--json` הופך כל פקודה לפלט קריא למכונה עבור סוכנים.
- חבילות Zeroאיך חבילת Zero בנויה: המניפסט `zero.json`, התיקייה `src/` ומערכת היעדים שמאפשרת לחבילה אחת להפיק קובצי הרצה, ספריות ובדיקות מאותו עץ קוד מקור.
Language Basics
- קישורי letאיך `let` עובד ב-Zero: הצהרה על קישורים מקומיים, הסקת טיפוסים והערות טיפוס מפורשות, ולמה ל-Zero יש צורת קישור אחת במקום כמה מילות מפתח.
- טיפוסים פרימיטיבייםהטיפוסים המובנים ש-Zero נותנת לכם מהקופסה: מספרים שלמים עם סימן ובלי סימן בכל רוחב, מספרים עשרוניים, בוליאנים, תווים, מחרוזות והטיפוס הריק Void.
- פונקציותאיך פונקציות עובדות ב-Zero: מילת המפתח `fun`, פרמטרים עם טיפוסים, טיפוסי החזרה, משנה הנראות `pub` והתפקיד של `raises` בחתימת הפונקציה.
- If/Elseאיך `if` ו-`else` עובדים ב-Zero: תנאים בוליאניים, גופי ענפים, היעדר כפייה ל-truthy, ואיך תנאים משתלבים לצד `match` להסתעפות עשירה יותר.
- לולאות Whileאיך לולאות `while` עובדות ב-Zero כיום: התנאי, גוף הלולאה, היעדר `for` ו-`do-while` בשפה בשלב המוקדם, ומה הקשר בין לולאות לאפקטים מפורשים.
Data Modeling
- Shape (Structs)Shapes הם טיפוסי המכפלה של Zero, בסגנון struct. כך מצהירים עליהם, בונים ערכים, קוראים שדות ומעבירים אותם דרך פונקציות, עם דוגמאות מהדוגמאות הרשמיות.
- Genericsאיך generics עובדים ב-Zero: הצהרה על פרמטרי טיפוס בפונקציות וב-shapes, קריאה לפונקציות גנריות, ודפוס כינוי הטיפוס שהופך פרמטריזציות ארוכות לשמות נקיים.
- Enumsאיך `enum` עובד ב-Zero: הצהרה על קבוצה קבועה של וריאנטים בעלי שם, השוואת ערכים, והגבול בין `enum` (תוויות פשוטות) לבין `choice` (איחודים מתויגים).
- Choice ו-Matchאיך `choice` מצהיר על איחוד מתויג ב-Zero ואיך `match` מפצל באופן ממצה לפי הוריאנטים שלו: הגרסה של Zero לטיפוסי סכום ולהתאמת תבניות.
Effects & Errors
- היכולת Worldב-Zero אין stdout גלובלי, אין מערכת קבצים סביבתית ואין רשת מרומזת. כל מה שנוגע בעולם החיצון עובר דרך יכולת `World` שמועברת ל-`main`. כאן תמצאו למה ואיך.
- Raises ו-Checkפונקציות ב-Zero מצהירות על דרכי הכישלון שלהן עם `raises`, והקוראים מכירים בהן עם `check`. כך המערכת עובדת, למה אין זריקה שקטה, ואיך היא משתלבת עם היכולת `World`.
Agent Tooling
- דיאגנוסטיקות JSONהקומפיילר של Zero מפיק דיאגנוסטיקות JSON קריאות למכונה, עם קודי שגיאה יציבים ותוכניות תיקון מובנות. כאן תמצאו את הפורמט, למה הוא קיים ואיך סוכן צורך אותו.
- עיצוב Agent-FirstZero בנויה סביב שאלה אחת: איך נראית שפת תכנות כשסוכני AI הם משתמשים מרכזיים כבר מהיום הראשון? כאן תמצאו את העקרונות ואת הפשרות.