Proběhl první veřejný release 0.1.0 multiplatformního interaktivního shellu a interpretu funkčního jazyka ve stylu F# Endo.
Projekt byl vytvořen autorem a hlavním vývojářem terminálového emulátoru Contour v jazyce C++ (standard C++23) a je šířen pod licencí Apache 2.0.
V tomto vydání:
- Jazyk
- svazky, které jsou ve výchozím nastavení neměnné při použití let a měnitelné při použití let mut;
- výstup typů (Hindley-Milner) — typy jsou kontrolovány, ale zřídka je nutné je uvádět výslovně;
- shodování vzorů s podmínkami, destrukturalizace a vzory pro "nebo";
- diskriminované unie, záznamy a vestavěné typy Option/Result;
- funkce s curry, částečné použití a skládání funkcí (>>, <<);
- lambda výrazy se syntaxí zástupců (_ + 1, _.field);
- seznamové konstrukce s rozsahy a filtry;
- "lenivé" výpočty a sekvence;
- optimalizace koncové rekurze;
- moduly a import.
- Nástroje pro vývojáře
- Language Server Protocol — plně funkční server LSP ($ endo —lsp) s diagnostikou, automatickým doplňováním, nápovědou při najetí kurzoru, přechodem k definici, hledáním odkazů, přejmenováním, formátováním, sémantickými tokeny, akcemi na kódu, vestavěnou nápovědou, Code Lens a mnoha dalšími;
- Debug Adapter Protocol — plně funkční server DAP ($ endo —dap) s podporou breakpointů, krokového provádění, prohlížení proměnných, výpočtu výrazů a disassemblace;
- rozšíření pro VS Code — zvýraznění syntaxe, integrace s LSP/DAP, kódové fragmenty a ladění bez dodatečné konfigurace.
- Shell
- provádění příkazů kompatibilních s Bash: přesměrování, vzory, &&/||, správa úloh;
- strukturální vestavěné příkazy — ls, ps, jobs, git log, git status, docker ps — vracejí typizované záznamy s daty;
- dvojité kanály: |> pro skládání funkcí, | pro procesy;
- vložení proměnných/příkazů/procesů, rozšíření složených závorek a tildy;
- více než 110 vestavěných příkazů a funkcí jazyka;
- provádění skriptů .endo s povolením modulů.
- Mód "AI" agenta
- vestavěná pomoc "AI", spuštěná pomocí symbolu # v prázdném vstupním poli;
- podporovaní online poskytovatelé: Claude, OpenAI, kompatibilní OpenAI (Ollama, vLLM, LM Studio) a Gemini;
- podpora místních modelů ve formátu GGUF projektu llama.cpp;
- 18 vestavěných nástrojů pro práci se soubory, git, provádění příkazů a přístup k webovým zdrojům;
- streamování odpovědí ve formátu Markdown.
Zdroj: linux.org.ru
