Skip to content

Repository files navigation

Luryt logo

luryt

An engineered constructed language where form computes meaning — 20 consonants, 6 vowels, and a short list of rules from which every word is assembled, and into which any word can be decomposed again.

ka   +   piri   +   m     →   kapirim — "a group of people"
│        │          │
│        │          └─ ending: -m makes an entity ("a thing")
│        └─ root: vowels are coordinates — i = Person domain, i = Individual aspect
└─ prefix: K-family, "as a group"

Nothing is irregular. Nothing has to be memorized that could instead be computed.

Start here → the interactive guide — the whole language on one page, with a live word parser, the 6×6 root matrix, and reading practice. Browse the separate dictionary, or consult the normative foundational spec (canonical Markdown in the repo).

How the language works, in three rules

  1. Every word wears its shape. Most grammar words are two-letter particles (the numeral marker num is the sole longer fixed atom); content words end in one of six consonants. Any sentence segments itself.
  2. Vowels are coordinates. A root's first vowel names a domain of reality (person, society, life, physical, artefact, abstract); its second names an aspect (individual, config, process, state, relation, quantity). A 6×6 semantic matrix underlies the entire lexicon.
  3. One consonant, six vowels, one scale. Particle families cross one consonant with the six vowels in fixed order i y e a o u, sweeping a semantic scale — ti ty te ta to tu: long ago → timeless.

Contributing to the language

luryt is deliberately unfinished, and the grammar defines exactly where the empty slots are:

  • 5 consonants (b v z l x) are reserved for future particle families (three already earmarked: mood, subordination, discourse reference)
  • the 36 matrix cells each hold one core root — with room for many more
  • negative numbers, fractions, decimals, and ordinals and complex-clause syntax are open
  • only the K-family works as a prefix so far; more prefix families are anticipated

Proposals go through issues (there are templates), discussion happens in GitHub Discussions, and accepted changes land as PRs against the canonical sources. See CONTRIBUTING.md for the process.

Canonical language sources live together under language/: structured facts are modular JSON, and normative grammar is Markdown. A deterministic compiler validates those sources and produces the identical machine-readable bundle used by the Python package, guide, and dictionary.

Tooling

A Python package (managed with uv) ships with the language: a parser/validator, reference lookups, and a number converter.

uv sync                     # install
uv run luryt parse kapirim  # segment + analyze a word
uv run luryt ref particles  # the 15 particle families
uv run luryt num --to-cv 12345678  # -> me do ly ja
uv run luryt num --to-num "py pi"  # -> 100 (quote a multi-block run)

(uv run conlang … works too, as an alias.)

Repository layout

docs/spec.md                     generated published spec (served on Pages)
docs/index.html                  the interactive guide (GitHub Pages)
docs/dictionary/                 the data-driven dictionary page
docs/assets/css/ and js/         authored website presentation and behavior
docs/data/language.json          generated website data
language/data/                   canonical structured language facts
language/grammar/foundational.md canonical normative grammar
language/schema/                 compiled-data contract
src/conlang_tools/               Python tooling
src/conlang_tools/data/language.json   generated package snapshot
tests/                           parser tests + data/spec integrity checks
scripts/language.py              validate/generate/check canonical sources
archive/doc_v15.md              previous official specification

Licensing

  • Code (src/, tests/, scripts/): MIT
  • The language itself — spec, lexicon data, guide, archive: CC BY-SA 4.0, so the language and everything derived from it stays open.

About the name

The language has no official name yet. luryt is a self-description in the language's own grammar: lury "language, system" + -t "the identifiable one" — the language. Proposals for a real name are welcome (issue template: grammar change).

The mark follows the same logic visually: two coordinate paths locate meaning in the vowel matrix, and the filled cell identifies this particular system.

About

No description, website, or topics provided.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages