KRET LANGUAGE ACADEMY · DOKUMENTACJA ZE ŹRÓDEŁ
KretS — specyfikacja (zakres kontraktu 1.0)
KretS — specyfikacja (zakres kontraktu 1.0)
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.Źródła normatywne (kopie w Sources/, kolejność pierwszeństwa: decyzje właściciela → zamrożony kontrakt → kod SDK → testy):
LANGUAGE_FREEZE_1_0/03_KRETS_SPECIFICATION.md- SDK
04_Languages/KretS/SPEC.md - SDK
03_Runtime/README.md - SDK
10_SDK/KRET_TEST.md
Elementy języka
| Element | Stan w KretS |
|---|---|
| Struktura pliku | module Nazwa w pierwszym wierszu, potem use, const, record, class, interface, event, handlery on, funkcje fn. |
| Rozszerzenie | .krs (KretScript 1.0 miał .kret — legacy). |
| Komentarze | // …, /* … */. |
| Typy danych | Bool Int32 Int64 Float64 Decimal String Bytes UUID Instant Duration Percentage Temperature Unit, List<T>, Map<K,V>, T?, Result<T,E>, Task<T>, Stream<T>, Any, rekordy, klasy, interfejsy; aliasy Int, Float, Timestamp. |
| Zmienne | let (stała), var (zmienna), typ wnioskowany albo jawny let x: Int = 1. |
| Stałe modułu | const NAZWA: Typ = literał [2.0] — tylko literał. |
| Instrukcje | przypisanie, if/else if/else, for … in, for await … in, while, break, continue, return, try/catch, throw, emit, subscribe/unsubscribe … with, blok, wywołanie. Jedna instrukcja w wierszu (kilka: ;). |
| Operatory | || && == != < <= > >= + - * / % ! - (unarny), await, as, is; &&/|| skracają obliczenie. |
| Funkcje | fn nazwa(p: T) -> R { … }, async fn, generyczne fn f<T: Ograniczenie>(…); nazwy unikalne (brak przeciążania). |
| Moduły i import | jeden plik = jeden moduł; Moduł.funkcja; use Kret.DB as db, use Kret.Config as config, use Kret.Ai as ai, use Kret.Bridge.<usługa> as x; log bez use. |
| Obsługa błędów | try { } catch e { } (e: String) przechwytuje throw, błędy wykonania, odmowy KCS-PERM-…, timeout, anulowanie zadania. Nieprzechwytywalne: limity zasobów, anulowanie przez hosta. |
| Asynchroniczność | async fn, await, Task<T> (cancel, isCancelled), timeout(d, task), delay(d), Stream<T> (stream(n), send, close, for await). Współbieżność na jednym wątku. |
Zakres poza kontraktem / ograniczenia
- 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 - Kontrakt:
krets-2.0, KBC 2 (format 1 nadal czytany). - KretScript 1.0 (
.kret) — LEGACY_COMPATIBILITY, bez automatycznej migracji; usuniętestructi moduły API 1.0 (Kret.UI,Kret.Console). - Zmiana znaczenia konstrukcji 2.0 wymaga
krets-3.0. - SDK
sdk-infonadal raportujesyntax: PROVISIONALdla KretS — rozbieżność z LANGUAGE_FREEZE (zapisana w raporcie). - Kandydat rc.3+kret.local.3 dodaje
fromUnixSecondsi modułKret.Hardware(addytywnie).
Pełna referencja konstrukcji: SYNTAX_REFERENCE.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/LANGUAGE_SPECIFICATION.md
SHA-256 150BC2E8862A76D52484CBA01EA3CC9DC673D830CC2F63B7410EA1C16D5E0962Zaloguj się na konto użytkownika, aby zapisywać postęp i zakładki. Konta obsługi mogą czytać bez zapisu postępu. Logowanie →