LLVM Tabanlı, AOT-Derlenen Programlama Dili
Her şeyi kurgereksiz kod olmadan
Python kadar kolay, C kadar hızlı. Statik tipli, AOT-derlenen bir dil —
HTTP, JSON, SQLite, bir ORM, OpenAPI ve C FFI doğrudan runtime’a gömülü.
npm install yok, pip yok, bağımlılık yok.
içe_aktar "wings";
içe_aktar "orm";
orm_open("app.db");
define_model("users", {
"name": "TEXT", "age": "INTEGER"
});
fonk kullanicilari_listele(req) {
döndür ok(orm_all("users"));
}
get("/users", "kullanicilari_listele");
serve(8080); // + Swagger UI, /openapi.json // Tüm .tpr dosyalarındaki satırları say
değişken toplam = 0;
değişken dosyalar = list_dir(".");
için (str d içinde dosyalar) {
eğer (endsWith(d, ".tpr")) {
str icerik = read_file(d);
değişken satirlar = split(icerik, "\n");
tamsayi n = length(satirlar);
print(d + ": " + toString(n));
toplam = toplam + n;
}
}
print("Toplam: " + toString(toplam)); // Bir veri setinden istatistik hesapla
fonk ortalama(array veri) {
ondalik toplam = 0.0;
için (değişken x içinde veri) {
toplam = toplam + toFloat(x);
}
döndür toplam / toFloat(length(veri));
}
değişken notlar = [85, 92, 78, 96, 88, 73, 91];
ondalik ort = ortalama(notlar);
print("Ortalama: " + toString(ort));
print("En yüksek: " + toString(max(notlar)));
print("En düşük: " + toString(min(notlar))); Ö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 →
Hepsi bir arada vs. parça parça kurulum
Başka yerde dört paket gerektiren şey, Tulpar’da tek binary ile gelir.
| TulparLang | Go | Python (FastAPI) | Node.js | |
|---|---|---|---|---|
| HTTP Sunucusu | ✅ Gömülü | ✅ Gömülü | ❌ pip install | ⚠️ Minimal |
| ORM / Veritabanı | ✅ Gömülü | ❌ go get gorm | ❌ pip install | ❌ npm install |
| OpenAPI / Swagger | ✅ Otomatik | ❌ Harici araç | ⚠️ Eklenti | ❌ npm install |
| Dağıtım | Tek binary | Tek binary | Container gerekli | Container gerekli |
| Bellek Modeli | ARC | GC (stop-the-world) | GC + refcount | GC (V8) |
| Throughput | ~36k istek/sn | ~30k istek/sn | ~3.5k istek/sn | ~8.7k istek/sn |
| C Interop (FFI) | ✅ Native | ✅ cgo | ⚠️ ctypes / cffi | ⚠️ node-ffi |
İhtiyacın olan her şey zaten kutuda
İngilizce ve Türkçe — aynı derleyici, aynı binary
Her anahtar kelimenin Türkçe karşılığı var. Serbestçe karıştır veya tamamen tek dilde yaz. Derleyici tanıları yerel ayarını takip eder.
import "wings";
func greet(req) {
var name = req.json["name"];
if (name == "") { return bad_request("Name required"); }
return ok("Hello, " + name + "!");
}
post("/greet", "greet");
serve(8080);içe_aktar "wings";
fonk selamla(req) {
değişken isim = req.json["name"];
eğer (isim == "") { döndür bad_request("İsim gerekli"); }
döndür ok("Merhaba, " + isim + "!");
}
post("/selamla", "selamla");
serve(8080);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.