piemers.lat LATNE
eksportē asinhroni darbība ielādēLietotājus() {
  nemainīgs dati =
    gaidi lasiDatus("lietotaji.json")

  kam (nemainīgs ieraksts ar dati) {
    ja (ieraksts.vārds == nekas) {
      turpini
    }
  }

  atgriez dati
}
✓ Tokenizer ✓ Parser ✓ AST ○ Execution planned

Program in Latvian.

LatNe is an independent programming language and emerging development environment built for Latvian, where the language is not decoration — it is part of the programming experience.

Project progress

12% of the current roadmap

15 / 130 defined tasks
Phase 0A — reproducible environment and quality gates Based on ROADMAP.md

The percentage shows completed work from the currently defined roadmap. As the project scope becomes more precise, the total number of tasks may grow.

Available now

LatNe is already more than an idea.

These project layers already exist in the repository and are used in LatNe development.

01 WORKING

Terminology

A canonical language terminology registry with a human-guided approval process.

84 / 84 terms approved
View registry →
02 WORKING

Tokenizer

`.lat` source code is split into structured tokens with Unicode identifier and canonical term identity support.

196 tokens in the first sample
View tokenizer →
03 WORKING

Parser

Imports, declarations, control flow, error handling and function-body constructs already produce structured AST.

5 top-level AST nodes
View parser →
04 WORKING

Expression AST

LatNe understands identifiers, literals, calls, properties, the `gaidi` and `jauns` constructs, arrays and the first operator-precedence rules.

AST no longer just token text
View expression parser →
05 WORKING

Vārdu kalve

A terminology workspace for reviewing, validating, editing and approving language terms.

1 canonical source of truth
View Vārdu kalve →
06 LIVE

Documented development

Status, decisions, technical journal, project history and discoveries live alongside the code.

ADR decisions preserve the “why”
Read documentation →
Two LatNe paths

LatNe for learning and building.

LatNe is being built both for people learning programming and for developers interested in language architecture and tooling.

01 PLANNED
Learn with LatNe

Programming concepts in Latvian.

Once the language core and CLI minimum are ready, the first learning path, student exercises, teacher materials and a simple playground will follow.

The Education MVP starts only after LatNe can actually be run.
02 OPEN
Build with LatNe

The language core is built in public.

Parsers, AST, Unicode, terminology, diagnostics, code generation and developer tooling are being built as an open technical project.

View architecture →
Open project

You can help build LatNe.

You do not need to wait until the language is finished. Code, testing, documentation, terminology discussions, examples and well-framed ideas are all useful.

Proposals that keep LatNe natural in Latvian and technically consistent are especially valuable.

Path to first execution

From a `.lat` file to a running program.

Working stages are shown as active. The amber stage marks the current engineering work, while the grey stages are still ahead.

01 .lat source code
→
02 Tokens tokenizer
→
03 AST foundation parsers working
→
04 Quality NEXT
→
05 AST v1 stable contract
→
06 Codegen JavaScript
→
07 CLI latne palaist
Execution order

What comes next.

Grey stages are publicly planned, but they are not presented as finished LatNe features. A stage becomes active only when it actually works.

N1 NEXT

Qualitys sliedes

Node.js runtime contract, clean install, GitHub Actions CI and the first regression fixture suite.

Phase 0A
N2 AFTER THAT

Class body AST

Fields, access modifiers, constructor, parameters and getter structure.

Next language boundary
N3 PLANNED

AST v1

A stable contract for nodes, source spans and the parser/codegen boundary before substantial code generation.

ADR 0007
N4 PLANNED

LatNe API minimum

The first semantic API layer, where operations are bound to types and meaning instead of being renamed as text.

Phase 1A
N5 MILESTONE

First `.lat` execution

Semantic transforms, JavaScript code generation and the first program to pass through the complete LatNe processing pipeline.

Phase 1B
N6 LATER

Broader development environment

Diagnostics, source maps, editor tooling, learning experience and only then a broader LatNe web layer.

Phases 2–5
Emerging API layer

Latvian-first goes beyond keywords.

The first sample already exposed the next boundary: JavaScript standard API names. LatNe does not aim to rename them mechanically.

The goal is a semantic API layer where a LatNe name is bound to a specific type or operation.

PLANNED
Current sample
lietotāji.push(lietotājs)

ja (lietotāji.length == 0) {
  atgriez []
}
LatNe direction
lietotāji.pievieno(lietotājs)

ja (lietotāji.garums == 0) {
  atgriez []
}
Principles

More than translated code.

LatNe is designed as an independent system with its own terminology, architecture and development history.

01

Latvian-first

Latvian is the starting point of the programming experience, not an addition to the documentation.

02

Independent system

External tools may be technical building blocks, but they do not define LatNe's identity or public architecture.

03

Documented evolution

Decisions, mistakes and discoveries are preserved so that both the result and the path to it remain visible.

Roadmap

Progress by phase.

The numbers are generated directly from `ROADMAP.md`. The percentage measures progress through the currently defined plan, not absolute product readiness.

Phase 0 Identity and project foundation
70% 7/10
Phase 0A Reproducible environment and quality gates
0% 0/10
Phase 1 Language core through AST v1
36% 8/22
Phase 1A Built-in LatNe API minimum
0% 0/17
Phase 1B First executable LatNe
0% 0/23
Phase 2 Diagnostics and developer experience
0% 0/17
Phase 3 Documentation and learning path
0% 0/11
Phase 4 Education MVP
0% 0/10
Phase 5 Web and broader development environment
0% 0/10
LatNe grows in public

Follow along while LatNe is being built.

Follow development, take part in discussions, star the project on GitHub or support the work financially.

If LatNe interests you, a GitHub star is a simple way to follow the project and help it become more visible.