İçeriğe geç

LLVM Tabanlı, AOT-Derlenen Programlama Dili

AOT · LLVM 18 · piller dahil

Ü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.

~36kistek/sn · Tulpar pool
~1.9× Cfib · yerel AOT
0dış bağımlılık
api.tprçalışıyor
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
Benchmark

Ö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.

Tulparpool · 14c
~36k istek/sn
Go net/http14c
~30k istek/sn
Node.js http1c
~8.7k istek/sn
FastAPIuvicorn · 1w
~3.5k istek/sn

Ü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 →

Özellikler

İ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ı.

Canlı playground

Doğrudan tarayıcında dene

Kurulum yok, ayar yok. Kodu düzenle ve Çalıştır’a bas — sayfa içinde çalışır.

merhaba.tpr — özyineleme + ternary operatörü
Sıfırdan bir REST API’ye

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.

Araç zincirini kur, ilk programını derleyip çalıştır. macOS, Linux ve Windows.