Documentation

Everything the compiler already knows.

40 documents, hosted here and generated from the same Markdown that ships in the repository — so they move when the compiler moves.

Syntax at a glance

Syntax v2 is the default for .luke and .lk files. The conversational v1 surface stays available behind --syntax=1 during the deprecation window, and luke MIGRATE rewrites v1 source into v2.

FormMeaning
print(x)Write a value to standard output
let n = 1Immutable binding; var for one you reassign
let n: float = 1Typed binding — int, float, str, bool, list, map, json
fn f(a: float) -> float { … }Function with a declared return type
struct Dog : Animal { … }Blueprint with inheritance; init is the constructor
import std/serverStandard library, sibling file, or luke/<package>
signal count = 0A reactive cell
derived total = a * bA cell computed from other cells
effect on total { … }Runs whenever the named cell changes
batch { … }Several writes, one flush
watch user from db where "id = 1"Server cell backed by a database row
push watch user on reqStream that cell to a client over the wire
bind("name", user)Paint a cell into the DOM
raw "…"Pass a line through to the v1 surface untouched

Start here

  • Getting started

    LukeLang is Build-first: technical syntax → native or WebAssembly via vm/.

  • Build mode

    Play (luke SHOW) is a convenience: GC’d bytecode VM for demos and exploration. Build (luke BUILD) is the language of record: syntax v2 → native code, no GC, Rust-class li

  • Syntax v2 specification

    Status: normative for core / reactive / backend. Layout-UI section is provisional. Plan: SYNTAX_V2_PLAN.md · Golden corpus: examples/v2/ Decisions: all nine open items in

  • Strategy

    Status: v2 — decision record (syntax amended) Purpose: Lock down what LukeLang is, what it wins first, and the order we build it in. When a roadmap or PR conflicts with t

The language

  • Language reference

    The syntax v2 surface, which is what .lk and .luke files use. Every form here is drawn from SYNTAX_V2_SPEC.md, which is machine-checked against code generation — if the t

  • Standard library

    This document outlines the standard library provided by LukeLang, including functions for input/output, file system operations, and other utilities.

  • Integer semantics

    Nail these rules before money / IDs / counters rely on them.

  • AST

    Status: production pipeline — every luke BUILD / IR / FMT / LSP path goes through parseLuke Files: vm/include/luke_ast.hpp, vm/src/luke_expr.cpp, vm/src/luke_parse.cpp

  • Syntax v2 plan

    Status: Phases 0–5 flip complete (.luke is v2; --syntax=1 deprecation window). Phrase-prefix deletion in build_c.cpp is the post-window cleanup. No codegen AST rewrite ye

  • Advanced topics

    Prefer BUILD_MODE.md for the language of record. This page is a short pointer — older JS-transpile guidance was removed with the legacy emitters (LEGACY.md).

Reactive engine

  • Reactive

    Status: Phases 1–8 shipped; Phases 9–11 production roadmap (correctness, scheduler, granularity) Normative spec: REACTIVE_SPEC.md · Roadmap: REACTIVE_ROADMAP.md Identity:

  • Reactive specification

    Status: Normative draft (Phase 9–10 — correctness + Scheduler 2.0) Implementation: vm/runtime/luke_reactive.h Architecture overview: REACTIVE.md Roadmap: REACTIVE_ROADMAP

  • Reactive roadmap

    Phases 1–8 shipped (feature foundation). This roadmap covers production-grade + signature-grade work. Priority: Correctness → Scheduler → Granularity → Memory → DevTools

Live Graph

  • Live Graph

    Status: true differential IVM — point rows, N-table equi-JOIN chains, multi-row join bags, inequality/LIKE bag filters — + scrub UI + causal resume + wire fail-closed The

  • Deploy

    Luke’s httpServe / SERVE ROUTES binary speaks plain HTTP on a local port. Production TLS and static assets belong in front — the Go/nginx pattern:

Backend

  • Backend roadmap

    Wedge: reactive full-stack web — see STRATEGY.md. Track: Backend (this document) — unlocks full-stack reactivity (likely the true signature). Prior track: Frontend (FRONT

  • Auth

    Status: secure-path beachhead + auth-as-types + FLOW / LIMIT / REVEAL / rewind-audit spikes Track: BACKEND_ROADMAP.md · TaskList.md

  • Network & database

    Status: shipped. Slipstream is the default. Blocking libpq TLS pool remains the escape hatch (LUKE_PG_ASYNC=0). Official numbers vs Go: BACKEND_BENCHMARKS.md — equal-budg

  • Backend benchmarks

    Scope: HTTP serving and database-backed API throughput, LukeLang vs Go. Posture: these numbers are honest, reproducible, and caveated. Read §2 Environment and §8 Limitati

  • Publishing a backend

    LukeLang's first market surface is backend language + reactive full-stack substrate, not generic scripting.

Frontend

  • Frontend roadmap

    Wedge: reactive full-stack web — see STRATEGY.md (the decision record this roadmap serves). Current track: Frontend (this document) + Backend beachhead opening Next track

  • Argus

    Status: v0.5 — widgets + modal focus + live regions + class/scroll/grid Name: Argus Backend: DOM presentment (not Skia) Layout: Hanka Frontend track: FRONTEND_ROADMAP.md

  • Hanka

    Status: v1.4 — flex/grid + per-axis ALIGN + STACK/WRAP BELOW + SCROLL + WEAR Name: Hanka Role: Own layout numbers → feed Argus frames / CSS flex/grid Not: browser flex/gr

  • Layout engine

    The LukeLang layout engine is named Hanka.

  • Rendering engine

    The LukeLang rendering engine is named Argus.

  • Production web

    Status: v1 in progress (shippable static apps) Goal: Ship real browser apps as Luke-owned UI + Build AOT, not a thin skin over React. Frontend track: FRONTEND_ROADMAP.md

Tooling & compiler

  • Editor tooling

    LukeLang runtime already provides protocol servers:

  • Contributor guide

    Thanks for contributing. The canonical codebase is vm/.

  • Benchmarks

    Status: Phase 2 baseline (Track 12) — method-aware Re-run locally; quote median / min, not a single sample.

  • Scorecard

    External “A+ language” grades are evidence, not a new product vision. Updated after true Execution A+ (no recompute fallbacks for supported shapes; multi-row JOIN cards).

  • Legacy

    Canonical implementation: vm/ (luke BUILD / luke SHOW)

Papers