Skip to content
Beskid Platform specification

Beskid

Jump to a Beskid service

Beskid

Jump to a Beskid service

Design model

Spec standingStandard

Owner
Piotr Mikstacki
Submitter
Piotr Mikstacki

Some corelib modules are thin Beskid facades over runtime builtins and OS syscalls (syscall_read, syscall_write in beskid_runtime). Higher-level console and ANSI behavior lives in corelib_console (compiler/corelib/packages/console), not monolithic IO.bd.

flowchart TB
  App[User code]
  Corelib[System.* / corelib_console]
  Codegen[beskid_codegen calls]
  RT[beskid_runtime builtins]
  OS[Host syscalls]
  App --> Corelib --> Codegen --> RT --> OS
LayerExamples
Beskid surfaceSystem.Input, System.Output, System.Error under packages/runtime/src/System/
Console packageANSI and terminal helpers in packages/console
Runtime modulealloc, fiber, channel, gc, panic_io in beskid_runtime/src/builtins/mod.rs
ABI catalogbeskid_abi/src/builtins.rs pins symbol names and signatures for AOT/JIT

Runtime-backed surfaces must keep ABI version alignment (beskid_runtime_abi_version, BESKID_RUNTIME_ABI_VERSION in AOT requests). Breaking builtin shapes requires coordinated bumps across:

  • beskid_abi specs
  • beskid_runtime implementations
  • corelib Beskid declarations and docs under compiler/corelib/beskid_corelib/docs/

Language semantics (fiber scheduling, GC barriers) remain in language-meta and execution domains; this feature documents which corelib entry points are native.

Trudoc-compatible prose lives beside Beskid sources in compiler/corelib/. Public site mirrors may appear under site/website/src/legacy-bridge/corelib/System/ for browsing.

  • Streams: compiler/corelib/packages/runtime/src/System/
  • Console: compiler/corelib/packages/console/
  • Runtime: compiler/crates/beskid_runtime/src/builtins/
  • ABI: compiler/crates/beskid_abi/src/builtins.rs
  • Tests: compiler/crates/beskid_tests/src/abi/contracts.rs