A avut loc prima lansare publică 0.1.0 a shell-ului interactiv multiplatformă și a interpreterului pentru un limbaj funcțional în stil F# Endo.
Proiectul a fost creat de autorul și principalul dezvoltator al emulatorului de terminal Contour în limbajul C++ (standard C++23) și este distribuit sub licența Apache 2.0.
In this release:
- Language
- asocieri, care, în mod implicit, sunt imutabile atunci când se utilizează let, și mutabile când se utilizează let mut;
- informația despre tipuri (Hindley-Milner) — tipurile sunt verificate, dar rareori trebuie specificate în mod explicit;
- potrivirea de modele cu condiții, destructurarea și modelele „sau”;
- uniri discriminate, structuri și tipuri încorporate Option/Result;
- funcții curry, aplicare parțială și compunerea funcțiilor (>>, <<);
- expresii lambda cu sintaxă de locuri rezervate (_ + 1, _.field);
- structuri de liste cu intervale și filtre;
- calculări „leneșe” și secvențe;
- optimizarea recursiei terminale;
- module și importuri.
- Instrumente de dezvoltare
- Proiectul Language Server Protocol — un server LSP complet ($ endo —lsp) cu diagnosticare, completare automată, sugestii la trecerea cursorului, navigare la definiții, căutare de referințe, redenumire, formatare, tokenuri semantice, acțiuni asupra codului, sugestii încorporate, Code Lens și multe altele;
- Proiectul Debug Adapter Protocol — un server DAP complet ($ endo —dap) cu suport pentru puncte de oprire, execuție pas cu pas, vizualizarea variabilelor, calcularea expresiilor și dezassemblare;
- extensie pentru VS Code — evidențierea sintaxei, integrarea cu LSP/DAP, fragmente de cod și depanare fără configurări suplimentare.
- Shell
- executarea comenzilor, compatibilă cu Bash: redirecționare, șabloane, && / ||, gestionarea sarcinilor;
- comenzi încorporate structurate — ls, ps, jobs, git log, git status, docker ps — returnează înregistrări tipizate cu date;
- double pipelines: |> pentru compunerea funcțiilor, | pentru procese;
- substituirea variabilelor/comenzilor/proceselor, desfășurarea acoladelor și tildei;
- peste 110 comenzi și funcții încorporate ale limbajului;
- executarea scripturilor .endo cu permisiunea modulelor.
- Modul agent „AI”
- asistență „AI” încorporată, activată cu simbolul # în câmpul de introducere gol;
- furnizori online suportați: Claude, OpenAI, compatibili OpenAI (Ollama, vLLM, LM Studio) și Gemini;
- suport pentru modele locale în formatul GGUF al proiectului llama.cpp;
- 18 instrumente integrate pentru gestionarea fișierelor, git, execuția comenzilor și accesul la resurse web;
- transmiterea fluxului de răspunsuri în format Markdown.
Sursa: linux.org.ru
