Jalur kompilasi saat ini

Dari file YAZA ke program native.

Compiler, runtime, dan API punya batas yang berbeda. Diagram ini menggambarkan implementasi yang ada sekarang, bukan rancangan target masa depan.

Compiler dan program native

File sumber .yz diperiksa compiler YAZA, diterjemahkan ke C, lalu compiler C sistem membentuk executable. YAZA bukan bytecode VM atau interpreter pada alur native saat ini.

.yzSource YAZAFungsi, tipe, kontrol alur, modul, dan metadata APIINPUT
YZCompiler dan CLI self-hostedMemeriksa subset bahasa saat ini dan menghasilkan CYAZA SOURCE
CCompiler C sistemBuild native memakai Clang pada alur macOS yang didukungC BACKEND
NExecutable nativeRuntime native disertakan ketika dibutuhkan programmacOS arm64 PREVIEW

Bootstrap mulai dari compiler seed, membangun compiler berikutnya, lalu membandingkan keluaran C pada tahapan akhir. Source compiler utama ditulis dalam YAZA; keberhasilan bootstrap terbukti untuk target macOS Apple Silicon pada snapshot saat ini.

Jalur request API

Starter API memisahkan route, controller, service, dan repository. Runtime native menangani HTTP dan serialisasi; fungsi aplikasi serta PostgreSQL client tertentu ditulis dalam YAZA.

HTTPHTTP/1 requestParser berbatas, routing, validasi input, dan kebijakan routeNATIVE RUNTIME
APPController → service → repositoryRantai contoh Product CRUD menjalankan fungsi YAZAYAZA FUNCTIONS
DBPostgreSQL atau memoriPostgreSQL protocol client berbahasa YAZA; adapter memori masih menggunakan native runtimeLIMITED PROFILE
JSONValidasi hasil dan responseRespons, status, OpenAPI, dan Postman dari metadata APIHTTP/1

Batas arsitektur yang penting

  • Event-loop mengelola readiness socket, framing, dan response. Handler API berjalan pada bounded worker pool, tetapi fungsi handler dan operasi database masih sinkron di tiap worker.
  • Backend kqueue macOS telah diuji. Backend Linux epoll belum memiliki rilis/compiler end-to-end yang diverifikasi.
  • API mempunyai batas ukuran input, buffer, timeout, dan koneksi; batas ini tidak menggantikan ownership checking atau isolasi OS.
  • Compiler belum memiliki backend WebAssembly, WASI, browser, mobile, atau Cloudflare Workers.

Untuk daftar route, contoh request, dan status pekerjaan API, lihat panduan API YAZA.