De eerste openbare release 0.1.0 van de cross-platform interactieve opdrachtregel en interpreter van een functionele taal in de stijl van F# is gebeurd. Endo.
Het project is gemaakt door de auteur en hoofduitvoerder van de terminal emulator. Contour in de programmeertaal C++ (C++23 standaard) en wordt verspreid onder de Apache 2.0-licentie.
In deze editie:
- Taal
- bindingen, die standaard onveranderlijk zijn bij gebruik van let, en veranderlijk bij gebruik van let mut;
- type-inferentie (Hindley-Milner) — types worden gecontroleerd, maar hoeven zelden expliciet te worden opgegeven;
- patroonmatching met voorwaarden, destructurering en ‘of’-patronen;
- gediscrimineerde unies, records en ingebouwde types Option/Result;
- currying, partiële toepassing en functiecompositie (>>, <<);
- lambda-expressies met plaatsaanduidingssyntaxis (_ + 1, _.field);
- lijstconstructies met bereiken en filters;
- ‘lazy’ berekeningen en reeksen;
- optimalisatie van staartrecursie;
- modules en import.
- Ontwikkeltools
- Language Server Protocol — een volledig functionele LSP-server ($ endo —lsp) met diagnostiek, autocompletering, hints bij hover, navigatie naar definitie, linkzoektochten, hernoeming, formatting, semantische tokens, acties op code, ingebouwde hints, Code Lens en nog veel meer;
- Debug Adapter Protocol — een volledig functionele DAP-server ($ endo —dap) met ondersteuning voor breakpoints, stap-voor-stap uitvoering, variabele inspectie, expressie evaluatie en disassemblage;
- extensie voor VS Code — syntaxis highlighting, integratie met LSP/DAP, code snippets en debugging zonder extra configuratie.
- Shell
- uitvoering van opdrachten, compatibel met Bash: omleiding, patronen, && / ||, taakbeheer;
- gestructureerde ingebouwde opdrachten — ls, ps, jobs, git log, git status, docker ps — geven getypeerde records met gegevens terug;
- dubbele pijpen: |> voor functiecompositie, | voor processen;
- variabelen/commando's/processen substitutie, accolades en tildes uitvouwen;
- meer dan 110 ingebouwde opdrachten en functies van de taal;
- uitvoering van .endo-scripts met module-resolutie.
- AI-agentmodus
- ingebouwde ‘AI’-hulp, geactiveerd met het symbool # in een leeg invoerveld;
- ondersteunde online aanbieders: Claude, OpenAI, OpenAI-compatibele (Ollama, vLLM, LM Studio) en Gemini;
- ondersteuning voor lokale modellen in het GGUF-formaat van het project llama.cpp;
- 18 ingebouwde tools voor bestandsbeheer, git, het uitvoeren van opdrachten en toegang tot webbronnen;
- streaming antwoorden in Markdown-indeling.
Bron: linux.org.ru
