KRET LANGUAGE ACADEMY · DOKUMENTACJA ZE ŹRÓDEŁ
KretL — wprowadzenie
KretL — wprowadzenie
Status 1.0: `FROZEN_1_0` — pełny zakres 1.0, stabilny kontrakt, testy zgodności. Gramatyka/wersja: kretl-1.0. Status języka nie nadaje uprawnień KCS ani prawa do działania w Production.Czym jest
KretL opisuje plugin: tożsamość, zgodność z Core i API, uprawnienia (deklaracje), cykl życia, tryb wykonania, limity, izolację, obszary danych, zależności i komendy hosta. Nie zawiera logiki. Jedyny manifest bieżącej generacji to plugin.kretl w katalogu głównym projektu.
Dla początkujących
Wyobraź sobie KretL jako „dowód osobisty” i „umowę” pluginu. Mówi, kim plugin jest (id, nazwa, wersja), z którą wersją Kret Engine współpracuje, o co prosi (uprawnienia) i którą funkcję KretS wywołać przy starcie i zatrzymaniu. Sam niczego nie wykonuje i niczego nie przyznaje — prośba o uprawnienie to tylko deklaracja.
Dla zaawansowanych programistów
Gramatyka węzłów (Name value* { node* }) jest niezależna od znaczenia pól; znaczenie nadaje walidator sterowany schematem sekcji (Kret.Link.ManifestSections) w trybie ścisłym. Kompilator zapisuje znormalizowany Build/manifest.json (kretl-manifest/1), który broker czyta ściśle i waliduje ponownie. Kontrole krzyżowe łączą manifest z kodem: handlery cyklu życia muszą istnieć w KretS (bez parametrów), a każda operacja hosta użyta w kodzie musi mieć zadeklarowane uprawnienie. Zamrożenie jest chronione sumami SHA-256 parsera i specyfikacji (kretl-1.0.contract.json) i korpusem 23 przypadków.
Jakie problemy rozwiązuje
Jedno, ścisłe miejsce opisu pluginu dla SDK, KretStudio, KPM i Core; wczesne wykrywanie błędów (nieznane pole, nieznane uprawnienie, brak handlera); jawne granice uprawnień przed uruchomieniem kodu.
Kiedy używać
- każdy plugin bieżącej generacji (obowiązkowo)
- deklarowanie uprawnień wymaganych i opcjonalnych
- deklarowanie komend i zdarzeń hosta (
handlers) - deklarowanie limitów, profilu i preferowanej izolacji
- deklarowanie zależności między pluginami
Kiedy nie używać
- zapisywanie logiki (KretL jej nie ma — użyj KretS)
- ustawienia użytkownika (użyj KretConfig)
- próba „nadania” uprawnień — deklaracja niczego nie przyznaje
- stare manifesty
KretL/Main.kret(generacja 0.4.x, tylko import przezkret import-legacy)
Współpraca z innymi technologiami
KretS (handlery cyklu życia i komend), KretDB (uprawnienia kretdb.*, obszar runtimeData.database), KretM (project { map }), KretPublish/KPM (identyfikator, wersja, uprawnienia w planie instalacji), Core (walidacja SDK + reguły układu hosta).
Obecny status
FROZEN_1_0 — pełny zakres 1.0, stabilny kontrakt, testy zgodności.
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/KretL/Documentation/INTRODUCTION_PL.md
SHA-256 99FD237FEF1362E512F45CC2050E7222E342FE079B25536AE0F4908DD325C73BZaloguj się na konto użytkownika, aby zapisywać postęp i zakładki. Konta obsługi mogą czytać bez zapisu postępu. Logowanie →