contribute · a pack is how a domain grows the language · like a page on Wikipedia, by a pull request

Give your domain its words.

A pack is one JSON file: the words a product, a venue or a protocol adds to the language, with a table per word and a clause a program writes to use them. The checker and the compilers run on your submission here, in the browser; nothing leaves the page. What compiles becomes a pull request to the public pack registry; what merges is released, listed on the pages, and completed in every editor.

coord the core grammar never changes for a pack a merged word is never removed; it is deprecated

1 · the pack · id, version, by, the attestation, the sets with their tables, the clauses

The template, filled with your domain.

The id is the domain, lower-dashed, and is the file name. version is an integer that only goes up. by says in one line how the domain extends the language. Each set is a map of word to meaning with its source; a table carries the row the compiler reads for each word; a clause names the set its argument is a member of.

2 · the example · one program that uses the pack · checked and compiled here

One program that speaks the new words.

The checker types the example with your pack in the sets, exactly as it will after the merge. A refusal is shown with its line and its code; a program that checks compiles to the flow, the tour and the helpdesk graph, which is the fragment your pack adds to every product that opts in.

3 · what it adds · the words, the clauses, the helpdesk fragment

The delta, as the registers will see it.

4 · the pull request · to the public pack registry · the gates of a merge decide

The artifact, ready to submit.

The pull request carries the pack, the example, the attestation, the words and the fragment. The registry's check loads the pack through the language's own loader; a maintainer reads the words against the registers; a merged pack is carried into the layer at the next release and its page names you as its expert. The registry is private while the language is: the door below opens for its maintainers, and the body is yours to paste anywhere.

open the registry's new-file door