KRET LANGUAGE ACADEMY · DOKUMENTACJA ZE ŹRÓDEŁ
Powtarzalne rozstrzyganie
Czego się nauczysz
- Prześledź źródła i wyjaśnij opisany kontrakt.
- Prześledź dwie biblioteki vendor w KretMultiLanguage i odpowiadające im wpisy lock.
Wymagania wstępne
- Ukończ Podstawy i wcześniejszy poziom tej ścieżki.
Wyjaśnienie krok po kroku
Powtarzalny build wymaga tych samych zależności i skrótów. Nie zastępuj brakującej biblioteki dowolnym plikiem o tej samej nazwie. Oddziel wersję projektu od wersji każdej zależności.
Materiały źródłowe do tego tematu
Przeczytaj powiązane rozdziały. Kod i kontrakty zachowano z importu; historia źródeł jest dostępna przy każdym rozdziale.
KretLib — API / CLI
KretLib — API / CLI
Polski
| API / polecenie | Opis |
|---|---|
kret lib resolve <projekt> [--update] | rozstrzygnięcie wersji |
kret lib install | restore | list <projekt> | instalacja do Libs/, stan |
kret lib pack <katalog biblioteki> [-o plik.klibpkg] | paczka biblioteki |
KretLib — specyfikacja (zakres kontraktu 1.0)
KretLib — specyfikacja (zakres kontraktu 1.0)
Status 1.0: `FROZEN_SUPPORTED_SUBSET` — zamrożony dokładnie opisany zakres; reszta poza kontraktem 1.0. Gramatyka/wersja: klib "1.0" · klibs "1.0". Status języka nie nadaje uprawnień KCS ani prawa do działania w Production.Źródła normatywne (kopie w Sources/, kolejność pierwszeństwa: decyzje właściciela → zamrożony kontrakt → kod SDK → testy):
LANGUAGE_FREEZE_1_0/12_LANGUAGE_COMPATIBILITY_MATRIX.md- SDK
06_Libraries/KretLib/README.md
Elementy języka
| Element | Stan w KretLib |
|---|---|
| Pliki | library.klib (klib "1.0", library nazwa { id version publisher description export require }), project.klibs (klibs "1.0", policy, source, require), project.klibs.lock (JSON). |
| Komentarze | //. |
Zakres poza kontraktem / ograniczenia
- biblioteki z KretBridge/KretDB/UI (biblioteki zawierają tylko moduły KretS)
- równoległe wersje tej samej biblioteki (NOT_SUPPORTED)
- zakładanie autentyczności wydawcy (brak podpisów)
- Zamrożony zakres: offline + blokada + skróty. Rejestr testowany tylko z serwerem testowym (rzeczywisty: NOT_RUN).
- Ograniczenie tej rundy (EXP-F02):
kretui-host --self-testnie dołącza bibliotek (KCS-KRS-1003).
Pełna referencja konstrukcji: SYNTAX_REFERENCE.md.
KretLib — samouczek INTERMEDIATE
KretLib — samouczek INTERMEDIATE
Status 1.0: `FROZEN_SUPPORTED_SUBSET` — zamrożony dokładnie opisany zakres; reszta poza kontraktem 1.0. Gramatyka/wersja: klib "1.0" · klibs "1.0". Status języka nie nadaje uprawnień KCS ani prawa do działania w Production.Cel: moduły, łączenie funkcji, dane, konfiguracja, komunikacja, obsługa błędów, interfejsy SDK.
Narzędzia: kret = <SDK>\Compiler\kret.exe (SDK 1.0.0-rc.3+kret.local.3), kretui-host = <SDK>\UiHost\kretui-host.exe. {DATA}/{OUT} = nowe, puste katalogi.
Brak przykładów na tym poziomie dla tej technologii (zgodnie z zakresem implementacji).
Ćwiczenie i sprawdzenie wiedzy
Prześledź dwie biblioteki vendor w KretMultiLanguage i odpowiadające im wpisy lock.
Szkic nie jest wysyłany na serwer i znika po opuszczeniu lekcji. Przed wyjściem możesz go skopiować.Podpowiedzi
- KretLib zarządza bibliotekami KretS: manifest biblioteki (`library.klib`), wymagania projektu (`project.klibs`), rozstrzyganie wersji, plik blokady ze skrótami SHA-256, instalacja offline do `Libs/` i opcjonalny rejestr HTTPS. Zamrożony zakres: biblioteki offline z blokadą i skrótami. Biblioteka **nie deklaruje uprawnień**.
- Odczytaj ograniczenia i oczekiwane błędy z dostarczonego samouczka; check i run są oddzielnymi krokami.
Omówienie rozwiązania
Odpowiedź oprzyj na pokazanym kodzie i rozdziale źródłowym. Powtarzalny build wymaga tych samych zależności i skrótów. Nie zastępuj brakującej biblioteki dowolnym plikiem o tej samej nazwie. Oddziel wersję projektu od wersji każdej zależności.
Podsumowanie i następny krok
Powtarzalny build wymaga tych samych zależności i skrótów. Nie zastępuj brakującej biblioteki dowolnym plikiem o tej samej nazwie. Oddziel wersję projektu od wersji każdej zależności.
Zaloguj się na konto użytkownika, aby zapisywać postęp i zakładki. Konta obsługi mogą czytać bez zapisu postępu. Logowanie →