Tlang

A compiled language for Telugu, inspired by Go. Simple, explicit, and fast. Compiles to C.

Why Tlang

Go-like simplicity. Rust-like control. C output. Script-native keywords.

Tlang vs Go

Aspect Go Tlang
Memory Garbage collected No GC — borrow checker, explicit ownership
Compilation Go toolchain → native binary Compiles to C → any C compiler (gcc, clang, MSVC)
Binary size Runtime included (~2–10 MB) Small binaries — no runtime, static linking
Concurrency Goroutines, channels, select 1:1 threads, channels, spawn
Error handling (T, error), ? (T, error), ? — same pattern
Immutability Mutable by default Immutable by default@x vs @!x
Syntax English keywords Telugu keywordsokavela, malli, mallinchu

When to use Tlang

  • Small binaries — CLI, IoT, embedded
  • No GC pauses — predictable latency
  • C interop — any C library, any toolchain
  • Script-native — Telugu keywords, education
  • Go-like ergonomics — without GC

When to use Go

  • Larger ecosystem (Kubernetes, Docker)
  • Goroutines for massive concurrency
  • Team already on Go

TL;DR — Tlang = Go-like simplicity + Rust-like memory control + C output + Telugu keywords.

Install

One command per platform. Requires Rust, a C compiler (or bundled GCC on Windows), and OpenSSL. Full guide

curl -fsSL https://raw.githubusercontent.com/vasuvanka/tlang/main/install.sh | bash

Quick Start

@fmt = #dhimpu("std/fmt");

#prarambham() {
    fmt.Printf("Hello, Tlang!\n");
}

Save as hello.tl, then: tlang run hello.tl or tlang compile hello.tl hello && ./hello

Getting Started · Tutorial · Playground

CLI

All commands go through tlang. Run tlang help for full usage.

Build & Run

  • tlang run [file.tl] [args] — Compile and run (auto-detects entry file)
  • tlang compile <file.tl> [output] — Compile to executable
  • tlang build [dir] — Build project
  • tlang test <file.tl> — Run tests

Porting & Deps

  • tlang port <url/file> [dest] — Convert Go/Rust to Tlang
  • tlang get <url> [dir] — Fetch package from Git/URL
  • tlang add <pkg>@<ver> [dir] — Add dependency
  • tlang remove <pkg> · tlang upgrade .

Project

  • tlang init [app_name] [dir] — New project
  • tlang clean [dir] — Build artifacts
  • tlang version · tlang help

Full CLI Reference →