Przejdź do treści

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

ElementStan w KretS
Struktura plikumodule 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 danychBool 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.
Zmiennelet (stała), var (zmienna), typ wnioskowany albo jawny let x: Int = 1.
Stałe modułuconst NAZWA: Typ = literał [2.0] — tylko literał.
Instrukcjeprzypisanie, 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.
Funkcjefn nazwa(p: T) -> R { … }, async fn, generyczne fn f<T: Ograniczenie>(…); nazwy unikalne (brak przeciążania).
Moduły i importjeden 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ówtry { } 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ęte struct i moduły API 1.0 (Kret.UI, Kret.Console).
  • Zmiana znaczenia konstrukcji 2.0 wymaga krets-3.0.
  • SDK sdk-info nadal raportuje syntax: PROVISIONAL dla KretS — rozbieżność z LANGUAGE_FREEZE (zapisana w raporcie).
  • Kandydat rc.3+kret.local.3 dodaje fromUnixSeconds i 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 150BC2E8862A76D52484CBA01EA3CC9DC673D830CC2F63B7410EA1C16D5E0962

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