The bootstrap compiler for CkLang, in Rust.
  • Rust 75.8%
  • ChucK 21.9%
  • Shell 1.2%
  • Python 1.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-18 08:30:00 +02:00
.claude working on next-broken 2026-09-11 08:46:49 +02:00
.zed chore: track the owner's working files on wip_v2 2026-05-04 12:50:34 -03:00
crt FS1: freestanding spine — trampoline crt + -nostdlib link for fn main 2026-02-23 08:30:00 +01:00
docs capability: the string surface was believed, not measured 2026-09-17 15:43:54 +05:30
scripts capability: the string surface was believed, not measured 2026-09-17 15:43:54 +05:30
src/rust string: Ord was promised in the clause and never written 2026-09-17 10:31:16 -03:00
tests string: Ord was promised in the clause and never written 2026-09-17 10:31:16 -03:00
.gitignore bootstrap: the compiler becomes a pinned tool — src/cklang stops needing src/rust 2026-09-01 10:00:00 +05:30
CLAUDE.md capability: the string surface was believed, not measured 2026-09-17 15:43:54 +05:30
cpu_broken.md gates: the oracles become scripts — three legs, two compiler verbs, no wrappers 2026-09-08 14:48:43 +05:30
fix_console.md fix_console.md: item 2's blocker already has a cell, and it is one bug 2026-09-15 16:29:26 +02:00
LICENSE bootstrap: the compiler becomes a pinned tool — src/cklang stops needing src/rust 2026-09-01 10:00:00 +05:30
plan.md string: Ord was promised in the clause and never written 2026-09-17 10:31:16 -03:00
problem_actor_desugar.md working on the documentation of the problems and the test capabilities 2026-09-17 09:36:23 +02:00
problem_aggregate_layout.md working on the documentation of the problems and the test capabilities 2026-09-17 09:36:23 +02:00
problem_closures.md working on the documentation of the problems and the test capabilities 2026-09-17 09:36:23 +02:00
problem_collection_construction.md working on the documentation of the problems and the test capabilities 2026-09-17 09:36:23 +02:00
problem_composed_but_unimplemented.md string: Ord was promised in the clause and never written 2026-09-17 10:31:16 -03:00
problem_literal_claims.md working on the documentation of the problems and the test capabilities 2026-09-17 09:36:23 +02:00
problem_orphan_surface_forms.md working on the documentation of the problems and the test capabilities 2026-09-17 09:36:23 +02:00
problem_payload_layout.md working on the documentation of the problems and the test capabilities 2026-09-17 09:36:23 +02:00
problem_self_declared_syntax.md working on the documentation of the problems and the test capabilities 2026-09-17 09:36:23 +02:00
problem_size_generics.md working on the documentation of the problems and the test capabilities 2026-09-17 09:36:23 +02:00
problem_tuples.md working on the documentation of the problems and the test capabilities 2026-09-17 09:36:23 +02:00
problem_unchecked_type_positions.md working on the documentation of the problems and the test capabilities 2026-09-17 09:36:23 +02:00
problems.md string: Ord was promised in the clause and never written 2026-09-17 10:31:16 -03:00
README.md split: this repo becomes the bootstrap — the language moves out 2026-09-01 12:02:12 +07:00

CkLang-Bootstrap

The Rust v0 bootstrap compiler (ckc) for CkLang, plus its own conformance oracles.

This is a tool under maintenance, not a project under development. Its only job is to compile ckc.ck — the self-hosted compiler — into existence, and by Law 5 it is deleted the day ckc.ck compiles itself against the full oracle. Work happens here only when ckc.ck needs it.

  • src/rust/ — the compiler workspace (20 crates)
  • crt/ — the freestanding crt (ck_start.s), assembled by ck_driver
  • tests/capability/ — the capability matrix: what this compiler does today
  • tests/corpus/ — this compiler's program oracle
  • tests/{lex,parser,resolve,types,frame_pin,sizes_pin,corpus_test_run,corpus_parked}/ — crate fixtures

Read CLAUDE.md before changing anything: it carries the demand-driven maintenance rule and the pin-cutting protocol that is this repo's only output. The language design lives in the sibling repo and is not duplicated here.

Licence: source-available, all rights reserved. See LICENSE — read it, do not use it.