Endo 0.1.0

Endo 0.1.0 Endo 0.1.0 Endo 0.1.0

The first public release of 0.1.0 of the cross-platform interactive command shell and interpreter for the F#-style functional language has taken place. Endo.

The project was created by the author and main developer of the terminal emulator Contour in C++ (C++23 standard) and distributed under the Apache 2.0 license.

In this issue:

  • Language
    • bindings that are immutable by default when using let, and mutable when using let mut;
    • type inference (Hindley-Milner) - types are checked, but they rarely have to be specified explicitly;
    • conditional pattern matching, destructuring, and “or” patterns;
    • discriminated unions, records, and built-in Option/Result types;
    • curried functions, partial application and function composition (>>, <<);
    • lambda expressions with placeholder syntax (_ + 1, _.field);
    • list constructions with ranges and filters;
    • lazy evaluations and sequences;
    • tail recursion optimization;
    • modules and imports.
  • Development tools
    • Language Server Protocol — a full-featured LSP server ($ endo -lsp) with diagnostics, autocompletion, hover hints, go to definition, reference search, renaming, formatting, semantic tokens, code actions, inline hints, Code Lens, and much more;
    • Debug Adapter Protocol is a full-featured DAP server ($ endo --dap) with support for breakpoints, single-step execution, variable viewing, expression evaluation, and disassembly;
    • VS Code extension - syntax highlighting, LSP/DAP integration, code snippets, and debugging out of the box.
  • shell
    • Bash-compatible command execution: redirection, wildcards, &&/||, task management;
    • structured built-in commands - ls, ps, jobs, git log, git status, docker ps - return typed records with data;
    • dual pipelines: |> for function composition, | for processes;
    • variable/command/process substitution, brace and tilde expansion;
    • more than 110 built-in commands and language functions;
    • Executing .endo scripts with module resolution.
  • AI agent mode
    • built-in "AI" help, launched with a symbol # in an empty input field;
    • Supported online providers: Claude, OpenAI, OpenAI-compatible (Ollama, vLLM, LM Studio) and Gemini;
    • support for local models in the GGUF project format call.cpp;
    • 18 built-in tools for working with files, git, running commands and accessing web resources;
    • Streaming responses in Markdown format.

Source: linux.org.ru

Buy reliable hosting for sites with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster