# tj/luna

luna programming language - a small, elegant VM implemented in C

Repository: https://github.com/tj/luna
Canonical: https://ross.abutalabs.com/products/luna
Language: C
License Family: other
Archived: true
Last push: 2018-01-11T15:59:00+00:00

## Health v2 (maintenance only)
Score: 10/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 0, release rhythm 35, longevity 100
- inputs: {"age_days": 5571, "days_push": 3156, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases, archived, no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2447, forks 146 (observed 2026-08-28T04:06:52.756878+00:00)

## What it is
Luna is a small, elegant programming language with a VM implemented in C, featuring static typing with inference and coroutine-based concurrency. It is an early work-in-progress that currently only lexes, parses, and builds an AST - it cannot execute code yet.

## Use cases
- study how a language VM and compiler are implemented in C
- explore programming language design and contribute to a new language
- learn about lexers, parsers, and AST construction
- experiment with statically typed scripting language syntax
- understand coroutine-based concurrency design

## When to choose
- you want to read a small (~2000 SLOC) codebase to learn VM/compiler internals
- you want to participate in designing a new language from the ground up
- you need a minimal reference implementation of a lexer, parser, and AST

## When to avoid
- you need a language that actually runs code - Luna cannot execute programs yet
- you need a production-ready or stable language for real projects
- you need a mature toolchain, libraries, or ecosystem
- you need a maintained project - development appears stalled since 2018

## Facets
- artifact type: learning-resource
- maturity: experimental
- function: programming-language, interpreter, parser, compiler
- domain: programming-languages, compilers, developer-tools
- platform: cpp, cli
- tags: virtual-machine, coroutines, statically-typed, repl, work-in-progress, linux, macos

## Member repositories
- tj/luna (main) score 10

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:52.756878+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:30:31.341594+00:00, confidence not recorded.
  - readme: https://github.com/tj/luna (fetched 2026-08-28T04:06:52.756878+00:00, sha d5685a1d5b0c)
- Data as of 2026-08-30T08:39:29.467469+00:00.
