LLVM Tabanlı, AOT-Derlenen Programlama Dili
Üretim API’leriniframework olmadan kur
Python kadar kolay, C kadar hızlı. Statik tipli, AOT-derlenen bir dil —
HTTP, JSON, SQLite, bir ORM ve OpenAPI doğrudan runtime’a gömülü.
npm install yok, pip yok, bağımlılık yok.
import "wings";import "orm";
orm_open("app.db");define_model("users", { "name": "TEXT", "age": "INTEGER" });
func list_users(req) { return ok(orm_all("users")); }func create_user(req) { return created(orm_create("users", req.json)); }
get("/users", "list_users");post("/users", "create_user");
serve(8080); // + Swagger UI, /openapi.json, /metrics, /healthzÖnemli yerde hızlı
GET / → JSON {“hello”:“world”} throughput’u, keep-alive, native yük aracı, tek 14-vCPU kutu. Her runtime kendi önerilen tek-process yapılandırmasında.
Üstelik latency düşük kalıyor: p50 0.32 ms (Tulpar) vs 3.3 ms (FastAPI). CPU’da fib, 1.37× C (Windows / MinGW) ile ~1.9× C (Linux gcc -O2) arasında — her iki ortamda da Rust/Go sınıfı. Tüm metodoloji →
İhtiyacın olan her şey zaten kutuda
İlk günden API
import “wings”, bir route kaydet, serve(8080) — bitti. Otomatik OpenAPI 3.0 + Swagger UI, şema doğrulama (geçersiz gövde → 422), bağımlılık enjeksiyonu, yapılandırılmış log, keep-alive, ayrıca bedava gelen yerleşik /healthz ve /metrics (JSON + Prometheus).
C sınıfı performans
LLVM 18 ile bağımsız yerel binary’ye AOT-derlenir.
SQLite + ORM
Gömülü SQLite ve Active-Record ORM — bağlanacak sürücü yok.
Editör araçları
Gömülü LSP, tulpar fmt ve bir VS Code eklentisi.
Paket yöneticisi
tulpar pkg, tulpar.toml manifesti ve kilit dosyası.
UTF-8 · TR + EN
Unicode tanımlayıcılar ve iki dilli derleyici tanıları.
Doğrudan tarayıcında dene
Kurulum yok, ayar yok. Kodu düzenle ve Çalıştır’a bas — sayfa içinde çalışır.
Tek dosyada kalıcı bir CRUD servisi
Model, route’lar ve sunucu tek bir .tpr dosyasında — /healthz, /metrics, /openapi.json ve bir Swagger UI ile bedava açılır.
import "wings";import "orm";
orm_open("app.db");define_model("users", { "id": "INTEGER PRIMARY KEY AUTOINCREMENT", "name": "TEXT NOT NULL", "age": "INTEGER"});
func list_users(req) { return ok(orm_all("users")); }
func create_user(req) { int id = orm_create("users", req.json); return created(orm_find("users", id));}
get("/users", "list_users");post("/users", "create_user");body_schema({"name": "str", "age?": "int"}); // geçersiz gövde → otomatik 422
serve(8080);Rehberli halini mi istersin? Wings Öğreticisi üç tam uygulamayı adım adım kurar — REST, token auth ve SQLite destekli bir API.
Tek komutla hazır
Section titled “Tek komutla hazır”Araç zincirini kur, ilk programını derleyip çalıştır. macOS, Linux ve Windows.