Przejdź do treści

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 przez kret 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 99FD237FEF1362E512F45CC2050E7222E342FE079B25536AE0F4908DD325C73B

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