Endo 0.1.0

Endo 0.1.0 Endo 0.1.0 Endo 0.1.0

Miał miejsce pierwszy publiczny wydanie 0.1.0 wieloplatformowej interaktywnej powłoki i interpretatora funkcjonalnego języka w stylu F# Endo.

Projekt został stworzony przez autora i głównego dewelopera emulatora terminala Contour w języku C++ (standard C++23) i jest rozpowszechniany na licencji Apache 2.0.

W tym wydaniu:

  • Język
    • wiązania, które domyślnie są niemutowalne przy użyciu let, a mutowalne przy użyciu let mut;
    • wypis typów (Hindley-Milner) — typy są sprawdzane, ale rzadko trzeba je podawać w sposób jawny;
    • dopasowanie wzorców z warunkami, destrukturyzacja i wzorce „lub”;
    • wielomiany dyskryminacyjne, rekordu i wbudowane typy Option/Result;
    • funkcje karri, częściowe zastosowanie i kompozycja funkcji (>>, <<);
    • wyrażenia lambda z składnią zastępnika (_ + 1, _.field);
    • konstrukcje list z zakresami i filtrami;
    • „leniwe” obliczenia i sekwencje;
    • optymalizacja rekurencji ogonowej;
    • moduły i import.
  • Narzędzia deweloperskie
    • Protokół serwera języka - pełnofunkcjonalny serwer LSP ($ endo —lsp) z diagnostyką, autouzupełnianiem, podpowiedziami przy najechaniu kursorem, przejściem do definicji, wyszukiwaniem odniesień, zmianą nazwy, formatowaniem, semantycznymi tokenami, działaniami na kodzie, wbudowanymi podpowiedziami, Code Lens i wieloma innymi;
    • Protokół Debug Adapter - pełnofunkcjonalny serwer DAP ($ endo —dap) z obsługą punktów przerwania, krokowego wykonania, przeglądania zmiennych, obliczania wyrażeń i dezasembliacji;
    • rozszerzenie dla VS Code - podświetlanie składni, integracja z LSP/DAP, fragmenty kodu i debugowanie bez dodatkowej konfiguracji.
  • Powłoka
    • wykonywanie poleceń zgodnych z Bash: przekierowanie, wzorce, &&/||, zarządzanie zadaniami;
    • strukturalne wbudowane polecenia — ls, ps, jobs, git log, git status, docker ps — zwracają typowane rekordy z danymi;
    • podwójne potoki: |> do kompozycji funkcji, | do procesów;
    • substytucja zmiennych/poleceń/procesów, rozwijanie nawiasów klamrowych i tildy;
    • ponad 110 wbudowanych poleceń i funkcji języka;
    • wykonywanie skryptów .endo z rozwiązaniem modułów.
  • Tryb „AI”-agenta
    • wbudowana pomoc „AI”, uruchamiana za pomocą symbolu # w pustym polu wejściowym;
    • obsługiwani dostawcy online: Claude, OpenAI, zgodni z OpenAI (Ollama, vLLM, LM Studio) i Gemini;
    • wsparcie dla lokalnych modeli w formacie GGUF projektu llama.cpp;
    • 18 wbudowanych narzędzi do pracy z plikami, git, wykonywania poleceń i dostępu do zasobów internetowych;
    • strumieniowe przesyłanie odpowiedzi w formacie Markdown.

Źródło: linux.org.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster