{"id":168204,"date":"2026-04-09T17:12:55","date_gmt":"2026-04-09T15:12:56","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/endo-0-1-0"},"modified":"2026-04-09T17:12:55","modified_gmt":"2026-04-09T15:12:56","slug":"endo-0-1-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/news\/endo-0-1-0","title":{"rendered":"Endo 0.1.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><a rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/images\/23222\/original.png\">           <img decoding=\"async\" alt=\"Endo 0.1.0\" src=\"\/wp-content\/uploads\/2026\/04\/eb00b22068aaeef24ecf360b0fe691ca.jpg\" style=\"display:block;margin: 0 auto;\" \/>         <\/a>                <a rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/images\/23223\/original.png\">           <img decoding=\"async\" alt=\"Endo 0.1.0\" src=\"\/wp-content\/uploads\/2026\/04\/abaf8bcc7b038f01767a1205395e0ca9.jpg\" style=\"display:block;margin: 0 auto;\" \/>         <\/a>                <a rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/images\/23225\/original.png\">           <img decoding=\"async\" alt=\"Endo 0.1.0\" src=\"\/wp-content\/uploads\/2026\/04\/7102bb55011bc1892348877dbd1b8ac9.jpg\" style=\"display:block;margin: 0 auto;\" \/>         <\/a>                                              <noindex>          <a rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/images\/23222\/original.png\" class=\"active\"><\/a><\/noindex>                                                      <a rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/images\/23223\/original.png\"><\/a>                                             <a rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/images\/23225\/original.png\"><\/a>                                     <noindex><\/p>\n<p>The first public release of version 0.1.0 of a cross-platform interactive command shell and functional language interpreter in the style of F# has occurred. <a rel=\"nofollow\" href=\"https:\/\/endo-lang.org\">Endo<\/a>.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p>The project was created by the author and main developer of the terminal emulator. <a rel=\"nofollow\" href=\"https:\/\/contour-terminal.org\">Contour<\/a> in C++ (C++23 standard) and is distributed under the Apache 2.0 license.<\/p>\n<p><\/noindex>  <\/p>\n<p>In this release:<\/p>\n<ul>\n<li><strong>Language<\/strong>\n<ul>\n<li>bindings, which are immutable by default when using let and mutable when using let mut;<\/li>\n<li>type inference (<a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Hindley-Milner_type_system\">Hindley-Milner<\/a>) \u2014 types are checked but rarely need to be specified explicitly;<\/li>\n<li>pattern matching with conditions, destructuring, and \"or\" patterns;<\/li>\n<li>discriminated unions, records, and built-in Option\/Result types;<\/li>\n<li>currying functions, partial application, and function composition (&gt;&gt;,. &lt;&lt;);<\/li>\n<li>lambda expressions with placeholder syntax (_ + 1, _.field);<\/li>\n<li>list constructions with ranges and filters;<\/li>\n<li>\"Lazy\" computations and sequences;<\/li>\n<li>tail recursion optimization;<\/li>\n<li>modules and imports.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Development tools<\/strong>\n<ul>\n<li>Language Server Protocol \u2014 a fully functional LSP server ($ endo \u2014lsp) with diagnostics, auto-completion, hover hints, go to definition, link searching, renaming, formatting, semantic tokens, code actions, built-in hints, Code Lens, and much more;<\/li>\n<li>Debug Adapter Protocol \u2014 a fully functional DAP server ($ endo \u2014dap) supporting breakpoints, step execution, variable inspection, expression evaluation, and disassembly;<\/li>\n<li>VS Code extension \u2014 syntax highlighting, LSP\/DAP integration, code snippets, and debugging without additional setup.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Shell<\/strong>\n<ul>\n<li>Command execution compatible with Bash: redirection, patterns, &amp;&amp;\/||, task management;<\/li>\n<li>structured built-in commands \u2014 ls, ps, jobs, git log, git status, docker ps \u2014 return typed records with data;<\/li>\n<li>double pipelines: |&gt;: for function composition, | for processes;<\/li>\n<li>variable\/command\/process substitution, brace expansion, and tilde expansion;<\/li>\n<li>more than 110 built-in commands and functions of the language;<\/li>\n<li>execution of .endo scripts with module resolution.<\/li>\n<\/ul>\n<\/li>\n<li><strong>AI-Agent Mode<\/strong>\n<ul>\n<li>built-in AI assistance activated by a symbol <strong>#<\/strong> in an empty input field;<\/li>\n<li>supported online providers: Claude, OpenAI, OpenAI-compatible (Ollama, vLLM, LM Studio) and Gemini;<\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/endo-lang.org\/agent\/local-llm\/#curated-models\">support for local models<\/a> in the GGUF format of the project <a rel=\"nofollow\" href=\"https:\/\/github.com\/ggml-org\/llama.cpp\">llama.cpp<\/a>;<\/li>\n<li>18 built-in tools for working with files, git, executing commands, and accessing web resources;<\/li>\n<li>streaming responses in Markdown format.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Source: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/news\/opensource\/18262118\">linux.org.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u043f\u0435\u0440\u0432\u044b\u0439 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a 0.1.0 \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0438 \u0438 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u0432 \u0441\u0442\u0438\u043b\u0435 F# Endo. \u041f\u0440\u043e\u0435\u043a\u0442 \u0441\u043e\u0437\u0434\u0430\u043d \u0430\u0432\u0442\u043e\u0440\u043e\u043c \u0438 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u043c \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430 Contour \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 C++ (\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 C++23) \u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438 Apache 2.0. \u0412 \u044d\u0442\u043e\u043c \u0432\u044b\u043f\u0443\u0441\u043a\u0435: \u042f\u0437\u044b\u043a \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u043d\u0438\u044f, \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u044f\u0432\u043b\u044f\u044e\u0449\u0438\u0435\u0441\u044f \u043d\u0435\u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u043c\u0438 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 let, \u0438 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u0435 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 let mut; [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":8,"featured_media":168205,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-168204","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Erik Peterson\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/news\/endo-0-1-0\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Endo 0.1.0 | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/news\/endo-0-1-0\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-04-09T15:12:56+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-04-09T15:12:56+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Endo 0.1.0 | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/endo-0-1-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Endo 0.1.0 | ProHoster","og:url":"https:\/\/prohoster.info\/en\/blog\/news\/endo-0-1-0","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2026-04-09T15:12:56+00:00","article:modified_time":"2026-04-09T15:12:56+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/168204","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=168204"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/168204\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media\/168205"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=168204"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=168204"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=168204"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}