Potekla je prva javna verzija 0.1.0 multiplatformskog interaktivnog komandnog okruženja i interpretatora funkcionalnog jezika u F# stilu Endo.
Projekat je stvorio autor i glavni razvijač emulatora terminala Contour na jeziku C++ (C++23 standard) i distribuira se pod Apache 2.0 licencom.
U ovom izdanju:
- Jezik
- veza, podrazumevano nepromenljivi kada se koristi let, a promenljivi kada se koristi let mut;
- izvedeni tipovi (Hindley-Milner) — tipovi se proveravaju, ali ih retko treba jasno navesti;
- poređenje obrazaca sa uslovima, destrukturiranje i obrasci „ili“;
- diskriminisane unije, zapisi i ugrađeni tipovi Option/Result;
- funkcije-kari, delimična primena i kompozicija funkcija (>>, <<);
- lambda izrazi sa sintaksom zamenskih znakova (_ + 1, _.field);
- listovne konstrukcije sa opsegom i filtrima;
- „lenjivo“ izračunavanje i sekvence;
- optimizacija rekurzije;
- moduli i uvoz.
- Razvojni alati
- Protokol jezicki server — funkcionalni LSP server ($ endo —lsp) sa dijagnostikom, automatskim dovršavanjem, savjetima prilikom kretanja mišem, prelazom na definiciju, pretraživanjem referenci, preimenovanjem, formatiranjem, semantičkim tokenima, radnjama sa kodom, ugrađenim savjetima, Code Lens i mnogo više;
- Protokol za debug adapter — funkcionalni DAP server ($ endo —dap) sa podrškom za tačke prekida, korak po korak izvršavanje, pregled varijabli, izračunavanje izraza i dezintegraciju;
- proširenje za VS Code — isticanje sintakse, integracija sa LSP/DAP, delovi koda i debagovanje bez dodatnog podešavanja.
- Okruženje
- izvršavanje komandi kompatibilno sa Bash-om: preusmeravanje, obrasci, &&/||, upravljanje zadacima;
- strukturirane ugrađene komande — ls, ps, jobs, git log, git status, docker ps — vraćaju tipizovane zapise sa podacima;
- dvostruki cevovodi: |> za kompoziciju funkcija, | za procese;
- metanjenje varijabli/komandi/procesa, proširenje vitičastih zagrada i tilde;
- više od 110 ugrađenih komandi i funkcija jezika;
- izvršenje skripti .endo sa dozvolom modula.
- Mod AI agenta
- ugrađena AI pomoć, pokreće se simbolom # u praznom polju za unos;
- podržani online provajderi: Claude, OpenAI, OpenAI-kompatibilni (Ollama, vLLM, LM Studio) i Gemini;
- podrška za lokalne modele u GGUF formatu projekta llama.cpp;
- 18 vgrajenih orodij za delo z datotekami, git, izvajanje ukazov in dostop do spletnih virov;
- pretakanje odgovorov v formatu Markdown.
Izvor: linux.org.ru
