Install

Get Tinoc

The compiler is under active development. There is nothing to install yet. This page covers the pipeline, the requirements, and the release plan.

Status: early development. The tinoc compiler is being built in public on GitHub. There are no binaries to download yet. Everything below is the plan, tracked in the repository as the project progresses.
How it works

One source, universal C99.

Tinoc does not ship its own runtime. It compiles .tnc sources to portable C99 and hands the output to the C compiler already on your platform.

  • Runs anywhere a C99 compiler is available.
  • One small tinoc.h runtime header, nothing more.
  • The generated C is readable, auditable, and debuggable.
pipeline
main.tnc
   │  tinoc build main.tnc
   ▼
main.c          ← emitted C99
   │  cc main.c -o app
   ▼
app             ← native binary
Prerequisites

What your system will need

Only the tools C developers already use.

A C99 compiler

GCC, Clang, or MSVC. Tinoc emits standards-compliant C99, so the compiler is the only system dependency.

The tinoc CLI

A single binary that parses, checks, and emits C99. Prebuilt binaries ship with the first stable release.

tinoc.h

A small runtime header shipped with the compiler. It defines str, slices, and optionals as plain C structs.

Install paths

Three ways, once it ships

All three paths are planned. Availability will be announced in the repository as releases stabilize.

Prebuilt binaries planned

Download a tinoc binary for your platform from GitHub Releases. No dependencies; add it to your PATH.

Watch releases
Build from source planned

Clone the repository, build with your C toolchain, and install. Exact commands will be documented in the build guide.

Clone the repo
Package managers later

Homebrew, Scoop, and others, once the toolchain reaches a stable 0.x release.

Follow the tracker
Quick start

Quick start

Once the CLI is available, a hello world is three commands: write, compile, run. The C output is yours to inspect and commit.

terminal
$ tinoc build main.tnc
  ✓ emitted main.c

$ cc main.c -o hello

$ ./hello
Hi, Tinoc!
Don't miss the release

Follow the release.

Star the repository, watch for releases, and join the Discord for updates on milestones.