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
}
✓ Leksiskais analizators ✓ Sintaktiskais analizators ✓ AST ○ Izpilde top

Programmē latviski.

LatNe ir neatkarīga latviska programmēšanas valoda un topošā izstrādes vide, kur latviešu valoda nav dekorācija — tā ir programmēšanas pieredzes pamats.

Projekta attīstība

12% no pašreizējās ceļa kartes

15 / 130 definēti uzdevumi
Fāze 0A — reproducējama vide un kvalitātes sliedes Balstīts uz ROADMAP.md

Procents rāda pabeigto daļu no šobrīd definētajiem ceļa kartes uzdevumiem. Paplašinot projekta robežas, kopējais uzdevumu skaits var pieaugt.

Pieejams šobrīd

LatNe jau nav tikai ideja.

Šie projekta slāņi jau eksistē repozitorijā un ir izmantojami LatNe izstrādes procesā.

01 DARBOJAS

Terminoloģija

Kanonisks valodas terminu reģistrs ar cilvēka vadītu apstiprināšanas procesu.

84 / 84 termini apstiprināti
Skatīt reģistru →
02 DARBOJAS

Leksiskais analizators

`.lat` avots tiek sadalīts strukturētos tokenos ar Unicode identifikatoru un kanoniskās termina identitātes atbalstu.

196 leksiskie elementi pirmajā paraugā
Skatīt leksisko analizatoru →
03 DARBOJAS

Sintaktiskais analizators

Importi, deklarācijas, vadības plūsma, kļūdu apstrāde un darbības ķermeņa konstrukcijas jau iegūst strukturētu AST.

5 augšējā līmeņa AST mezgli
Skatīt sintaktisko analizatoru →
04 DARBOJAS

Izteiksmju AST

LatNe saprot identifikatorus, literāļus, izsaukumus, īpašības, `gaidi`, `jauns`, masīvus un pirmās operatoru prioritātes.

AST vairs nav tikai leksisko elementu virkne
Skatīt izteiksmju sintaktisko analizatoru →
05 DARBOJAS

Vārdu kalve

Terminoloģijas darba vide valodas vārdu pārlūkošanai, validēšanai, rediģēšanai un apstiprināšanai.

1 kanonisks patiesības avots
Skatīt Vārdu kalvi →
06 DZĪVS

Dokumentēta attīstība

Statuss, lēmumi, tehniskais žurnāls, hronika un atklājumi dzīvo kopā ar kodu.

ADR lēmumiem ir saglabāts “kāpēc”
Lasīt dokumentāciju →
Divi LatNe virzieni

LatNe mācībām un izstrādei.

LatNe tiek veidota gan cilvēkiem, kuri programmēšanu vēl tikai apgūst, gan izstrādātājiem, kurus interesē pati valodas arhitektūra un tās rīki.

01 PLĀNOTS
Mācies ar LatNe

Programmēšanas jēdzieni dzimtajā valodā.

Pēc valodas kodola un CLI minimuma taps pirmais mācību ceļš, skolēnu uzdevumi, skolotāja materiāli un vienkāršs playground.

Education MVP sāksies tikai tad, kad LatNe būs reāli palaižama.
02 ATVĒRTS
Būvē ar LatNe

Valodas kodols top publiski.

Sintaktiskie analizatori, AST, Unicode, terminoloģija, diagnostika, koda ģenerēšana un izstrādes rīki tiek veidoti kā atvērts tehnisks projekts.

Skatīt arhitektūru →
Atvērts projekts

LatNe vari palīdzēt būvēt arī tu.

Te nav jāgaida, līdz valoda būs gatava. Noder kods, testēšana, dokumentācija, terminoloģijas argumenti, piemēri un labi formulētas idejas.

Īpaši vērtīgi ir priekšlikumi, kas saglabā LatNe latvisku, dabisku un tehniski konsekventu.

Ceļš līdz pirmajai izpildei

No `.lat` faila līdz programmai.

Gatavie posmi ir dzīvi. Dzintara posms rāda pašreizējo izstrādes darbu, bet pelēkie posmi vēl ir priekšā.

01 .lat avota kods
→
02 Leksiskie elementi leksiskais analizators
→
03 AST pamats sintaktiskie analizatori darbojas
→
04 Kvalitāte NĀKAMAIS
→
05 AST v1 stabils kontrakts
→
06 Koda ģenerēšana JavaScript
→
07 CLI latne palaist
Izpildes secība

Kas ir nākamais.

Pelēkie posmi ir publiski ieplānoti, bet netiek pasniegti kā gatavas LatNe iespējas. Aktīvs kļūst tikai tas, kas reāli darbojas.

N1 NĀKAMAIS

Kvalitātes sliedes

Node.js izpildvides kontrakts, tīra atkarību instalācija, GitHub Actions CI un pirmā regresijas paraugu sistēma.

Fāze 0A
N2 PĒC TAM

Klases ķermeņa AST

Lauki, pieejamības modifikatori, konstruktors, parametri un īpašību iegūšana.

Valodas nākamā robeža
N3 PLĀNOTS

AST v1

Stabils mezglu, pirmkoda diapazona un sintaktiskā analizatora/koda ģenerēšanas robežas kontrakts pirms nopietnas koda ģenerēšanas.

ADR 0007
N4 PLĀNOTS

LatNe API minimums

Pirmais semantiskais API slānis, kur operācijas tiek sasaistītas ar tipu un nozīmi, nevis pārsauktas tekstā.

Fāze 1A
N5 ATSKAITES PUNKTS

Pirmā `.lat` izpilde

Semantiskās transformācijas, JavaScript koda ģenerēšana un pirmā programma, kas iziet visu LatNe apstrādes ķēdi.

Fāze 1B
N6 VĒLĀK

Pilnāka izstrādes vide

Diagnostika, pirmkoda kartes, redaktoru rīki, mācību pieredze un tikai pēc tam plašāks LatNe web slānis.

Fāzes 2–5
Topošais API slānis

Latviskums nebeidzas pie atslēgvārdiem.

Pirmajā paraugā jau pamanījām nākamo robežu: JavaScript standarta API nosaukumus. LatNe tos negrib vienkārši mehāniski pārsaukt.

Mērķis ir semantisks API slānis, kur tulkojums ir saistīts ar konkrētu tipu vai operāciju.

PLĀNOTS
Šobrīd paraugā
lietotāji.push(lietotājs)

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

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

Ne tikai pārtulkots kods.

LatNe tiek projektēta kā patstāvīga sistēma ar savu terminoloģiju, arhitektūru un attīstības vēsturi.

01

Latvian-first

Latviešu valoda ir programmēšanas pieredzes sākumpunkts, nevis dokumentācijas papildinājums.

02

Neatkarīga sistēma

Ārēji rīki drīkst būt tehniski būvbloki, bet tie nenosaka LatNe identitāti vai publisko arhitektūru.

03

Dokumentēta evolūcija

Lēmumi, kļūdas un atklājumi tiek saglabāti, lai redzams būtu ne tikai rezultāts, bet arī ceļš līdz tam.

Ceļa karte

Progress pa fāzēm.

Skaitļi tiek ģenerēti tieši no `ROADMAP.md`. Procents ir pašreiz definētā plāna progress, nevis absolūta produkta gatavība.

Fāze 0 Identitāte un projekta pamats
70% 7/10
Fāze 0A Reproducējama vide un kvalitātes sliedes
0% 0/10
Fāze 1 Valodas kodols līdz AST v1
36% 8/22
Fāze 1A LatNe iebūvētā API minimums
0% 0/17
Fāze 1B Pirmā izpildāmā LatNe
0% 0/23
Fāze 2 Diagnostika un izstrādātāja pieredze
0% 0/17
Fāze 3 Dokumentācija un mācīšanās ceļš
0% 0/11
Fāze 4 Education MVP
0% 0/10
Fāze 5 Web un plašāka izstrādes vide
0% 0/10
LatNe aug publiski

Pievienojies, kamēr viss vēl top.

Seko attīstībai, piedalies lēmumos, atzīmē projektu GitHub vai palīdz tam turpināt augt ar finansiālu atbalstu.

Ja LatNe šķiet interesants, GitHub zvaigzne ir vienkāršs veids, kā sekot projektam un palīdzēt tam kļūt pamanāmākam.