Back to directory

Silk

An unreleased, alpha-stage low-level systems programming language built around explicit memory and execution control, typed failures and deterministic cleanup, with a self-hosted stage-0 compiler that emits native code and WebAssembly through LLVM.

Silk

Silk is an unreleased systems language centered on explicit memory and execution control, typed failures, replaceable service requirements, deterministic cleanup and tooling-friendly semantics. The repository is a strict TypeScript, ESM-only monorepo holding the stage-0 compiler, runtime-facing libraries, editor tooling and language test programs, and currently compiles one source program through a lossless frontend, module and type analysis, a high-level intermediate representation, ownership and cleanup planning, specialization and a mid-level intermediate representation, emitting native executables and WebAssembly modules through LLVM.

The implemented bootstrap language covers modules and visibility, scalar types, structs, fixed arrays, runtime slices, structural unions with exhaustive matching, generics, first-class callables, mutation, structured loops, recursion, affine ownership with shared and exclusive borrowing, deterministic drop, explicit allocation, and typed effect computations with explicit, source-defined service requirements such as logging and file-system access. Documentation covers getting started, a language reference, and the ownership, effects and fiber models at the core of the design, and the project describes itself as alpha software whose APIs may change freely.

More in Languages

See all 48
  • QBasic Web Editor

    vahidyousefzadeh.com

    A browser-based QBasic 1.1 editor and interpreter that runs classic QBasic programs with DOSBox-accurate behavior, including text-mode graphics commands such as PRINT, COLOR and LOCATE, with sample programs and keyboard shortcuts to run and save.

  • A Brainfuck-inspired esoteric programming language adding absolute memory navigation, multiplier arithmetic, non-destructive inspection and inline conditionals, with its own interpreter.

  • C3 Playground

    play.c3-lang.org

    An in-browser playground that compiles and runs the C3 programming language entirely in WebAssembly, with no backend server, alongside its standard library and documentation.