llux-website

Llux Philosophy

Working Philosophy (For Every User)

This is the mindset you should expect from every interaction with Llux — the compiler, the errors, the documentation, and the community.

The Covenant

Be your own help: plain names, kind errors, clear intention.

Kind Errors

Errors are not punishments. They are guidance.

error[E0003]: missing state name
  --> start.llux:13:7
   |
13 | state {
   |       ^
   |
   = help: try adding a name after `state`
   = example: state count = 0

Every error diagnoses the problem, teaches the concept, suggests a fix, and points to the location.

Plain Names & Multilingual Support

The language is designed to reduce unnecessary symbolic overhead. Keywords can map to human languages such as Greek, Arabic, Hindi, and Spanish. See the Multilingual guide.


Design Philosophy (For Language Designers & The Inquisitive)

This section covers the theoretical underpinnings and high-level architectural choices.

Research Background

The HCO7 paper originated in the research work behind Llux. It proposes seven operations for Human-Centred Systems: Establish, Place, Find, Traverse, Reconfigure, Identify, and Signal.

HCO7 is included here because it explains part of the conceptual model behind Llux. It is not required reading for using the language, and it should be treated as a research framework for future human-centred system design rather than as a language specification.

Sovereignty Compass

Every feature is evaluated against these principles:

Principle Question Implementation
Agency Does this reduce or expand developer choice? Escape hatches, expert mode
Asymmetry Does this work for Global South and North equally? Offline, 4GB RAM, no geo-blocking
Reciprocity Does this take without giving back? Open source, free, contributors credited

Abstraction Layers

Human Intent (natural language, sketches, wireframes)
    │
    ▼
Llux Design (intent parser + registry matcher)
    │
    ▼
.llux (formal UI description)
    │
    ▼
Libllux (compiler, renderer, services)
    │
    ▼
Binary (native, WASM, library)

Each layer is a distinct entry point for different personas (designers, product managers, developers).