Jik

A readable, statically typed language that compiles to C and manages memory with regions.

Region-based memory

Control lifetimes without managing every allocation

Functions can place returned data directly in a caller-selected region. Temporary strings and collections are freed together when the function returns, and compiler checks prevent references from outliving their data.

  • Caller-controlled result lifetimes
  • Bulk reclamation without garbage collection
  • Compiler-checked references between regions

What Jik Is Built For

Simple and Readable Code

Jik is statically typed, but keeps common programs concise with type inference, optional annotations, and straightforward syntax.

Practical Language Features

Vectors, dictionaries, options, variants, error handling, a standard library, and a growing package ecosystem support real programs.

Region-Based Memory

Composite values are allocated into regions that determine their lifetime, while compiler checks prevent references across regions with incompatible lifetimes.

Predictable C Output

Jik uses a source-to-C compilation model, producing predictable generated C that can be inspected, debugged, and built with existing toolchains.

Documentation

  • Language overview Tour of syntax, types, modules, memory management, error handling, and other things.
  • Memory management Region allocation, local regions, explicit allocation targets, and returning composite values.
  • Standard library The Jik standard library reference.
  • Official packages Packages for Jik, including setup instructions and import examples.
  • Examples Browse complete Jik programs with syntax highlighting.

News

Published

Jik v0.1.0-beta.1 is out

This release adds jik new, jik test, program arguments for jik run, and a few memory fixes.

Status

Jik has entered beta with v0.1.0-beta.0. Development focuses on stability, new language features, and standard library growth. With development now happening in Jik and the C seed compiler frozen, adding new features is much easier. Bugs and changes are still expected during beta.

Jik is now self-hosted: its compiler is written in Jik and can build itself. Read about the first beta and self-hosting milestone.

Join the Jik community

Ask questions, share projects, and discuss the language with other Jik users.

Join the Discord server