Przejdź do treści

KRET LANGUAGE ACADEMY · DOKUMENTACJA ZE ŹRÓDEŁ

KretS — wprowadzenie

KretS — wprowadzenie

Status 1.0: `FROZEN_SUPPORTED_SUBSET` — zamrożony dokładnie opisany zakres; reszta poza kontraktem 1.0. Gramatyka/wersja: krets-2.0. Status języka nie nadaje uprawnień KCS ani prawa do działania w Production.

Czym jest

KretS (oficjalnie KretScript, generacja 2.0) to statycznie typowany język logiki pluginów. Kompiluje się do bytecode KBC 2 i działa w maszynie z weryfikatorem w osobnym procesie pluginu. Operacje hosta (dziennik, KretDB, konfiguracja, AI, mosty) są dostępne tylko przez brokera i tylko przy uprawnieniu z KretL.

Dla początkujących

KretS to „mózg” pluginu: funkcje, zmienne, warunki, pętle, listy i mapy. Program to zbiór modułów (jeden plik = jeden moduł). Host wywołuje funkcje wskazane w manifeście (np. Main.Start). Kompilator pilnuje typów — nie dodasz liczby do tekstu bez jawnej konwersji.

Dla zaawansowanych programistów

Typowanie statyczne z wnioskowaniem, nullable T?, generyki z ograniczeniami, klasy z pojedynczym dziedziczeniem i interfejsami, wirtualne wywołania, zdarzenia i komendy (on), zadania async/await (współbieżne, jeden wątek, wykrywanie zakleszczeń), strumienie z kontrolą przepływu. Drzewo związane (Bound) jest IR i modelem semantycznym LSP. Kompilacja deterministyczna, mapa źródeł o ścieżkach względnych. Błędy wykonania KCS-VM-* z śladem wywołań; limity zasobów i anulowanie przez hosta nie są przechwytywalne.

Jakie problemy rozwiązuje

Bezpieczna, przewidywalna logika pluginów: weryfikowany bytecode, brak konwersji niejawnych, jawne uprawnienia do każdej operacji hosta, limity instrukcji/pamięci/czasu.

Kiedy używać

  • logika pluginu i obsługa komend/zdarzeń hosta
  • przetwarzanie danych (rekordy, listy, mapy)
  • automatyzacja krokowa (także jako cel KretFlow)
  • narzędzia agentów KretAI
  • testy kret test (EXPERIMENTAL)

Kiedy nie używać

  • kod natywny / dostęp do plików i sieci — KretS nie ma takich API (KretBridge jest PROVISIONAL i zablokowany w Core)
  • równoległe obliczenia wielowątkowe (zadania są współbieżne na jednym wątku)
  • kod KretScript 1.0 (.kret) — nie jest przepisywany automatycznie

Współpraca z innymi technologiami

KretL (handlery, uprawnienia), KretDB (use Kret.DB as db), KretConfig (use Kret.Config as config), KretAI (use Kret.Ai as ai, narzędzia), KretUI (komendy on …), KretFlow (cel obniżania), KretM (reguły zależności modułów), KretLib (moduły bibliotek), KretBridge (use Kret.Bridge.<usługa>), Kret.Hardware (moduł hosta PROVISIONAL, G-06).

Obecny status

FROZEN_SUPPORTED_SUBSET — zamrożony dokładnie opisany zakres; reszta poza kontraktem 1.0.

Dalej: ARCHITECTURE.md · SYNTAX_REFERENCE.md · ../Tutorials/BASIC/TUTORIAL_PL.md

Źródło i wersja

Zweryfikowany import PUBLIC_CANDIDATE. Identyfikatory źródeł odnoszą się do eksportu i nie dają dostępu do plików serwera.

01_LANGUAGES/KretS/Documentation/INTRODUCTION_PL.md
SHA-256 7FDBF67B90EB88B4F4974DC2489D8E5A4B1AFA1E05AFBC6B66F5FCF4A5D21547

Zaloguj się na konto użytkownika, aby zapisywać postęp i zakładki. Konta obsługi mogą czytać bez zapisu postępu. Logowanie →

Wybierz, co możemy zapamiętać w tej przeglądarce. Możesz zmienić decyzję w każdej chwili.

Polityka prywatności