Skip to content

Tulpar Language

Python kadar kolay, C kadar hızlı. Statically-typed scripting language with an LLVM 18 backend, batteries-included HTTP / JSON / SQLite stack, and full editor tooling out of the box.

C-class performance

AOT-compiled via LLVM. Lands in the 1.3–1.4× C range on tight loops on identical hardware — same neighbourhood as Rust and Go. HTTP server hits ~24k req/sec single-threaded, ~Node.js parity.

API-day-1 stack

import "wings", register a route, listen_async(8080) — done. Built-in /healthz, /metrics (JSON + Prometheus), OpenAPI 3.0 auto-gen, structured JSON logging, HTTP keep-alive, multi-threaded request handling.

Modern editor tooling

Bundled language server: diagnostics, hover, completion, go-to-definition, find-references, rename. Plus tulpar fmt (gofmt-style idempotent formatter) and a VS Code extension that just works.

Package manager

tulpar pkg init / add / install / list / remove, tulpar.toml manifest, tulpar.lock lockfile. Vendor local paths, fetch single-file URLs, or pull from a registry by semver.

Batteries included

Embedded SQLite + Active-Record ORM. Outbound HTTP/HTTPS client. Regex, CSV, file glob, datetime (ISO 8601 parse/format/weekday), JSON, threads, mutex, sockets — all in the runtime, no npm install.

UTF-8 + Türkçe + English

Identifiers, strings, paths — all UTF-8. Compiler error messages are bilingual (Turkish + English via tr_en localisation). Cross-platform (Linux, macOS, Windows).

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() {
return orm_all("users");
}
func create_user() {
int id = orm_create("users", _request["body"]);
return orm_find("users", id);
}
get("/users", "list_users");
post("/users", "create_user");
listen_async(8080); // multi-threaded server, /healthz + /metrics + /openapi.json for free