Den første offentlige version 0.1.0 af den tværplatforme interaktive kommandolinje og fortolker for det funktionelle sprog i stil med F# er blevet udgivet. Endo.
Projektet er skabt af forfatteren og hovedudvikleren af terminalemulatoren. Contour på C++ (standard C++23) og distribueres under Apache 2.0 licensen.
I denne udgave:
- Sprog
- bindinger, som som standard er uforanderlige ved brug af let, og ændringsbare ved brug af let mut;
- typeoutput (Hindley-Milner) — typerne tjekkes, men de skal sjældent angives eksplicit;
- mønster matchning med betingelser, destrukturering og 'eller' mønstre;
- diskriminerede unioner, poster og indbyggede typer Option/Result;
- kurrede funktioner, delvis anvendelse og funktionskomposition (>>, <<);
- lambda-udtryk med pladsbesparende syntaks (_ + 1, _.field);
- listekonstruktioner med intervaller og filtre;
- «doven» evaluering og sekvenser;
- optimering af hale rekursion;
- moduler og import.
- Udviklingsværktøjer
- Language Server Protocol — en fuld funktionel LSP-server ($ endo —lsp) med diagnostik, autoudfyldning, værktøjer ved museover, navigation til definitioner, søgning af referencer, omdøbning, formatering, semantiske tokens, kodehandlinger, indbyggede hints, Code Lens og meget mere;
- Debug Adapter Protocol — en fuld funktionel DAP-server ($ endo —dap) med støtte til breakpoints, trinvis udførelse, visning af variable, beregning af udtryk og disassembly;
- udvidelse til VS Code — syntaksfremhævning, integration med LSP/DAP, kodefragmenter og debugging uden yderligere konfiguration.
- Skal
- udførelse af kommandoer, der er kompatible med Bash: omdirigering, mønstre, && / ||, opgavestyring;
- strukturerede indbyggede kommandoer — ls, ps, jobs, git log, git status, docker ps — returnerer typede poster med data;
- dobbelt rør: |> til funktionskomposition, | til processer;
- variabel/kommando/proces substitution, udrulning af krøllede parenteser og tildes;
- over 110 indbyggede kommandoer og funktioner i sproget;
- udførelse af .endo scripts med moduloplysninger.
- «AI»-agent tilstand
- indbygget «AI»-hjælp, aktiveret med symbolet # i et tomt indtastningsfelt;
- understøttede online-udbydere: Claude, OpenAI, OpenAI-kompatible (Ollama, vLLM, LM Studio) og Gemini;
- understøttelse af lokale modeller i GGUF-formatet for projektet llama.cpp;
- 18 indbyggede værktøjer til filhåndtering, git, udførelse af kommandoer og adgang til webressourcer;
- streaming af svar i Markdown-format.
Kilde: linux.org.ru
