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 7FDBF67B90EB88B4F4974DC2489D8E5A4B1AFA1E05AFBC6B66F5FCF4A5D21547Zaloguj się na konto użytkownika, aby zapisywać postęp i zakładki. Konta obsługi mogą czytać bez zapisu postępu. Logowanie →